Big Cat ‘Build a Glossary Entry from Selection’

August 16th, 2004  |  Published in Uncategorized

Part of the job involves making sure that every article I run includes links to Webopedia definitions for each technical term the author uses.

Using BigCat, I’ve written a script that borrows from the basic “search for selection in Google” and expands it to include “search for selection in Webopedia, allow the user to accept the resulting URL, and add a pre-formatted entry to the glossary and the clipboard.”

Next up is adding a simple looping script to add the code for definitions automatically when a word I’ve already looked up and glossarized is in a given document.

I’m posting these things here, by the way, less because I imagine there’s someone else out there who has the same job as me, uses the same software as me and deals with the same problems as me, and more because, well, you never know who will find what useful. And I’m definitely benefitting from other people’s scripting knowledge as I put these together. Seems the best way to give back.

Open this script in a new Script Editor window.


on main(s)

    – Webopedia’s sort of a pain: no transparent search URL, but it does seem to be smart about redirecting "/foo.html" to the appropriate entry, so we’ll bank on that:

    set baseurl to "http://networking.webopedia.com/" & s & ".html"

    open location baseurl

    

    –If jimmying the search works, offer a chance to add it to the glossary. On cancel, the script will die.

    display dialog "Add this to the BBEdit Glossary?"

    

    – On ok, make OmniWeb give us its frontmost URL (which we just opened with the "open location baseurl" command

    tell application "OmniWeb"

        set theFrontmostWindowID to item 1 of (ListWindows)

        set theFrontmostWindowInfo to (GetWindowInfo theFrontmostWindowID)

        set myURL to item 1 of theFrontmostWindowInfo

    end tell

    

    – make the URL into a properly formatted parenthetical "define" URL

    set the clipboard to " (<a href=’" & myURL & "’>define</a>) " as string

    

    – open up BBEdit

    tell application "BBEdit"

        activate

        –point glossFolder at the Glossary/Webopedia folder

        set glossFolder to "Macintosh HD:Applications:BBEdit 7.1:BBEdit Support:Glossary:Webopedia:"

        –set the name of the new document to the selection used to search

        make new text document with properties {name:s}

        – file reference thingummer because AppleScript doesn’t seem to like to address teh file directly

        set myfile to a reference to file (glossFolder & s)

        – paste the newly created URL into the new document

        paste

        –save the newly created glossary file

        save front document to myfile

        close front document

    end tell

end main

Comments are closed.

© Michael Hall, licensed under a Creative Commons Attribution-ShareAlike 3.0 United States license.