outlines of visited web pages

Started by jimspoon on 4/27/2015
jimspoon 4/27/2015 12:58 am
I'm pretty well hooked on Tabs Outliner for Chrome - http://bit.ly/1GmHsvQ

I used it to keep my browsing sessions in sort of chronological order, but I periodically rearrange the nodes by topic (within a certain time frame).

The problem is, rearranging is by drag and drop only, no reordering by keystrokes. Plus, of course, it's not integrated with the outlines I make in other programs.

I've tried to find a way to get my Tabs Outliner outlines into other programs, and haven't hit on a very good solution yet.

I can drag and drop a Tabs Outliner outline or suboutline into MS Word, or a Google Doc, and it appears with proper indentations, but the problem is, but it is not something that the Word Outlining tools can work with.

I've tried dragging and dropping the (sub)outlines into Infoqube and Ecco - but the levels and clickable links are not preserved. Tabs Outliner outlines can also be saved to HTML files, and I've tried importing them into Infoqube, no luck.

So, what I'm wondering is -

(1) any ideas on how to get a tabs outliner outline into another single-pane outliner?
(2) are you aware of any other program or extension through which I could export a chrome browsing session (all windows and tabs) into another outliner where it could be manipulated more easily?


jimspoon 4/27/2015 12:59 am
sorry for the duplicate post. there's no way to delete the duplicate is there? perhaps Chris can come along and remove the duplicate eh?
Pierre Paul Landry 4/28/2015 1:08 pm
jimspoon wrote:
I'm pretty well hooked on Tabs Outliner for Chrome -
(...)
I've tried dragging and dropping the (sub)outlines into Infoqube and
Ecco - but the levels and clickable links are not preserved. Tabs
Outliner outlines can also be saved to HTML files, and I've tried
importing them into Infoqube, no luck.

Hi Jim,

Let me look at this...
You will be able to drag-drop such an outline in an IQ grid. Same for an item's HTML pane.
I should be able to include this in the next interim release.

Pierre
IQ Designer
http://www.infoqube.biz

jimspoon 4/29/2015 6:18 am
That would be great Pierre!
Pierre Paul Landry 5/12/2015 6:39 pm
Pierre Paul Landry wrote:
jimspoon wrote:
>I'm pretty well hooked on Tabs Outliner for Chrome -
(...)
>I've tried dragging and dropping the (sub)outlines into Infoqube and
>Ecco - but the levels and clickable links are not preserved. Tabs
>Outliner outlines can also be saved to HTML files, and I've tried
>importing them into Infoqube, no luck.

Hi Jim,

Let me look at this...
You will be able to drag-drop such an outline in an IQ grid. Same for an
item's HTML pane.
I should be able to include this in the next interim release.

Pierre


In the next version (0.9.26PreRel51), you can drag-drop from Tabs Outliner to an IQ grid to create a list of hyperlinks. You can also drag-drop to the HTML pane or an item.

HTH !

Pierre
IQ Designer
http://www.infoqube.biz

Marbux 5/13/2015 10:29 am
(1) any ideas on how to get a tabs outliner outline into another single-pane outliner?

I use tabs outliner and love it. But I had missed that you can now do an export.

(2) are you aware of any other program or extension through which I could export a chrome browsing session (all windows and tabs) into another outliner where it could be manipulated more easily?

I use the Copy All URLs chrome extension written by Vincent Paré for the purpose, along with a couple of scripts I've written for NoteCase Pro. That extension has an settings to copy the URLs (or hyperlinks using the page's title tag content as the label) from all open Chrome Windows. But a script to modify its output was necessary because for some reason I can't fathom, Copy All URLs writes the raw HTML content it generates to the TXT clipboard rather than the HTML clipboard. So it was necessary to get the content into the right clipboard for pasting to a rich text editor.

That approach does not get you the hierarchy, but it would be fairly trivial for me to write another one that would grab each link's label and create a node using the label as the node title, then inserting the link as the node's content. That would get you one node per link, setting the stage to quickly move nodes into the hierarchy you want. Let me know if that interests you enough for me to write the code.

The second script below allows for tweaking the number of line breaks betwen links.

--[[

NoteCase Pro script

See http://www.notecasepro.com/


SCRIPT NAME: Modify 'Copy All URLs' Output

v. 1.0.1


PURPOSE: The Modify 'Copy All URLs' Output script modifies the content written to the .txt clipboard by the Chromium/Google Chrome extension, Copy All URLs. https://chrome.google.com/webstore/detail/copy-all-urls/djdmadneanknadilpjiknlnanaolmbfk (make sure you get the version written by Vincent Paré; there is another Chrome extension with the same name that is incompatible with this script).

That extension writes all URLs for the current browser session (with or without named links) to the operating environment's .txt clipboard resulting in an incompatibility with NC Pro because the program expects HTML to be written to the HTML clipboard. Without the actions of this script, raw HTML markup would be displayed in the Note Pane and there would be no hyperlink.

This script makes the necessary modifications and also separates each link with a blank line for improved clarity. To remove the blank lines, if desired, use the Replace Line Breaks in Selection script found under Editing Menu > Note Pane Actions.


USAGE INSTRUCTIONS: Use Copy All URLs to write URLs or links for all open browser tabs to the clipboard (links option recommended, which uses each web page's TITLE tags' content as the link label), run this script, and then paste to NoteCase Pro's Note Pane. The script also writes the same altered content to the .txt clipboard, so you can still paste raw HTML to any program if desired using Shft+Ctrl+V or the "paste as plain text" feature.

Notice that with Copy All URLs, you can either copy URLs/links for all open tabs or copy URLs/links for only selected tabs by holding down the Control key whilst clicking on tabs, the latter being very handy when you have pages open relevant to different topics but wish to copy URLs/Links for only a subset.


RIGHTS: This script's author, Paul E. Merrell, hereby waives all copyright and related or neighboring rights to this script, pursuant to the Creative Commons CC0 Universal relinquishment of rights found at http://creativecommons.org/publicdomain/zero/1.0/


CHANGE LOG:

v. 1.0.1

* Adjusted size of InfoBox Window.

--]]

-- gets clipboard's content
strSourceClip = Nc_Env_Clipboard_Get()
assert(strSourceClip ~= "", "ERROR: Clipboard is empty.")

-- clears the .txt and .html clipboards
Nc_Env_Clipboard_Set("", 1)
Nc_Env_Clipboard_Set("", 0)

-- converts XHTML line breaks to HTML and adds an extra line break between each link
strModifiedClip = string.gsub(strSourceClip, "", "")
strModifiedClip = string.gsub(strModifiedClip, "", "")
strModifiedClip = string.gsub(strModifiedClip, "", "\n")

-- writes modified string to .html and .txt clipboards
Nc_Env_Clipboard_Set(strModifiedClip, 1, strModifiedClip)

-- tells the user what happened
nDisplayWidth, nDisplayHeight = Nc_Env_DisplaySize_Get(0)
nDlgWidth = .25 * nDisplayWidth
nDlgHeight = .25 * nDisplayHeight
Nc_GUI_InfoBox("You can now paste the converted content to the Note Pane using Ctrl+V. Or to paste raw HTML, use Shft+Ctrl+V.", 1, "Info", nDlgWidth, nDlgHeight)



--[[

NoteCase Pro script

See http://www.notecasepro.com/


SCRIPT NAME: Replace Line Breaks in Selection

v. 1.0.0


PURPOSE: The Replace Line Breaks in Selection script throws a menu enabling the user to choose between replacing each line break in selected text with two line breaks or replacing each pair of line breaks with a single line break.


RIGHTS: This script's author, Paul E. Merrell, hereby waives all copyright and related or neighboring rights to this script, pursuant to the Creative Commons CC0 Universal relinquishment of rights found at http://creativecommons.org/publicdomain/zero/1.0/

--]]

--loads functions

function Get_Selected_Note_Content(nDocID, strNoteID, nIsHtml)

-- get character offsets for selected text - must be global
nSelFrom, nSelTo = Nc_Note_SelectionRange_Get(nDocID, strNoteID)
assert(nSelFrom ~= nSelTo, [[
ERROR: Text must be selected
in the Note Pane when using
this script. Aborting execution.]])

-- get user's selected content in scripter's desired format
strContent = Nc_Note_Content_Get(nDocID, strNoteID, nIsHtml, nSelFrom, nSelTo)

return strContent

end -- function GetSelected

function Replace_Selected_Note_Content(nDocID, strNoteID, strContent, nIsHtml)

-- make sure nSelFrom is nSelTo then nSelFrom, nSelTo = nSelTo, nSelFrom end

-- replace the selected content in the note
Nc_Note_Content_Set(nDocID, strNoteID, strContent, nIsHtml, nSelFrom, nSelTo)

-- get the character count of the new string
local nCount = Nc_String_CharacterCount_Get(strContent)

-- calculate new cursor offset
local nCursorPos = nSelFrom + nCount

-- remove selection highlighting and set the cursor position immediately after the inserted new string
Nc_Note_SelectionRange_Set(nDocID, strNoteID, nCursorPos, nCursorPos)

return

end -- function

-- script begins

-- gets this script's document and note IDs
local nScriptDocID = Nc_Script_DocID_Get()
local strScriptNoteID = Nc_Script_NoteID_Get()

-- gets ID for current document
local nDocID = Nc_Doc_ID_GetCur()

-- sets dimensions for InfoBoxes
local nDisplayWidth, nDisplayHeight = Nc_Env_DisplaySize_Get(0)
local nDlgWidth = .25 * nDisplayWidth
local nDlgHeight = .15 * nDisplayHeight

-- gets current Note ID
local strNoteID = Nc_Note_ID_GetCur(nDocID)
if strNoteID == "" then
Nc_GUI_InfoBox("ERROR: A note must be selected before executing this action. The action will terminate without making any changes.", 1, "ERROR", nDlgWidth, nDlgHeight)
return
end

-- get user's choice
local nChoice = Nc_GUI_SelectionDlg("Replace Line Breaks", "Replace each line break with 2", "Replace double line breaks with 1")
if nChoice == -1 then return end -- user canceled abort

-- gets selection
local s = Get_Selected_Note_Content(nDocID, strNoteID, 1)

-- do substitutions
if nChoice == 0 then
s=utf8ex.gsub(s, "", "\n")
elseif nChoice == 1 then
s=utf8ex.gsub(s, "\n", "")
end -- if nChoice

--replaces selected note content
Replace_Selected_Note_Content(nDocID, strNoteID, s, 1)



Marbux 5/13/2015 10:35 am
I see that the forum software doesn't like greater than and less than signs. You can email me at marbux pine gmail maple com if you want the scripts (subtract the trees).
jimspoon 5/14/2015 9:59 am
Pierre, thanks very much for this new feature. I have tried it out and it works very well.

Marbux, thanks - I will check out the Copy All URLs extension and the Notecase Pro scripts.

jim
Pierre Paul Landry 5/14/2015 1:33 pm
jimspoon wrote:
Pierre, thanks very much for this new feature. I have tried it out and it works very well.

Great !
For now, drag-drop generates a flat list of hyperlinks, it seemed to make more sense than preserving the hierarchy.
(I don't use Tabs Outliner myself and do not see the usefulness of the hierarchy of web pages...)

Pierre
Marbux 5/15/2015 4:28 am


Pierre Paul Landry wrote:
(I don't use Tabs Outliner myself and do not see the usefulness of the
hierarchy of web pages...)

For many of us, the normal state in Chrome is to have many tabs open, relating to different topics. E.g., I'm working on researching a topic, but an email or a phone call diverts me to doing something else in the browser. The oldest solution to that problem that I recall was the Firefox "group bookmarks" feature, that allowed you to save bookmarks for all open tabs as children of a folder bookmark that the user supplied the title for. Then the bookmarks not relevant to that topic could be weeded from the group bookmark. Then on to the next topic.

It was crude but it was an advance. Chrome has no equivalent of the Firefox bookmarks column. Its bookmarks manager is a full web page. Think of Tabs Outliner as a substitute for the Firefox group bookmarks, although it rides atop the page display it is located, like Firefox Bookmarks, on the left side of the screen. One can drag bookmarks into hierarchies, creating topical dividers akin to Firefox bookmark folders by creating "notes." Bookmarks can then be dragged into the desired topical hierarchies. Then after saving the session in Tabs Outliner and closing all tabs in the browser, one can later return to the hierarchies to open only the desired bookmark hierarchy and add bookmarks to them (or subtract from them).

There are many other bells and whistles, but I believe that's the basic importance of the hierarchies in Tabs Outliner. They are a means of classification and organization, as in other outliners.