emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: marcowahlsoft@gmail.com
To: emacs-orgmode@gnu.org
Subject: [patchattached] Store link to url of eww
Date: Tue, 23 Sep 2014 14:50:37 +0200	[thread overview]
Message-ID: <84d2ammrfm.fsf@tm6592.fritz.box> (raw)

[-- Attachment #1: Type: text/plain, Size: 388 bytes --]

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: [PATCH] org-eww: Org-module to store url from eww --]
[-- Type: text/x-diff, Size: 4162 bytes --]

From a4ead864a14931ef2a8dd43719fb6ee90861d346 Mon Sep 17 00:00:00 2001
From: Marco Wahl <marcowahlsoft@gmail.com>
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/>.
+
+\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
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	other threads:[~2014-09-23 12:51 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-23 12:50 marcowahlsoft [this message]
2014-09-23 17:08 ` [patchattached] Store link to url of eww Aaron Ecay
2014-09-23 17:16   ` Aaron Ecay
2014-09-24  0:28   ` Rasmus
2014-09-24  1:19     ` Aaron Ecay
2014-09-24  8:23       ` Marco Wahl
2014-10-01  9:17         ` Marco Wahl
2014-10-01 18:02           ` Aaron Ecay
2014-10-02 12:55             ` Bastien
2014-10-02 14:10               ` Marco Wahl
2014-10-02 14:08             ` Marco Wahl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=84d2ammrfm.fsf@tm6592.fritz.box \
    --to=marcowahlsoft@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).