org-eww: Org-module to store url from eww master
authorMarco Wahl <marcowahlsoft@gmail.com>
Tue, 23 Sep 2014 07:46:34 +0000 (09:46 +0200)
committerAaron Ecay <aaronecay@gmail.com>
Wed, 1 Oct 2014 17:48:55 +0000 (13:48 -0400)
* 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'.

contrib/README
contrib/lisp/org-eww.el [new file with mode: 0644]
lisp/org.el

index e92da14..7bffeee 100644 (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
diff --git a/contrib/lisp/org-eww.el b/contrib/lisp/org-eww.el
new file mode 100644 (file)
index 0000000..c25057d
--- /dev/null
@@ -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/>.
+
+\f
+;;; 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.
+
+\f
+;;; 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))))
+
+\f
+(provide 'org-eww)
+
+;;; org-eww.el ends here
index 9815eb4..9a243b5 100755 (executable)
@@ -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)