From 58d95c3a4fc0457ed78516a706ad79ae963a7538 Mon Sep 17 00:00:00 2001 From: Marco Wahl Date: Tue, 23 Sep 2014 09:46:34 +0200 Subject: [PATCH] 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'. --- contrib/README | 1 + contrib/lisp/org-eww.el | 54 +++++++++++++++++++++++++++++++++++++++++ lisp/org.el | 1 + 3 files changed, 56 insertions(+) create mode 100644 contrib/lisp/org-eww.el diff --git a/contrib/README b/contrib/README index e92da1492..7bffeee44 100644 --- a/contrib/README +++ b/contrib/README @@ -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 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 index 000000000..c25057d79 --- /dev/null +++ b/contrib/lisp/org-eww.el @@ -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 a +;; 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 . + + +;;; 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 diff --git a/lisp/org.el b/lisp/org.el index 9815eb47c..9a243b54c 100755 --- a/lisp/org.el +++ b/lisp/org.el @@ -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)