L X H D 68 urlStart http://www.outliners.com/ H 4 0 66
prefs X 4 k g V Z4= ! 6 B 4= author
Dave WinerauthorEmail dave@userland.comdescription PA simple tool that allows you to browse "related to" links in any Radio outline.homePageUrl /http://radio.outliners.com/googleOutlineBrowsername googleOutlineBrowserreleaseDateversion 1.0 k Arial
2. '?LAND win op.collapse ()
j
Arial
ɏ ) WhSLAND win if 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