From 90d283f1894d473449a7f23fd09e3a264ed9c15d Mon Sep 17 00:00:00 2001 From: Allen Li Date: Tue, 17 Oct 2017 23:28:53 +0200 Subject: [PATCH] Update documentation on org-protocol template placeholders * doc/org.texi (@code{capture} protocol): Fix placeholder names (Template expansion): Add org-protocol placeholders * lisp/org.el (org-store-link-plist): Fix docstring grammar (org-store-link-props): Fix docstring grammar --- doc/org.texi | 29 +++++++++++++++++++---------- lisp/org.el | 4 +++- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/doc/org.texi b/doc/org.texi index 999f3f719..fa42d2f49 100644 --- a/doc/org.texi +++ b/doc/org.texi @@ -7351,6 +7351,7 @@ gnus | %:group, @r{for messages also all email fiel eww, w3, w3m | %:url info | %:file %:node calendar | %:date +org-protocol | %:link %:description %:annotation @end smallexample @noindent @@ -7592,22 +7593,15 @@ javascript:location.href='org-protocol://store-link?url='+ @cindex capture protocol @cindex protocol, capture -@cindex capture, %:url placeholder -@cindex %:url template expansion in capture -@cindex capture, %:title placeholder -@cindex %:title template expansion in capture Activating @code{capture} handler pops up a @samp{Capture} buffer and fills -the capture template associated to the @samp{X} key with them. The template -refers to the data through @code{%:url} and @code{%:title} placeholders. -Moreover, any selected text in the browser is appended to the body of the -entry. +the capture template associated to the @samp{X} key with them. @example emacsclient org-protocol://capture?template=X?url=URL?title=TITLE?body=BODY @end example -To use this feature, add a bookmark with an arbitrary name, e.g. -@samp{Org: capture} and enter this as @samp{Location}: +To use this feature, add a bookmark with an arbitrary name, e.g. @samp{Org: +capture} and enter this as @samp{Location}: @example javascript:location.href='org-protocol://template=x'+ @@ -7621,6 +7615,21 @@ The result depends on the capture template used, which is set in the bookmark itself, as in the example above, or in @code{org-protocol-default-template-key}. +@cindex capture, %:link placeholder +@cindex %:link template expansion in capture +@cindex capture, %:description placeholder +@cindex %:description template expansion in capture +@cindex capture, %:annotation placeholder +@cindex %:annotation template expansion in capture +The following template placeholders are available: + +@example +%:link The URL +%:description The webpage title +%:annotation Equivalent to [[%:link][%:description]] +%i The selected text +@end example + @node @code{open-source} protocol @subsection @code{open-source} protocol @cindex open-source protocol diff --git a/lisp/org.el b/lisp/org.el index d6cd77bf9..abb173bc9 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -9847,7 +9847,9 @@ active region." (car org-stored-links))))) (defun org-store-link-props (&rest plist) - "Store link properties, extract names, addresses and dates." + "Store link properties. +The properties are pre-processed by extracting names, addresses +and dates." (let ((x (plist-get plist :from))) (when x (let ((adr (mail-extract-address-components x)))