org-eww: Org-module to store url from eww

* contrib/lisp/org-eww.el: New file
* contrib/README: Added org-eww.
* lisp/org.el (org-modules): Add org-eww to the pool of org-modules.

The hook gets hooked in the module.

The file is more or less a fraction of the org-w3m module with 'w3m'
replaced by 'eww'.
This commit is contained in:
Marco Wahl 2014-09-23 09:46:34 +02:00 committed by Aaron Ecay
parent 39f5f03946
commit 58d95c3a4f
3 changed files with 56 additions and 0 deletions

View File

@ -29,6 +29,7 @@ org-element.el --- Parser and applications for Org syntax
org-elisp-symbol.el --- Org links to emacs-lisp symbols
org-eval-light.el --- Evaluate in-buffer code on demand
org-eval.el --- The <lisp> tag, adapted from Muse
org-eww.el --- Store link to url of eww
org-expiry.el --- Expiry mechanism for Org entries
org-export-generic.el --- Export framework for configurable backends
org-git-link.el --- Provide org links to specific file version

54
contrib/lisp/org-eww.el Normal file
View File

@ -0,0 +1,54 @@
;;; org-eww.el --- Storing link in eww-mode for Org-mode
;; Copyright (C) 2014 Free Software Foundation, Inc.
;; Author: Marco Wahl <marcowahlsoft>a<gmailcom>
;; Keywords: link, eww
;; Homepage: http://orgmode.org
;;
;; This file is not part of GNU Emacs.
;;
;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; When this module is active `org-store-link' (often on key C-c l) in
;; a eww buffer stores a link to the current url of the eww buffer.
;; `org-eww-store-link' below is almost the same as
;; `org-w3m-store-link' of the org-w3m module.
;; Hint: There are further features in module org-w3m which might be
;; interesting for org-eww also.
;;; Code:
(require 'org)
(add-hook 'org-store-link-functions 'org-eww-store-link)
(defun org-eww-store-link ()
"Store a link to the url of a eww buffer."
(when (eq major-mode 'eww-mode)
(org-store-link-props
:type "eww"
:link eww-current-url
:url (url-view-url t)
:description (or eww-current-title eww-current-url))))
(provide 'org-eww)
;;; org-eww.el ends here

View File

@ -640,6 +640,7 @@ For export specific modules, see also `org-export-backends'."
(const :tag "C eshell Support for links to working directories in eshell" org-eshell)
(const :tag "C eval-light: Evaluate inbuffer-code on demand" org-eval-light)
(const :tag "C eval: Include command output as text" org-eval)
(const :tag "C eww: Store link to url of eww" org-eww)
(const :tag "C expiry: Expiry mechanism for Org-mode entries" org-expiry)
(const :tag "C favtable: Lookup table of favorite references and links" org-favtable)
(const :tag "C git-link: Provide org links to specific file version" org-git-link)