LXHD68 urlStarthttp://www.outliners.com/H4066 prefsX4kgVZ4=  !6 B 4= author Dave Winer authorEmaildave@userland.com descriptionPA simple tool that allows you to browse "related to" links in any Radio outline. homePageUrl/http://radio.outliners.com/googleOutlineBrowsernamegoogleOutlineBrowser releaseDateversion1.0kArial 2.'?LANDwinop.collapse () j Arial ɏ)WhSLANDwinif op.countsubs (1) > 0 op.expand (1) else local (olddisplay = op.getdisplay ()) op.setdisplay (false) op.deleteSubs () local (atts) new (tabletype, @atts) op.attributes.getall (@atts) local (flread = true) if defined (atts.searchresult) if typeof (atts.searchresult) == tabletype flread = false if flread local (url = atts.url) local (lt = string.lower (op.getlinetext ())) if lt beginswith "http://" url = lt atts.searchresult = google.search ("related:" + url) op.attributes.addgroup (@atts) local (adrelement, dir = right, elementatts, title) new (tabletype, @elementatts) elementatts.type = "googleNode" for adrelement in @atts.searchresult.resultElements title = adrelement^.title if title == "" title = adrelement^.url op.insert (title, dir); dir = down elementatts.url = adrelement^.url op.attributes.addgroup (@elementatts) op.go (left, 1) op.setdisplay (true) bundle //old stuff op.deleteSubs () local (atts); op.attributes.getAll (@atts) bundle //ask if we should subscribe to this outline, if we're not already local (adrdata = radio.outliner.init ()) local (adrsub = @adrdata^.subscriptions.[atts.url]) if not defined (adrsub^) local (flSubscribe = false) local (adrwin = window.frontmost ()) if adrwin == @adrdata^.buddies local (oldDisplay = op.getDisplay ()) op.setDisplay (false) if not op.go (left, 1) flSubscribe = true else op.go (right, 1) op.setDisplay (oldDisplay) if not flSubscribe if dialog.confirm ("You are not currently subscribed to " + op.getLineText () + "'s outline. Subscribe now?") flSubscribe = true if flSubscribe radio.outliner.subscribeUrl (atts.url, flOpenBuddies:true) else return Frontier.tools.data.nodeTypes.link.expand () bundle //get cloud info local (adrcloud) if radio.outliner.getCloudInfoFromCache (atts.url, @adrcloud) local (adrdata = radio.outliner.init ()) adrdata^.subscriptions.[atts.url].cloudInfo = adrcloud^ bundle //high-level cache code -- not in use local (adrdata = radio.outliner.init ()) local (adrsub = @adrdata^.subscriptions.[atts.url]) if atts.bold radio.outliner.initSubscription (adrsub) radio.outliner.read (atts.url, @adrsub^.outline) op.insertOutline (@adrsub^.outline, right) if atts.bold local (lt = op.getlinetext ()) lt = string.replace (lt, "", "") lt = string.replace (lt, "", "") op.setlinetext (lt) atts.bold = false op.attributes.addgroup (@atts) op.setdisplay (olddisplay)  j]Arial J ht googleOutlineBrowserDatagoogleOutlineBrowserInfogoogleOutlineBrowserNodeTypesgoogleOutlineBrowserSuite3VArial E[$n!0rx4Arial MS Sans Serif 7yTimes New Roman /Arial >Arial MS Sans Serif