Monday, November 08, 2010 at 12:02 AM.
system.verbs.builtins.bookmarksMenu.addNode
local (adrmenu = bookmarksMenu.init ()); local (adr = table.getCursorAddress ()); local (logic, title); bundle { // if the nodeType defines a getBookmarkLogic script, use that local (adrNodeType); if Frontier.tools.nodeTypes.findNodeType (adradrtable: @adrNodeType) { if defined (adrNodeType^.getBookmarkLogic) { adrNodeType^.getBookmarkLogic (@logic, @title); return (bookmarksMenu.addBookmark (@logic, @title))}}}; bundle { // if there's a builtin script for the nodeType at builtinNodeTypes.nodeTypes.[type], use that local (type); if op.attributes.getOne ("type", @type) { if defined (bookmarksMenu.builtinNodeTypes.nodeTypes.[type]) { bookmarksMenu.builtinNodeTypes.nodeTypes.[type] (@logic, @title); return (bookmarksMenu.addBookmark (@logic, @title))}}}; bundle { // if the node has a URL attribute, bookmark the URL local (url); if op.attributes.getOne ("url", @url) { logic = "bookmarksMenu.openUrl (\"" + url + "\", \"<<title>>\")"; title = op.getlinetext (); return (bookmarksMenu.addBookmark (@logic, @title))}}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.