Create task from URL or Website text

  • Rather than copy/paste manually I want some shortcut/tool/bookmarklet/etc. that allows me to create a task from the currently visited website and slot it into a read later project.
  • Also clipping away some website’s marked text and create a task off of it would be great.

How do people get those two things done? Is there a script, plugin?

You may want to take a look at txtio.net (site) for the 1st, and PopClip (app) for the 2nd.

2 Likes

I’m not at my Mac right now, but couldn’t at least the latter and part of the former be achieved from the Services menu? Or even, if my fingers remember correctly, via a keyboard shortcut that can be defined in the Omnifocus preferences?

Have you got the omnifocus clip-o-tron installed? I have a short cut set to ⌃⌥⌘/ and select text and clip away. It has been excellent for researching websites by clipping text and preserving the link to the page. If you just want the URL ⌘L to select the URL then ⌃⌥⌘/ to clip it. This copies and pastes the selected text into the notes field and the title field [but it is selected and you can easily change it to something brief] and creates a link in the notes field.
It’s a really efficient way to web research.

1 Like

clip o tron sounds like what I need. A quick google search just shows it in relation to mail? I’d need it to be used with/from Google Chrome?

Yes that’s correct it’s for clipping mail which is not needed I don’t think in High Sierra anymore however it also works to clip selected text and it works the same in Chrome.

I’ve settled on popclip, it’s really good to have a task inboxed quickly including for example the URL of that website including a marked snipped.

As long as you have some text selected, you could do the same from the sub-menu Services in the menu with the same name as the application, though. At least in Safari. And in System preferences you could assign a keyboard shortcut to the command.

1 Like

true that, the popclip variant is quite the same, adds the URL directly though, plus a timestamp. In the end both are good I guess. atm I like the fact that I get the URL as is (not in tags missing the protocol if copied plaintext), and timestamp with no futher action required as all this is/was about is pure speed of throwing stuff at my gtd system for later filing into proper contexts/projects. And this in Chrome, which I was after.

Good to hear. I mentioned it partly for others who might be interested.

I use Hammerspoon for automating a lot of things on my Mac, including filing things from different applications into OmniFocus. With my setup I can press Ctrl-Shift-Alt-t (you can configure the key) on Chrome, Chrome-based SSBs created using Epichrome, Outlook, Mail, or Evernote, and have that item filed to OmniFocus.

I have been meaning to write a blog post about it but haven’t gotten around to it. In the meantime, feel free to check out the corresponding section of my Hammerspoon config. I do have a couple of introductory articles for getting started with Hammerspoon: http://zzamboni.org/post/getting-started-with-hammerspoon/ and http://zzamboni.org/post/using-spoons-in-hammerspoon/

1 Like

Hi @fuxhase, on top of the above suggestions: there’s an OmniFocus Bookmarklet - I guess it’s been developed for mobile use, but I have it in my laptop browsers’ bookmark bars for clipping websites that need action.

Just tried the bookmarklet in Chrome… didn’t work i.e. I couldn’t edit the second line with the javascript as there was no js in there

You can try this script.

-- unlocked2412
-- This script creates an OF Task from Google Chrome's active tab.
-- Tab title becomes task name and tab URL becomes task note.

property pName : "Read Later"

on run
	tell application "Google Chrome"
		tell window 1
			set apply to |λ|(pName) of my curry(createOFTask)
			my map(apply, {{title, URL} of active tab})
		end tell
	end tell
end run

on createOFTask(strProject, xy)
	set {strName, strNote} to xy
	tell application "OmniFocus"
		set oDoc to front document
		tell oDoc
			make new task with properties {name:strName, note:strNote} at end of tasks of flattened project strProject
		end tell
	end tell
end createOFTask

-- GENERIC FUNCTIONS ---------------------------------------------------------

-- curry :: (Script|Handler) -> Script
on curry(f)
	script
		on |λ|(a)
			script
				on |λ|(b)
					|λ|(a, b) of mReturn(f)
				end |λ|
			end script
		end |λ|
	end script
end curry

-- map :: (a -> b) -> [a] -> [b]
on map(f, xs)
	tell mReturn(f)
		set lng to length of xs
		set lst to {}
		repeat with i from 1 to lng
			set end of lst to |λ|(item i of xs, i, xs)
		end repeat
		return lst
	end tell
end map

-- Lift 2nd class handler function into 1st class script wrapper 
-- mReturn :: Handler -> Script
on mReturn(f)
	if class of f is script then
		f
	else
		script
			property |λ| : f
		end script
	end if
end mReturn
1 Like

There is a javascript for this.

In Safari (as an example)
Make sure the favorites bar is visible
Go to this page: http://people.omnigroup.com/kc/OmniFocus/SendToOmniFocusBookmarklet.html
Drag the blue words “Send to OmniFocus” to your browser’s bookmark bar

Rename it if you like
As of Safari 11 you will also need to turn on the Develop Menu (Preferences>Advanced), then on the Develop Menu, check Allow Javascript and Allow Remote Automation.

Then when you use the button, you will first be asked to confirm the action. The button is a javascript to send the site to the quick inbox.

2 Likes

Bless your heart frederickn!!!
All of a sudden my chrome extension stopped working the other day, and I’ve been distraught. This solved it even though I’m using a later version of OmniFocus (2.12.2)