Org Web Capture v0.3.3
1 Org Web Capture Extension
═══════════════════════════
This is an extension for Firefox (tm) which adds a “Capture” button,
sending the site address, title, and selected text (if any) to emacs
via org-protocol.
In case it’s a meetup.com event page it will perform an additional API
call to meetup.com and get the event details.
2 Detailed setup instructions
═════════════════════════════
2.1 Install the extension
─────────────────────────
Install from <https://addons.mozilla.org> website under the name [Org
Web Capture].
[Org Web Capture]
<https://addons.mozilla.org/en-US/firefox/addon/org-web-capture/>
2.2 Set up org-protocol
───────────────────────
The gist of it is to make your system recognize emacsclient as the
handler of `org-protocol://' links. In addition, one needs to set up
emacs to load org-protocol and to set up capture templates.
2.2.1 Register emacsclient as the ```org-protocol``` handler
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
◊ 2.2.1.1 Under Linux (non-KDE)
┌────
│ mkdir -p "${HOME}/.local/share/applications/"
│ cat > "${HOME}/.local/share/applications/org-protocol.desktop" << EOF
│ [Desktop Entry]
│ Name=org-protocol
│ Exec=emacsclient %u
│ Type=Application
│ Terminal=false
│ Categories=System;
│ MimeType=x-scheme-handler/org-protocol;
│ EOF
└────
And then
┌────
│ update-desktop-database ~/.local/share/applications/
└────
2.2.2 Configure Emacs
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
◊ 2.2.2.1 Init file
┌────
│ (server-start)
│ (require 'org-protocol)
└────
◊ 2.2.2.2 Capture templates
┌────
│ ("l" "Web site" entry (file+headline (lambda () (concat org-directory "/webnotes.org")) "Inbox")
│ "* %a\nCaptured On: %U\nWebsite: %l\n\n%i\n%?")
│
│ ("m" "meetup" entry (file "~/nextcloud/caldav.org") "* %?%:description \n%i\n%l")
└────
◊ 2.2.2.3 Org-roam `roam-ref' templates
`Org-roam' has special capture templates, and thus they are to be
configured differently. Read more org-roam [roam-ref protocol].
┌────
│ (setq org-roam-capture-ref-templates '(("l" "web" plain "%i\n%?"
│ :target (file+head "%<%Y%m%d>-${slug}.org"
│ "#+title: ${title}")
│ :unnarrowed t)))
└────
[roam-ref protocol]
<https://www.orgroam.com/manual.html#The-roam_002dref-protocol>
2.2.3 Configure extension
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
For some reason I need to configure the extension and save a change
before it works.
You can use the shortcut “Ctrl+Shift+L” to trigger the page capture.
3 Development
═════════════
Have nodejs installed and install the tool `web-ext'
┌────
│ npm install --save-dev web-ext
└────
To launch the dev instance an a clean browser use:
┌────
│ npm run start:dev
└────
To produce the release build
┌────
│ npm run build
└────
4 License
═════════
4.1 This is a fork of <https://github.com/sprig/org-capture-extension>
──────────────────────────────────────────────────────────────────────
This repository is licensed as MIT license, see the LICENSE file for
details.
5 Changes
═════════
5.1 v0.3.1
──────────
• Some code cleanup. Ship CSS instead of pulling tachyons from unpkg
5.2 v0.3.0
──────────
• Support capturing to org-roam roam-ref-templates. Just mark the
checkbox on the config and the standard web request will go to
`roam-ref' instead of capture.
5.3 v0.2.6
──────────
• Include the how to find information in meetup template