emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] [patchattached] Store link to url of eww


From: marcowahlsoft
Subject: [O] [patchattached] Store link to url of eww
Date: Tue, 23 Sep 2014 14:50:37 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux)

Hello all,

since eww comes bundled with Emacs nowadays it feels natural to be able
store a link to the current url of an eww buffer.  This functionality
has already been in place for w3m for a while.

Find a respective patch attached.  I hope the fact that the patch is
attached is acceptable as well as the patch itself.


Best wishes,  Marco
-- 
http://www.wahlzone.de
PGP: 0x0A3AE6F2
>From a4ead864a14931ef2a8dd43719fb6ee90861d346 Mon Sep 17 00:00:00 2001
From: Marco Wahl <address@hidden>
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/lisp/org-eww.el(org-eww-store-link): Hook to store a link.

* contrib/README: Added a line for the 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'.

TINYCHANGE
---
 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 e92da14..7bffeee 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 <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
index 0000000..c25057d
--- /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 <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
diff --git a/lisp/org.el b/lisp/org.el
index b09e72d..0bf91d3 100644
--- 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)
-- 
2.1.0


reply via email to

[Prev in Thread] Current Thread [Next in Thread]