From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: org-protocol documentation Date: Mon, 19 Jun 2017 12:14:55 +0200 Message-ID: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: multipart/alternative; boundary="Apple-Mail=_ECE5D79E-A00E-4D72-93C6-DF1C55748FE3" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33961) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dMti0-0002Bl-0o for emacs-orgmode@gnu.org; Mon, 19 Jun 2017 06:15:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dMthw-0004cs-0m for emacs-orgmode@gnu.org; Mon, 19 Jun 2017 06:14:59 -0400 Received: from mail-wm0-x229.google.com ([2a00:1450:400c:c09::229]:35364) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dMthv-0004bz-Q5 for emacs-orgmode@gnu.org; Mon, 19 Jun 2017 06:14:55 -0400 Received: by mail-wm0-x229.google.com with SMTP id x70so74676365wme.0 for ; Mon, 19 Jun 2017 03:14:55 -0700 (PDT) Received: from [172.16.0.5] ([185.165.77.231]) by smtp.gmail.com with ESMTPSA id o7sm7897041wmd.0.2017.06.19.03.14.52 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Jun 2017 03:14:53 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode@gnu.org --Apple-Mail=_ECE5D79E-A00E-4D72-93C6-DF1C55748FE3 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi, recently I=E2=80=99ve updated my macOS - Org mode setup. I had some pain = setting up org-protocol properly which was mainly because the = documentation (http://orgmode.org/worg/org-contrib/org-protocol.html = ) is outdated. = Especially for macOS. I thought about updating the documentation. But = I=E2=80=99m unsure wether that is still the correct place. To me it = seems that org-protocol is no longer in org-contrib but in org-mode. I = could not verify that because I could not clone the repo (fatal: unable = to connect to orgmode.org: orgmode.org[0: 104.239.132.130]: = errno=3DOperation timed out ). - is the task of documenting org-protocol already scheduled? - if not, I would update the documentation in general and for macOS and = would leave the linux and windows parts untouched (don=E2=80=99t know if = they need to be updated), if that=E2=80=99s ok. Kind regards Mario =E2=80=94=20 =F0=9F=8C=8Dhttp://www.schnuddelhuddel.de = --Apple-Mail=_ECE5D79E-A00E-4D72-93C6-DF1C55748FE3 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8
Hi,

recently I=E2=80=99ve updated my macOS - Org mode setup. I = had some pain setting up org-protocol properly which was mainly because = the documentation (http://orgmode.org/worg/org-contrib/org-protocol.html) is = outdated. Especially for macOS. I thought about updating the = documentation. But I=E2=80=99m unsure wether that is still the correct = place. To me it seems that org-protocol is no longer in org-contrib but = in org-mode. I could not verify that because I could not clone the repo = (fatal: unable to connect to orgmode.org: orgmode.org[0: 104.239.132.130]: errno=3DOperation timed = out ).

- is = the task of documenting org-protocol already scheduled?
- if not, I would update the documentation in general and for = macOS and would leave the linux and windows parts untouched (don=E2=80=99t= know if they need to be updated), if that=E2=80=99s ok.

Kind regards
Mario

=E2=80=94 
=F0=9F=8C=8D<= a href=3D"http://www.schnuddelhuddel.de" = class=3D"">http://www.schnuddelhuddel.de




= --Apple-Mail=_ECE5D79E-A00E-4D72-93C6-DF1C55748FE3-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: org-protocol documentation Date: Mon, 19 Jun 2017 12:41:23 +0200 Message-ID: <87k248b6p8.fsf@nicolasgoaziou.fr> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39689) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dMu7h-0005Ps-3X for emacs-orgmode@gnu.org; Mon, 19 Jun 2017 06:41:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dMu7b-0001Av-D1 for emacs-orgmode@gnu.org; Mon, 19 Jun 2017 06:41:33 -0400 Received: from relay4-d.mail.gandi.net ([2001:4b98:c:538::196]:56558) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dMu7b-0001Am-6o for emacs-orgmode@gnu.org; Mon, 19 Jun 2017 06:41:27 -0400 In-Reply-To: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> (Mario Martelli's message of "Mon, 19 Jun 2017 12:14:55 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli Cc: emacs-orgmode@gnu.org Hello, Mario Martelli writes: > recently I=E2=80=99ve updated my macOS - Org mode setup. I had some pain > setting up org-protocol properly which was mainly because the > documentation (http://orgmode.org/worg/org-contrib/org-protocol.html > ) is outdated. > Especially for macOS. I thought about updating the documentation. But > I=E2=80=99m unsure wether that is still the correct place. To me it seems= that > org-protocol is no longer in org-contrib but in org-mode. I could not > verify that because I could not clone the repo (fatal: unable to > connect to orgmode.org: orgmode.org[0: 104.239.132.130]: > errno=3DOperation timed out ). > > - is the task of documenting org-protocol already scheduled? I don't think so. Besides, org-protocol in indeed in core and should be documented in the manual. The latter merely points to the Worg page. > - if not, I would update the documentation in general and for macOS > and would leave the linux and windows parts untouched (don=E2=80=99t know= if > they need to be updated), if that=E2=80=99s ok. This is fine as a first step IMO. Thank you. Regards, --=20 Nicolas Goaziou From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunyang Xu Subject: Re: org-protocol documentation Date: Mon, 19 Jun 2017 20:26:48 +0800 Message-ID: References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36489) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dMvlm-00088S-2L for emacs-orgmode@gnu.org; Mon, 19 Jun 2017 08:27:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dMvli-0007sA-Ul for emacs-orgmode@gnu.org; Mon, 19 Jun 2017 08:27:02 -0400 Received: from smtpproxy19.qq.com ([184.105.206.84]:49409) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dMvli-0007rV-M5 for emacs-orgmode@gnu.org; Mon, 19 Jun 2017 08:26:58 -0400 In-Reply-To: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli , emacs-orgmode@gnu.org Mario Martelli writes: > Hi, > > recently I=E2=80=99ve updated my macOS - Org mode setup. I had some pain = setting up org-protocol properly for what it's worth, the Emacs Mac Port supports org-protocol out of box. It works without the Emacs server (emacsclient), e.g., $ open 'org-protocol://store-link?url=3Dhttp%3A%2F%2Forgmode.org&title=3D= Org%20mode' Thus for Emacs Mac Port users, no setup is needed. [Emacs Mac Port] https://bitbucket.org/mituharu/emacs-mac [...] From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: org-protocol documentation Date: Mon, 19 Jun 2017 14:37:17 +0200 Message-ID: <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: multipart/alternative; boundary="Apple-Mail=_309BF993-59F4-4A4A-9A37-2B5015D7AC77" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:38933) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dMvvl-0004ZC-7X for emacs-orgmode@gnu.org; Mon, 19 Jun 2017 08:37:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dMvvg-00052L-V2 for emacs-orgmode@gnu.org; Mon, 19 Jun 2017 08:37:21 -0400 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:34134) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dMvvg-00051o-Pk for emacs-orgmode@gnu.org; Mon, 19 Jun 2017 08:37:16 -0400 Received: by mail-qk0-x243.google.com with SMTP id d14so6537700qkb.1 for ; Mon, 19 Jun 2017 05:37:16 -0700 (PDT) In-Reply-To: <87k248b6p8.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou , Chunyang Xu Cc: emacs-orgmode@gnu.org --Apple-Mail=_309BF993-59F4-4A4A-9A37-2B5015D7AC77 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > for what it's worth, the Emacs Mac Port supports org-protocol out of > box. It works without the Emacs server (emacsclient), e.g., Good to know. I=E2=80=99ve listed it in the documentation. Do you plan to provide ready built binaries? >> - if not, I would update the documentation in general and for macOS >> and would leave the linux and windows parts untouched (don=E2=80=99t = know if >> they need to be updated), if that=E2=80=99s ok. >=20 > This is fine as a first step IMO. Please find my attempt at: https://github.com/mgmart/org-mode = Kind regards Mario =E2=80=94=20 --Apple-Mail=_309BF993-59F4-4A4A-9A37-2B5015D7AC77 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8

for what it's worth, the Emacs Mac Port supports org-protocol = out of
box. It works without the Emacs server = (emacsclient), e.g.,

Good to know. = I=E2=80=99ve listed it in the documentation.
Do you plan to = provide ready built binaries?

- if not, I would update = the documentation in general and for macOS
and would leave = the linux and windows parts untouched (don=E2=80=99t know if
they need to be updated), if that=E2=80=99s ok.

This is fine as a first step = IMO.

Please find my = attempt at: https://github.com/mgmart/org-mode
Kind regards
Mario
=E2=80=94 






= --Apple-Mail=_309BF993-59F4-4A4A-9A37-2B5015D7AC77-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunyang Xu Subject: Re: org-protocol documentation Date: Mon, 19 Jun 2017 21:41:07 +0800 Message-ID: References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:57174) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dMwvh-0000bs-Ux for emacs-orgmode@gnu.org; Mon, 19 Jun 2017 09:41:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dMwve-0001zR-Tu for emacs-orgmode@gnu.org; Mon, 19 Jun 2017 09:41:22 -0400 Received: from smtpbgau2.qq.com ([54.206.34.216]:55673) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dMwve-0001w2-AK for emacs-orgmode@gnu.org; Mon, 19 Jun 2017 09:41:18 -0400 In-Reply-To: <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli , Nicolas Goaziou Cc: emacs-orgmode@gnu.org Mario Martelli writes: >> for what it's worth, the Emacs Mac Port supports org-protocol out of >> box. It works without the Emacs server (emacsclient), e.g., > > Good to know. I=E2=80=99ve listed it in the documentation. > Do you plan to provide ready built binaries? The author of the Emacs Mac Port is Mitsuharu Yamamoto and I don't think there is any built binaries provided by him. I installed the built binaries via MacPorts (a package manager for Mac) with: $ sudo port install emacs-mac-app and I also heard that it is also available from Homebrew (another package manager). [...] From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: org-protocol documentation Date: Wed, 21 Jun 2017 19:29:47 +0200 Message-ID: <87a8519rlg.fsf@nicolasgoaziou.fr> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51978) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dNjRy-000884-NN for emacs-orgmode@gnu.org; Wed, 21 Jun 2017 13:29:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dNjRx-0007XU-Rr for emacs-orgmode@gnu.org; Wed, 21 Jun 2017 13:29:54 -0400 Received: from relay2-d.mail.gandi.net ([2001:4b98:c:538::194]:56622) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dNjRx-0007XF-ME for emacs-orgmode@gnu.org; Wed, 21 Jun 2017 13:29:53 -0400 In-Reply-To: <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> (Mario Martelli's message of "Mon, 19 Jun 2017 14:37:17 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli Cc: emacs-orgmode@gnu.org, Chunyang Xu Hello, Mario Martelli writes: > Please find my attempt at: https://github.com/mgmart/org-mode > Thank you. However, AFAIU, this change is about orgmanual.org, which is an outdated copy of the official manual in contrib/. Could you modify "org.texi" in doc/ directory instead? Regards, -- Nicolas Goaziou 0x80A93738 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: org-protocol documentation Date: Wed, 21 Jun 2017 20:58:37 +0200 Message-ID: References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43219) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dNkpw-0006bq-Rr for emacs-orgmode@gnu.org; Wed, 21 Jun 2017 14:58:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dNkpt-0005tu-Pf for emacs-orgmode@gnu.org; Wed, 21 Jun 2017 14:58:44 -0400 Received: from mail-wr0-x235.google.com ([2a00:1450:400c:c0c::235]:35623) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dNkpt-0005tX-II for emacs-orgmode@gnu.org; Wed, 21 Jun 2017 14:58:41 -0400 Received: by mail-wr0-x235.google.com with SMTP id l5so4006022wre.2 for ; Wed, 21 Jun 2017 11:58:41 -0700 (PDT) In-Reply-To: <87a8519rlg.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org > However, AFAIU, this change is about orgmanual.org, which is an = outdated > copy of the official manual in contrib/. Well, I thought I could begin with an easy task for my first = contribution :) > Could you modify "org.texi" in doc/ directory instead? This will take a while, I assume. Although pandoc did a terrific job, = there is some additional work to do. Kind regards Mario =E2=80=94=20 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: org-protocol documentation Date: Wed, 21 Jun 2017 21:12:21 +0200 Message-ID: <8760fp9mui.fsf@nicolasgoaziou.fr> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46471) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dNl3G-0000sq-1Z for emacs-orgmode@gnu.org; Wed, 21 Jun 2017 15:12:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dNl3F-0002Wp-98 for emacs-orgmode@gnu.org; Wed, 21 Jun 2017 15:12:30 -0400 Received: from relay4-d.mail.gandi.net ([2001:4b98:c:538::196]:39819) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dNl3F-0002W1-3K for emacs-orgmode@gnu.org; Wed, 21 Jun 2017 15:12:29 -0400 In-Reply-To: (Mario Martelli's message of "Wed, 21 Jun 2017 20:58:37 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli Cc: emacs-orgmode@gnu.org Mario Martelli writes: >> However, AFAIU, this change is about orgmanual.org, which is an outdated >> copy of the official manual in contrib/. > > Well, I thought I could begin with an easy task for my first contribution :) > >> Could you modify "org.texi" in doc/ directory instead? > > This will take a while, I assume. Although pandoc did a terrific job, there is some additional work to do. I'm not sure why is pandoc needed here. Org can export to Texinfo format, if needed. Also, if the syntax is not quite right, no worries, we'll fix it. Regards, From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: org-protocol documentation Date: Thu, 22 Jun 2017 10:40:50 +0200 Message-ID: <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:48541) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dNxfa-0000LU-L6 for emacs-orgmode@gnu.org; Thu, 22 Jun 2017 04:40:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dNxfX-0005Mn-IV for emacs-orgmode@gnu.org; Thu, 22 Jun 2017 04:40:54 -0400 Received: from mail-wr0-x233.google.com ([2a00:1450:400c:c0c::233]:35061) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dNxfX-0005ML-Bz for emacs-orgmode@gnu.org; Thu, 22 Jun 2017 04:40:51 -0400 Received: by mail-wr0-x233.google.com with SMTP id k67so13376719wrc.2 for ; Thu, 22 Jun 2017 01:40:51 -0700 (PDT) In-Reply-To: <8760fp9mui.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org I=E2=80=99m about to incorporate the new style URIs into the = documentation.=20 During my tests somehow the open-source protocol does not work for me. I assume a bug around Line 527 in org-protocol.el (let* ((base-url (plist-get (cdr prolist) :base-url)) =E2=80=94> (wsearch (regexp-quote base-url))) = <=E2=80=94 Could anyone confirm that? I=E2=80=99m unsure whether it might be a = local misconfiguration on my side or not. I tried it with the worg example: emacsclient = "org-protocol://open-source?url=3Dhttp://orgmode.org/worg/org-tutorials/or= g-import-rtm.html=E2=80=9D and escaped emacsclient = 'org-protocol://open-source?url=3Dhttps%3A%2F%2Forgmode.org%2Fworg%2Forg-t= utorials%2Forg-import-rtm.html=E2=80=99 In both cases it fails silently. > I'm not sure why is pandoc needed here. Org can export to Texinfo > format, if needed. Thank you! Output is much nicer than with pandoc. I=E2=80=99ve disabled = it years ago because not needed. So it went out of my sight ;) > Also, if the syntax is not quite right, no worries, > we'll fix it. That are great news! Kind regards Mario =E2=80=94=20 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: org-protocol documentation Date: Thu, 22 Jun 2017 21:32:21 +0200 Message-ID: <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: multipart/alternative; boundary="Apple-Mail=_DDA62430-6722-4D53-84D9-B731E63EF466" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36061) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dO7q7-0003nn-2l for emacs-orgmode@gnu.org; Thu, 22 Jun 2017 15:32:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dO7q3-0007Po-1k for emacs-orgmode@gnu.org; Thu, 22 Jun 2017 15:32:27 -0400 Received: from mail-wr0-x230.google.com ([2a00:1450:400c:c0c::230]:35470) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dO7q2-0007OD-MZ for emacs-orgmode@gnu.org; Thu, 22 Jun 2017 15:32:22 -0400 Received: by mail-wr0-x230.google.com with SMTP id k67so36539554wrc.2 for ; Thu, 22 Jun 2017 12:32:21 -0700 (PDT) In-Reply-To: <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org --Apple-Mail=_DDA62430-6722-4D53-84D9-B731E63EF466 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 I=E2=80=99ve incorporated the org-protocol documentation into org.texi. = https://github.com/mgmart/org-mode/commit/31dd3cc13034c8501d8526e25086152a= 0e6538dd = In a separate branch you could see the history of changes to the = original org-protocol documentation from worg https://github.com/mgmart/org-mode/commits/documentation/org-protocol = Still not sure wether the open-source subprotocol is broken or not. Kind regards Mario =E2=80=94=20 > Am 22.06.2017 um 10:40 schrieb Mario Martelli = : >=20 > I=E2=80=99m about to incorporate the new style URIs into the = documentation.=20 > During my tests somehow the open-source protocol does not work for me. >=20 > I assume a bug around Line 527 in org-protocol.el >=20 > (let* ((base-url (plist-get (cdr prolist) :base-url)) > =E2=80=94> (wsearch (regexp-quote base-url))) = <=E2=80=94 >=20 > Could anyone confirm that? I=E2=80=99m unsure whether it might be a = local misconfiguration on my side or not. >=20 > I tried it with the worg example: >=20 > emacsclient = "org-protocol://open-source?url=3Dhttp://orgmode.org/worg/org-tutorials/or= g-import-rtm.html=E2=80=9D >=20 > and escaped >=20 > emacsclient = 'org-protocol://open-source?url=3Dhttps%3A%2F%2Forgmode.org%2Fworg%2Forg-t= utorials%2Forg-import-rtm.html=E2=80=99 >=20 > In both cases it fails silently. >=20 >> I'm not sure why is pandoc needed here. Org can export to Texinfo >> format, if needed. >=20 > Thank you! Output is much nicer than with pandoc. I=E2=80=99ve = disabled it years ago because not needed. So it went out of my sight ;) >=20 >> Also, if the syntax is not quite right, no worries, >> we'll fix it. >=20 > That are great news! >=20 > Kind regards > Mario > =E2=80=94=20 >=20 >=20 >=20 --Apple-Mail=_DDA62430-6722-4D53-84D9-B731E63EF466 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 I=E2=80=99ve incorporated the org-protocol documentation into = org.texi.


In a separate branch you could see the history of changes to = the original org-protocol documentation from worg

Still= not sure wether the open-source subprotocol is broken or not.

Kind regards
Mario
=E2=80=94 



Am 22.06.2017 um 10:40 schrieb Mario Martelli <tlmtr@schnuddelhuddel.de>:

I=E2=80= =99m about to incorporate the new style URIs into the documentation.
During my tests somehow the open-source protocol does not = work for me.

I assume a bug around Line 527 = in org-protocol.el

=       (let* ((base-url (plist-get (cdr = prolist) :base-url))
=E2=80=94> =             &n= bsp; (wsearch (regexp-quote base-url))) =           <=E2=80=94<= br class=3D"">
Could anyone confirm that? I=E2=80=99m = unsure whether it might be a local misconfiguration on my side or = not.

I tried it with the worg example:

emacsclient "org-protocol://open-source?url=3Dhttp://orgmode.org/worg/org-tu= torials/org-import-rtm.html=E2=80=9D

and = escaped

emacsclient 'org-protocol://open-source?url=3Dhttps%3A%2F%2Forgmode.org%2Fwo= rg%2Forg-tutorials%2Forg-import-rtm.html=E2=80=99

In both cases it fails silently.

I'm not sure why is = pandoc needed here. Org can export to Texinfo
format, if = needed.

Thank you! Output is = much nicer than with pandoc. I=E2=80=99ve disabled it years ago because = not needed. So it went out of my sight ;)

Also, if the syntax is = not quite right, no worries,
we'll fix it.

That are great news!

Kind regards
Mario
=E2=80=94




= --Apple-Mail=_DDA62430-6722-4D53-84D9-B731E63EF466-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: org-protocol documentation Date: Thu, 22 Jun 2017 22:03:56 +0200 Message-ID: <87efub7psj.fsf@nicolasgoaziou.fr> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41645) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dO8Ke-0003w6-3O for emacs-orgmode@gnu.org; Thu, 22 Jun 2017 16:04:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dO8Kd-0002mM-9B for emacs-orgmode@gnu.org; Thu, 22 Jun 2017 16:04:00 -0400 Received: from relay4-d.mail.gandi.net ([2001:4b98:c:538::196]:44907) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dO8Kd-0002l2-2u for emacs-orgmode@gnu.org; Thu, 22 Jun 2017 16:03:59 -0400 In-Reply-To: <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> (Mario Martelli's message of "Thu, 22 Jun 2017 21:32:21 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli Cc: emacs-orgmode@gnu.org Hello, Mario Martelli writes: > I=E2=80=99ve incorporated the org-protocol documentation into org.texi. > > https://github.com/mgmart/org-mode/commit/31dd3cc13034c8501d8526e25086152= a0e6538dd So as to ease the reviewing process, could you send it on the ML with git format-patch sub-command? Also, I suggest using ox-texinfo from development version, if you can, as the Texinfo output should be superior. >> I assume a bug around Line 527 in org-protocol.el >>=20 >> (let* ((base-url (plist-get (cdr prolist) :base-url)) >> =E2=80=94> (wsearch (regexp-quote base-url))) <= =E2=80=94 >>=20 >> Could anyone confirm that? I=E2=80=99m unsure whether it might be a loca= l misconfiguration on my side or not. Confirm what? Why do you think there is a bug in the line above? Regards, --=20 Nicolas Goaziou From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: org-protocol documentation Date: Fri, 23 Jun 2017 09:50:10 +0200 Message-ID: <8CE2CFE3-2911-4369-8E93-E80CD25FD7E4@schnuddelhuddel.de> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: multipart/alternative; boundary="Apple-Mail=_49CAFED0-E6F4-4733-8C77-365FD236C853" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56841) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dOJM9-00026R-NB for emacs-orgmode@gnu.org; Fri, 23 Jun 2017 03:50:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dOJM6-0002KZ-KH for emacs-orgmode@gnu.org; Fri, 23 Jun 2017 03:50:17 -0400 Received: from mail-wr0-x229.google.com ([2a00:1450:400c:c0c::229]:34638) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dOJM6-0002KB-9g for emacs-orgmode@gnu.org; Fri, 23 Jun 2017 03:50:14 -0400 Received: by mail-wr0-x229.google.com with SMTP id 77so54197621wrb.1 for ; Fri, 23 Jun 2017 00:50:14 -0700 (PDT) In-Reply-To: <87efub7psj.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org --Apple-Mail=_49CAFED0-E6F4-4733-8C77-365FD236C853 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi, > Am 22.06.2017 um 22:03 schrieb Nicolas Goaziou = : >=20 > So as to ease the reviewing process, could you send it on the ML with > git format-patch sub-command? >=20 sure. I would like to add an example using the subprotocol = =E2=80=9Copen-source=E2=80=9D for hugo. If that sounds ok for you. For that I would need =E2=80=9Copen-source=E2=80=9D working, of course. > Also, I suggest using ox-texinfo from development version, if you can, > as the Texinfo output should be superior. have to set that up first. But I think I will need it anyway. ;) >>> I assume a bug around Line 527 in org-protocol.el >>>=20 >>> (let* ((base-url (plist-get (cdr prolist) :base-url)) >>> =E2=80=94> (wsearch (regexp-quote base-url))) = <=E2=80=94 >>>=20 >>> Could anyone confirm that? I=E2=80=99m unsure whether it might be a = local misconfiguration on my side or not. >=20 > Confirm what? That =E2=80=9Copen-source" is not working and is failing silently. > Why do you think there is a bug in the line above? Because I=E2=80=99m not experienced with elisp ;) I dug a little deeper and do now assume that there *might* be something = wrong with =E2=80=9Cf=E2=80=9D which is created in line 523 (f (plist-get (org-protocol-parse-parameters fname nil '(:url)) = :url))) and which has =E2=80=9Chttp:=E2=80=9D as value if I=E2=80=99m using old = style URIs and the whole URL = (=E2=80=9Chttp:/orgmode.org/worg/org-tutorials/org-import-rtm.html = =E2=80=9D in = my example) if I=E2=80=99m using new style URIs. I assume =E2=80=9Cf=E2=80=9D should be set to the base-url = ("http:/orgmode.org/worg/ =E2=80=9C in my = case).=20 Given that, the test in line 529=20 (when (string-match wsearch f) fails all the time causing the function to fail silently. Thank you for being patient with me. At the moment I=E2=80=99m seeing = parenthesises and backslashes everywhere :) Kind regards Mario =E2=80=94=20 --Apple-Mail=_49CAFED0-E6F4-4733-8C77-365FD236C853 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Hi,

Am 22.06.2017 um 22:03 schrieb = Nicolas Goaziou <mail@nicolasgoaziou.fr>:

So as to ease the reviewing process, could you = send it on the ML with
git format-patch sub-command?


sure. I would like to add an example using the = subprotocol =E2=80=9Copen-source=E2=80=9D for hugo. If that sounds ok = for you.
For that I would need =E2=80=9Copen-source=E2=80=9D = working, of course.

Also, I suggest using = ox-texinfo from development version, if you can,
as the = Texinfo output should be superior.

have to = set that up first. But I think I will need it anyway. ;)

I assume a bug around Line 527 in org-protocol.el

     (let* = ((base-url (plist-get (cdr prolist) :base-url))
=E2=80=94>= ; =             &n= bsp; (wsearch (regexp-quote base-url))) =           <=E2=80=94<= br class=3D"">
Could anyone confirm that? I=E2=80=99m = unsure whether it might be a local misconfiguration on my side or = not.

Confirm = what?

That = =E2=80=9Copen-source" is not working and is failing silently.

Why do you think there is a bug in the line above?

Because = I=E2=80=99m not experienced with elisp ;)

I dug a little deeper and do now assume that = there *might* be something wrong with =E2=80=9Cf=E2=80=9D which is = created in line 523

(f = (plist-get (org-protocol-parse-parameters fname nil '(:url)) = :url)))

and which has =E2=80=9Chttp:=E2= =80=9D as value if I=E2=80=99m using old style URIs and the whole URL = (=E2=80=9Chttp:/orgmode.org/worg/org-tutorials/org-import-rtm.html=E2=80=9D= in my example) if I=E2=80=99m using new style URIs.
I assume = =E2=80=9Cf=E2=80=9D should be set to the base-url ("http:/orgmode.org/worg/=E2=80=9C= in my case). 

Given that, the = test in line 529 

(when = (string-match wsearch f)

fails all = the time causing the function to fail silently.

Thank you for being patient with me. At the moment = I=E2=80=99m seeing parenthesises and backslashes everywhere = :)

Kind = regards
Mario
=E2=80=94 


= --Apple-Mail=_49CAFED0-E6F4-4733-8C77-365FD236C853-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: org-protocol documentation Date: Fri, 23 Jun 2017 18:46:14 +0200 Message-ID: <5442AC7A-D45E-46FE-A3A7-3AB25679B3FE@schnuddelhuddel.de> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <8CE2CFE3-2911-4369-8E93-E80CD25FD7E4@schnuddelhuddel.de> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39982) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dORiv-0007iH-OX for emacs-orgmode@gnu.org; Fri, 23 Jun 2017 12:46:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dORis-0002Eb-Lg for emacs-orgmode@gnu.org; Fri, 23 Jun 2017 12:46:21 -0400 Received: from mail-wr0-x244.google.com ([2a00:1450:400c:c0c::244]:36402) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dORis-0002ED-Dr for emacs-orgmode@gnu.org; Fri, 23 Jun 2017 12:46:18 -0400 Received: by mail-wr0-x244.google.com with SMTP id 77so13800943wrb.3 for ; Fri, 23 Jun 2017 09:46:18 -0700 (PDT) In-Reply-To: <8CE2CFE3-2911-4369-8E93-E80CD25FD7E4@schnuddelhuddel.de> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org Hi, > fails all the time causing the function to fail silently. I got "open-source" working by sanitising the URI before it is = processed. diff --git a/lisp/org-protocol.el b/lisp/org-protocol.el index 825435674..7e986a9ed 100644 --- a/lisp/org-protocol.el +++ b/lisp/org-protocol.el @@ -520,7 +520,7 @@ The location for a browser's bookmark should look = like this: ;; As we enter this function for a match on our protocol, the return = value ;; defaults to nil. (let ((result nil) - (f (plist-get (org-protocol-parse-parameters fname nil '(:url)) = :url))) + (f (org-protocol-sanitize-uri (plist-get = (org-protocol-parse-parameters fname nil '(:url)) :url)))) (catch 'result (dolist (prolist org-protocol-project-alist) (let* ((base-url (plist-get (cdr prolist) :base-url)) Unfortunately it is still failing for old-style URIs. Fixing that would = exceed my abilities. I could document that "open-source" does only support new-style URIs. = Not sure if that is the best solution. Kind regards Mario =E2=80=94=20 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: [PATCH] org-protocol: fixes open-source and extends rewriting of URLs Date: Sun, 25 Jun 2017 08:49:34 +0200 Message-ID: <4427263B-5534-4FFD-AFA0-211EDA489001@schnuddelhuddel.de> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <8CE2CFE3-2911-4369-8E93-E80CD25FD7E4@schnuddelhuddel.de> <5442AC7A-D45E-46FE-A3A7-3AB25679B3FE@schnuddelhuddel.de> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: multipart/alternative; boundary="Apple-Mail=_9F035040-A060-4830-BEF9-E2C5903ED201" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45085) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dP1Mf-0003XB-1K for emacs-orgmode@gnu.org; Sun, 25 Jun 2017 02:49:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dP1Ma-0002fb-Cx for emacs-orgmode@gnu.org; Sun, 25 Jun 2017 02:49:45 -0400 Received: from mail-wr0-x233.google.com ([2a00:1450:400c:c0c::233]:35686) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dP1Ma-0002eq-0u for emacs-orgmode@gnu.org; Sun, 25 Jun 2017 02:49:40 -0400 Received: by mail-wr0-x233.google.com with SMTP id k67so113145516wrc.2 for ; Sat, 24 Jun 2017 23:49:38 -0700 (PDT) Received: from [172.16.0.18] ([78.129.221.30]) by smtp.gmail.com with ESMTPSA id a18sm3690946edd.23.2017.06.24.23.49.35 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 24 Jun 2017 23:49:36 -0700 (PDT) In-Reply-To: <5442AC7A-D45E-46FE-A3A7-3AB25679B3FE@schnuddelhuddel.de> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode@gnu.org --Apple-Mail=_9F035040-A060-4830-BEF9-E2C5903ED201 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi list, Doing the tests for the documentation I encountered some issues with = org-protocol. [0001-url-is-sanitized-before-processing] I=E2=80=99ve got trouble to get sub-protocol =E2=80=9Copen-source=E2=80=9D= working in some cases. By sanitising the URL it works for me in all = cases. [0002-tests-open-source-uri-against-uri-and-not-filename] This changes the test of the URI which was tested against the resulting = filename. It=E2=80=99s now tested against the base-url. I=E2=80=99m still unsure with this because the code is there for more = than seven years. Maybe I=E2=80=99m not seeing something obvious here. = But all tests I made so far are succeeding with this change. [0003-org-protocol-open-source-can-open-hugo-sources-with-date-url] Enables =E2=80=9Copen-source=E2=80=9D to open hugo sources from a blog = which is using date URLs like: https://cool-blog.com/2017/05/20/cool-post/ = WDYT of this? Kind regards Mario =E2=80=94=20 --Apple-Mail=_9F035040-A060-4830-BEF9-E2C5903ED201 Content-Type: multipart/mixed; boundary="Apple-Mail=_CBEAFE06-A1B0-4522-A13D-D7FCB9E6E8B0" --Apple-Mail=_CBEAFE06-A1B0-4522-A13D-D7FCB9E6E8B0 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8
Hi list,

Doing the tests for the documentation I = encountered some issues with org-protocol.

[0001-url-is-sanitized-before-processing]
I=E2=80=99ve got trouble to get = sub-protocol =E2=80=9Copen-source=E2=80=9D working in some cases. By = sanitising the URL it works for me in all cases.

= --Apple-Mail=_CBEAFE06-A1B0-4522-A13D-D7FCB9E6E8B0 Content-Disposition: attachment; filename=0001-url-is-sanitized-before-processing.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-url-is-sanitized-before-processing.patch" Content-Transfer-Encoding: quoted-printable =46rom=20572a9fb03b62aa989752104898318096fa8809e4=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Mario=20Martelli=20=0A= Date:=20Fri,=2023=20Jun=202017=2018:32:49=20+0200=0ASubject:=20[PATCH=20= 1/3]=20url=20is=20sanitized=20before=20processing=0A=0A---=0A=20= lisp/org-protocol.el=20|=202=20+-=0A=201=20file=20changed,=201=20= insertion(+),=201=20deletion(-)=0A=0Adiff=20--git=20= a/lisp/org-protocol.el=20b/lisp/org-protocol.el=0Aindex=20= 825435674..7e986a9ed=20100644=0A---=20a/lisp/org-protocol.el=0A+++=20= b/lisp/org-protocol.el=0A@@=20-520,7=20+520,7=20@@=20The=20location=20= for=20a=20browser's=20bookmark=20should=20look=20like=20this:=0A=20=20=20= ;;=20As=20we=20enter=20this=20function=20for=20a=20match=20on=20our=20= protocol,=20the=20return=20value=0A=20=20=20;;=20defaults=20to=20nil.=0A=20= =20=20(let=20((result=20nil)=0A-=20=20=20=20=20=20=20=20(f=20(plist-get=20= (org-protocol-parse-parameters=20fname=20nil=20'(:url))=20:url)))=0A+=09= (f=20(org-protocol-sanitize-uri=20(plist-get=20= (org-protocol-parse-parameters=20fname=20nil=20'(:url))=20:url))))=0A=20=20= =20=20=20(catch=20'result=0A=20=20=20=20=20=20=20(dolist=20(prolist=20= org-protocol-project-alist)=0A=20=20=20=20=20=20=20=20=20(let*=20= ((base-url=20(plist-get=20(cdr=20prolist)=20:base-url))=0A--=20=0A2.11.0=20= (Apple=20Git-81)=0A=0A= --Apple-Mail=_CBEAFE06-A1B0-4522-A13D-D7FCB9E6E8B0 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8

[0002-tests-open-source-uri-against-uri-and-not-filename]
=
This changes the test of the URI which = was tested against the resulting filename. It=E2=80=99s now tested = against the base-url.

I=E2=80=99m still unsure with this = because the code is there for more than seven years. Maybe I=E2=80=99m = not seeing something obvious here. But all tests I made so far are = succeeding with this change.

= --Apple-Mail=_CBEAFE06-A1B0-4522-A13D-D7FCB9E6E8B0 Content-Disposition: attachment; filename=0002-tests-open-source-uri-against-uri-and-not-filename.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0002-tests-open-source-uri-against-uri-and-not-filename.patch" Content-Transfer-Encoding: quoted-printable =46rom=20f7562e781de0331231d5e369280a2f710c240ca4=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Mario=20Martelli=20=0A= Date:=20Sat,=2024=20Jun=202017=2016:01:20=20+0200=0ASubject:=20[PATCH=20= 2/3]=20tests=20open-source=20uri=20against=20uri=20and=20not=20filename=0A= =0A---=0A=20lisp/org-protocol.el=20|=202=20+-=0A=201=20file=20changed,=20= 1=20insertion(+),=201=20deletion(-)=0A=0Adiff=20--git=20= a/lisp/org-protocol.el=20b/lisp/org-protocol.el=0Aindex=20= 7e986a9ed..6744fc0ac=20100644=0A---=20a/lisp/org-protocol.el=0A+++=20= b/lisp/org-protocol.el=0A@@=20-554,7=20+554,7=20@@=20The=20location=20= for=20a=20browser's=20bookmark=20should=20look=20like=20this:=0A=20=09=09= =20=20=20=20=20=20;;=20Try=20to=20match=20a=20rewritten=20URL=20and=20= map=20it=20to=0A=20=09=09=20=20=20=20=20=20;;=20a=20real=20file.=20=20= Compare=20redirects=20without=0A=20=09=09=20=20=20=20=20=20;;=20suffix.=0A= -=09=09=20=20=20=20=20=20(when=20(string-match-p=20(car=20rewrite)=20f2)=0A= +=09=09=20=20=20=20=20=20(when=20(string-match-p=20(car=20rewrite)=20f1)=0A= =20=09=09=09(throw=20'result=20(concat=20wdir=20(cdr=20rewrite))))))))=0A= =20=09=20=20=20=20=20=20;;=20--=20end=20of=20redirects=20--=0A=20=0A--=20= =0A2.11.0=20(Apple=20Git-81)=0A=0A= --Apple-Mail=_CBEAFE06-A1B0-4522-A13D-D7FCB9E6E8B0 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8

[0003-org-protocol-open-source-can-open-hugo-sources-with-date-= url]

Enables =E2=80=9Copen-source=E2=80=9D to open hugo sources = from a blog which is using date URLs like:




WDYT of this?

Kind regards
Mario
=E2=80=94 

= --Apple-Mail=_CBEAFE06-A1B0-4522-A13D-D7FCB9E6E8B0-- --Apple-Mail=_9F035040-A060-4830-BEF9-E2C5903ED201-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: [PATCH] org-protocol: fixes open-source and extends rewriting of URLs Date: Sun, 25 Jun 2017 09:17:16 +0200 Message-ID: <8760fk4jur.fsf@nicolasgoaziou.fr> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <8CE2CFE3-2911-4369-8E93-E80CD25FD7E4@schnuddelhuddel.de> <5442AC7A-D45E-46FE-A3A7-3AB25679B3FE@schnuddelhuddel.de> <4427263B-5534-4FFD-AFA0-211EDA489001@schnuddelhuddel.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46983) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dP1nP-0008TG-P7 for emacs-orgmode@gnu.org; Sun, 25 Jun 2017 03:17:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dP1nO-0004FA-PR for emacs-orgmode@gnu.org; Sun, 25 Jun 2017 03:17:23 -0400 Received: from relay4-d.mail.gandi.net ([2001:4b98:c:538::196]:53627) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dP1nO-0004Eb-Iw for emacs-orgmode@gnu.org; Sun, 25 Jun 2017 03:17:22 -0400 In-Reply-To: <4427263B-5534-4FFD-AFA0-211EDA489001@schnuddelhuddel.de> (Mario Martelli's message of "Sun, 25 Jun 2017 08:49:34 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli Cc: emacs-orgmode@gnu.org Hello, Mario Martelli writes: > > Doing the tests for the documentation I encountered some issues with org-= protocol. > > [0001-url-is-sanitized-before-processing] > I=E2=80=99ve got trouble to get sub-protocol =E2=80=9Copen-source=E2=80= =9D working in some cases. By sanitising the URL it works for me in all cas= es. > [...] > This changes the test of the URI which was tested against the resulting f= ilename. It=E2=80=99s now tested against the base-url. > > I=E2=80=99m still unsure with this because the code is there for more tha= n seven years. Maybe I=E2=80=99m not seeing something obvious here. But all= tests I made so far are succeeding with this change. > [...] If all tests in "test-org-protocol.el" pass with your changes, I think it is fine to apply them. Another round of tests for the cases you solve would be nice, too. Regards, --=20 Nicolas Goaziou From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: [PATCH] org-protocol: fixes open-source and extends rewriting of URLs Date: Sun, 25 Jun 2017 10:21:36 +0200 Message-ID: References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <8CE2CFE3-2911-4369-8E93-E80CD25FD7E4@schnuddelhuddel.de> <5442AC7A-D45E-46FE-A3A7-3AB25679B3FE@schnuddelhuddel.de> <4427263B-5534-4FFD-AFA0-211EDA489001@schnuddelhuddel.de> <8760fk4jur.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_9450C920-BF46-4DA4-B9D5-D9097E0E582B" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:52965) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dP2nh-00030U-KI for emacs-orgmode@gnu.org; Sun, 25 Jun 2017 04:21:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dP2nc-0003nD-M9 for emacs-orgmode@gnu.org; Sun, 25 Jun 2017 04:21:45 -0400 Received: from mail-wr0-x22e.google.com ([2a00:1450:400c:c0c::22e]:35211) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dP2nc-0003mn-EA for emacs-orgmode@gnu.org; Sun, 25 Jun 2017 04:21:40 -0400 Received: by mail-wr0-x22e.google.com with SMTP id k67so114511023wrc.2 for ; Sun, 25 Jun 2017 01:21:40 -0700 (PDT) In-Reply-To: <8760fk4jur.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org --Apple-Mail=_9450C920-BF46-4DA4-B9D5-D9097E0E582B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > If all tests in "test-org-protocol.el" pass with your changes, I think > it is fine to apply them. Selector: "test-org-protocol/" Passed: 2 Failed: 0 Skipped: 0 Total: 2/2 > Another round of tests for the cases you solve > would be nice, too. I added the configuration part. That will be parsed during the tests I = suppose. Selector: "test-org-protocol/" Passed: 3 Failed: 0 Skipped: 0 Total: 3/3 --Apple-Mail=_9450C920-BF46-4DA4-B9D5-D9097E0E582B Content-Disposition: attachment; filename=0004-config-for-date-style-URL-is-added-to-org-protocol-t.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0004-config-for-date-style-URL-is-added-to-org-protocol-t.patch" Content-Transfer-Encoding: quoted-printable =46rom=204408f27e37f6578b3244a1ff7f4d7bd27720e1e6=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Mario=20Martelli=20=0A= Date:=20Sun,=2025=20Jun=202017=2010:14:40=20+0200=0ASubject:=20[PATCH=20= 4/4]=20config=20for=20date=20style=20URL=20is=20added=20to=20= org-protocol=20tests=0A=0A---=0A=20testing/lisp/test-org-protocol.el=20|=20= 6=20++++++=0A=201=20file=20changed,=206=20insertions(+)=0A=0Adiff=20= --git=20a/testing/lisp/test-org-protocol.el=20= b/testing/lisp/test-org-protocol.el=0Aindex=208f946864c..b11c72a68=20= 100644=0A---=20a/testing/lisp/test-org-protocol.el=0A+++=20= b/testing/lisp/test-org-protocol.el=0A@@=20-137,6=20+137,12=20@@=0A=20=09= =20=20=20=20=20:base-url=20"http://another.example.com/"=0A=20=09=20=20=20= =20=20:online-suffix=20".js"=0A=20=09=20=20=20=20=20:working-directory=20= ,(file-name-directory=20temp-file-name2))=0A+=09=20=20=20=20(test3=0A+=09= =20=20=20=20=20:base-url=20"https://blog-example.com/"=0A+=09=20=20=20=20= =20:working-directory=20,(file-name-directory=20temp-file-name2))=0A+=09=20= =20=20=20=20:online-suffix=20".html"=0A+=09=20=20=20=20=20= :working-suffix=20".md"=0A+=09=20=20=20=20=20:rewrites=20= (("\\(https://blog-example.com/[0-9]+/[0-9]+/[0-9]+/\\)"=20.=20".md"))=0A= =20=09=20=20=20=20))=0A=20=09=20(test-cases=0A=20=09=20=20(list=0A--=20=0A= 2.11.0=20(Apple=20Git-81)=0A=0A= --Apple-Mail=_9450C920-BF46-4DA4-B9D5-D9097E0E582B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Adding full test-coverage of my changes is beyond my abilities at the = moment, I must admit. But I will come back to it soon, I promise ;) Especially as there are succeeding tests for open-source using old-style = URIs. (old-style URIs are not working for me with open-source) That will be the next task for me after completing the documentation. Speaking of the documentation: is it right, that there is no more = support for =E2=80=9Cremember=E2=80=9D?=20 I would then remove that part from the documentation. Kind regards Mario =E2=80=94=20 --Apple-Mail=_9450C920-BF46-4DA4-B9D5-D9097E0E582B-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: org-protocol documentation Date: Sun, 25 Jun 2017 12:15:20 +0200 Message-ID: References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_EAE12C8F-8D72-47F1-9CD6-078F0E8ED707" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37730) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dP4Zn-0005mR-57 for emacs-orgmode@gnu.org; Sun, 25 Jun 2017 06:15:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dP4Zi-0005zM-69 for emacs-orgmode@gnu.org; Sun, 25 Jun 2017 06:15:31 -0400 Received: from mail-wr0-x231.google.com ([2a00:1450:400c:c0c::231]:34654) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dP4Zh-0005yw-Kw for emacs-orgmode@gnu.org; Sun, 25 Jun 2017 06:15:26 -0400 Received: by mail-wr0-x231.google.com with SMTP id 77so116937335wrb.1 for ; Sun, 25 Jun 2017 03:15:25 -0700 (PDT) In-Reply-To: <87efub7psj.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org --Apple-Mail=_EAE12C8F-8D72-47F1-9CD6-078F0E8ED707 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi, > Also, I suggest using ox-texinfo from development version, if you can, > as the Texinfo output should be superior. Done that, eventually. > Also, if the syntax is not quite right, no worries, > we'll fix it. That is probably necessary. Please note, that the documentation assumes that the patches regarding = =E2=80=9Copen-source=E2=80=9D are applied. --Apple-Mail=_EAE12C8F-8D72-47F1-9CD6-078F0E8ED707 Content-Disposition: attachment; filename=0001-org-protocol-documentation-is-moved-to-core-document.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-org-protocol-documentation-is-moved-to-core-document.patch" Content-Transfer-Encoding: quoted-printable =46rom=20cac507876c9d5acb7c61e62a425e1fdfa1676418=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Mario=20Martelli=20=0A= Date:=20Sun,=2025=20Jun=202017=2012:00:51=20+0200=0ASubject:=20[PATCH]=20= org-protocol=20documentation=20is=20moved=20to=20core=20documentation=0A=0A= ---=0A=20doc/org.texi=20|=20819=20= ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-=0A=201=20= file=20changed,=20811=20insertions(+),=208=20deletions(-)=0A=0Adiff=20= --git=20a/doc/org.texi=20b/doc/org.texi=0Aindex=20879756e6f..59725cbc6=20= 100644=0A---=20a/doc/org.texi=0A+++=20b/doc/org.texi=0A@@=20-7516,15=20= +7516,818=20@@=20For=20more=20information,=20including=20how=20to=20read=20= atom=20feeds,=20see=0A=20@section=20Protocols=20for=20external=20access=0A= =20@cindex=20protocols,=20for=20external=20access=0A=20@cindex=20= emacsserver=0A+@cindex=20org-protocol=0A=20=0A-You=20can=20set=20up=20= Org=20for=20handling=20protocol=20calls=20from=20outside=20applications=20= that=0A-are=20passed=20to=20Emacs=20through=20the=20@file{emacsserver}.=20= =20For=20example,=20you=20can=0A-configure=20bookmarks=20in=20your=20web=20= browser=20to=20send=20a=20link=20to=20the=20current=20page=20to=0A-Org=20= and=20create=20a=20note=20from=20it=20using=20capture=20= (@pxref{Capture}).=20=20Or=20you=0A-could=20create=20a=20bookmark=20that=20= will=20tell=20Emacs=20to=20open=20the=20local=20source=20file=20of=0A-a=20= remote=20website=20you=20are=20looking=20at=20with=20the=20browser.=20=20= See=0A-@uref{http://orgmode.org/worg/org-contrib/org-protocol.php}=20for=20= detailed=0A-documentation=20and=20setup=20instructions.=0A+You=20can=20= set=20up=20Org=20for=20handling=20protocol=20calls=20from=20outside=0A= +applications=20that=20are=20passed=20to=20Emacs=20through=20the=0A= +@file{emacsserver}.=20=20For=20example,=20you=20can=20configure=20= bookmarks=20in=0A+your=20web=20browser=20to=20send=20a=20link=20to=20the=20= current=20page=20to=20Org=20and=20create=0A+a=20note=20from=20it=20using=20= capture=20(@pxref{Capture}).=20=20Or=20you=20could=20create=20a=0A= +bookmark=20that=20will=20tell=20Emacs=20to=20open=20the=20local=20= source=20file=20of=20a=0A+remote=20website=20you=20are=20looking=20at=20= with=20the=20browser.=20=20=0A+=0A+@node=20About=20org-protocolel=0A= +@section=20About=20org-protocol.el=0A+@samp{org-protocol.el}=20is=20= based=20on=20code=20and=20ideas=20from=20= @uref{./org-annotation-helper.org,=20org-annotation-helper.el}=20and=0A= +@samp{org-browser-url.el}.=0A+=0A+"@samp{org-protocol:/sub-protocol:/}"=20= triggers=20actions=20associated=20with=20@samp{sub-protocol}=0A+through=20= the=20custom=20variable=20@samp{org-protocol-protocol-alist}.=0A+=0A+It=20= comes=20with=20four=20predefined=20handlers:=0A+@table=20@asis=0A+@item=20= @samp{org-protocol-store-link}=0A+=09triggered=20through=20the=20= sub-protocol=20"@samp{store-link}".=20Stores=20an=20Org-link=20and=0A= +pushes=20the=20URL=20to=20the=20@samp{kill-ring}.=0A+@item=20= @samp{org-protocol-capture}=0A+=09Fill=20a=20@samp{CAPTURE}=20buffer=20= with=20information=20gathered=20somewhere=20else.=20This=0A+handler=20is=20= triggered=20through=20the=20"@samp{capture}"=20sub-protocol=20and=20uses=20= the=0A+function=20@samp{org-capture}.=0A+@item=20= @samp{org-protocol-remember}=0A+=09Fills=20a=20remember=20buffer=20with=20= information=20gathered=20somewhere=20else.=20This=0A+handler=20is=20= triggered=20through=20the=20"@samp{remember}"=20sub-protocol=20and=20= still=0A+available=20for=20backward=20compatibility.=20This=20handler=20= uses=20@samp{org-remember}.=20Use=0A+the=20current=20= @samp{org-protocol-capture}.=0A+@item=20@samp{org-protocol-open-source}=0A= +=09"@samp{open-source}".=20Maps=20URLs=20to=20local=20filenames.=20Use=20= this=20to=20open=20sources=20of=0A+already=20published=20contents=20in=20= emacs=20for=20editing.=0A+@end=20table=0A+=0A+@samp{org-protocol}=20= helps=20creating=20custom=20handlers=20= @uref{../org-tutorials/org-protocol-custom-handler.org,=20(tutorial)}=20= and=20so=20called=0A+@samp{org-protocol-projects}.=0A+=0A+=0A+@@As=20= of=20Org=20mode=209.0=20a=20new=20org-protocol=20key=3Dvalue=20syntax=20= is=20supported@@=0A+=0A+Org-protocol=20can=20now=20handle=20= query-style=20parameters=20such=20as:=0A+=0A+@example=0A= +org-protocol://store-link?url=3Dhttp:%2F%2Flocalhost%2Findex.html&title=3D= The%20title=0A= +org-protocol://capture?template=3Dx&title=3DHello&body=3DWorld&url=3Dhttp= :%2F%2Fexample.com=0A+@end=20example=0A+=0A+Old-style=20links=20such=20= as=0A= +@samp{org-protocol://store-link:/http:%2F%2Flocalhost%2Findex.html/The%20= title}=0A+continue=20to=20be=20supported.=0A+=0A+If=20you=20have=20= defined=20your=20own=20handler=20functions=20for=0A= +@code{org-protocol-protocol-alist},=20change=20them=20to=20accept=20= either=20a=20property=0A+list=20(for=20new-style=20links)=20or=20a=20= string=20(for=20old-style=20links).=20=20Use=0A= +@code{org-protocol-parse-parameters}=20to=20convert=20old-style=20links=20= into=20property=0A+lists.=0A+=0A+@@As=20of=20Org=20mode=20release=20= 7.01=20@samp{org-protocol-remember}=20is=20now=20by=20= @samp{org-protocol-capture}.@@=0A+If=20not=20stated=20otherwise,=20= you=20may=20simply=20replace=20each=20occurrence=20of=0A+@emph{capture}=20= with=20@emph{remember}=20throughout=20this=20document,=20if=20you=20= still=20want=20to=20use=0A+remember=20templates.=20Use=20@samp{M-x=20= org-version}=20to=20find=20out=20about=20the=20version=20you're=0A= +using.=0A+=0A+=0A+@anchor{orga3188cf}=0A+=0A+@node=20Installation=0A= +@section=20Installation=0A+@itemize=0A+@item=0A+To=20load=20= org-protocol.el=20add=20the=20following=20to=20your=20@samp{.emacs}:=0A+=0A= +@example=0A+(server-start)=0A+(require=20'org-protocol)=0A+@end=20= example=0A+@end=20itemize=0A+=0A+@node=20Browser=20/=20system=20setup=0A= +@subsection=20Browser=20/=20system=20setup=0A+@itemize=0A+@item=0A= +@ref{Linux=20setup=20(Gnome)}=0A+@item=0A+@ref{Linux=20setup=20(KDE)}=0A= +@item=0A+@ref{Windows=20setup}=0A+@item=0A+@ref{macOS=20setup}=0A+@end=20= itemize=0A+=0A+@enumerate=0A+@item=0A+Linux=20setup=20(Gnome)=0A+=0A+For=20= this=20to=20work,=20you'll=20need=20the=20Gnome-Libraries=20to=20be=20= installed.=0A+=0A+@example=0A+gconftool-2=20-s=20= /desktop/gnome/url-handlers/org-protocol/command=20= '/usr/local/bin/emacsclient=20%s'=20--type=20String=0A+gconftool-2=20-s=20= /desktop/gnome/url-handlers/org-protocol/enabled=20--type=20Boolean=20= true=0A+@end=20example=0A+=0A+@item=0A+Linux=20setup=20(KDE)=0A+=0A+Add=20= a=20file=20@samp{org.protocol}=20to=20= @samp{~/.kde/share/kde4/services/}:=0A+=0A+@example=0A+#=20-*-=20conf=20= -*-=0A+[Protocol]=0A+protocol=3Dorg-protocol=0A= +exec=3D/usr/bin/emacsclient=20'%u'=0A+input=3Dnone=0A+output=3Dnone=0A= +helper=3Dtrue=0A+listing=3D=0A+reading=3Dfalse=0A+writing=3Dfalse=0A= +makedir=3Dfalse=0A+deleting=3Dfalse=0A+Icon=3Demacs=0A+Description=3DA=20= protocol=20for=20org-mode=0A+@end=20example=0A+=0A+@anchor{org3cb52a6}=0A= +=0A+@item=0A+Windows=20setup=0A+=0A+Windows=20users=20may=20register=20= the=20"@samp{org-protocol}"=20once=20for=20all=20by=20adjusting=20the=0A= +following=20to=20their=20facts,=20save=20it=20as=20*.reg=20file=20and=20= double-click=20it.=20This=0A+worked=20for=20me=20on=20Windows-XP=20= Professional=20and=20the=20emasc23=20from=20ourcomments.org=0A= +(@uref{http://ourcomments.org/cgi-bin/emacsw32-dl-latest.pl}).=20I'm=20= no=20Windows=20user=0A+though=20and=20enhancements=20are=20more=20than=20= welcome=20on=20the=20org-mode=20mailinglist.=20The=0A+original=20file=20= is=20from=20@uref{http://kb.mozillazine.org/Register_protocol}.=0A+=0A= +@example=0A+REGEDIT4=0A+=0A+[HKEY_CLASSES_ROOT\org-protocol]=0A= +@@=3D"URL:Org=20Protocol"=0A+"URL=20Protocol"=3D""=0A= +[HKEY_CLASSES_ROOT\org-protocol\shell]=0A= +[HKEY_CLASSES_ROOT\org-protocol\shell\open]=0A= +[HKEY_CLASSES_ROOT\org-protocol\shell\open\command]=0A= +@@=3D"\"C:\\Programme\\Emacs\\emacs\\bin\\emacsclientw.exe\"=20\"%1\""=0A= +@end=20example=0A+=0A+@item=0A+macOS=20setup=0A+=0A+To=20bridge=20= external=20calls=20to=20emacs=20you=20need=20to=20install=20a=0A= +protocol-handler.=20= @uref{https://github.com/aaronbieber/org-protocol-handler/commits/master/C= ommits%20%C2%B7%20aaronbieber/org-protocol-handler/,=20Aaron=20Bieber's=20= org-protocol-handler}=20will=20work=20fine.=0A+=0A+If=20you=20are=20= using=20a=20macOS=20native=20Emacs,=20it=20is=20recommended=20to=20use=20= the=0A+emacsclient=20bundled=20with=20Emacs.=20Such=20as=0A= +@samp{/Applications/Emacs.app/Contents/MacOS/bin/emacsclient}=20in=20= the=20case=0A+of=20@uref{https://emacsformacosx.com,=20Emacs=20For=20Mac=20= OS=20X}.=0A+=0A+After=20installing=20the=20protocol-handler=20you=20= should=20then=20@ref{Verify=20the=20installation}.=20Once=20verified,=20= you=20can=20begin=20using=20org-protocol.=0A+=0A+The=20= @uref{https://bitbucket.org/mituharu/emacs-mac,=20Emacs=20Mac=20Port}=20= comes=20with=20org-protocol.=20No=20installation=20of=20a=0A+protocol=20= handler=20is=20needed=20with=20it.=0A+@end=20enumerate=0A+=0A+@node=20= Applications=0A+@subsection=20Applications=0A+@anchor{org91000c6}=0A+=0A= +@enumerate=0A+@item=0A+Firefox=0A+=0A+If=20you=20are=20using=20Firefox=20= on=20macOS,=20see=20@ref{macOS=20setup}.=20=0A+=0A+=0A+Please=20refer=20= to=20@uref{http://kb.mozillazine.org/Register_protocol}=20and=20use=0A= +"org-protocol"=20as=20protocol.=0A+=0A+@anchor{org83914ec}=0A+=0A+@item=0A= +Acrobat=20Reader=0A+=0A+Adapted=20from=20= @uref{http://article.gmane.org/gmane.emacs.orgmode/6810}=0A+=0A+You=20= place=20a=20javascript=20file=20for=20each=20menu=20entry=20in=0A= +@samp{~/.adobe/Acrobat//JavaScripts}=20on=20unix-like=20= systems=20or=0A+@samp{c:/Program=20Files/Adobe/Acrobat=20= /Reader/Javascripts/}=20on=0A+Windows,=20or=20wherever=20your=20= Adobe=20Reader=20Installation=20might=20look=20for=0A+javascript.=0A+=0A= +The=20examples=20given=20here=20will=20place=20new=20menu=20entries=20= in=20the=20"Tools"=0A+menu,=20after=20restarting=20Adobe=20Reader.=0A+=0A= +@anchor{org6e6a1d8}=0A+=0A+@enumerate=0A+@item=0A+org-store-link.js=0A+=0A= +@example=0A+//=20from=20= http://article.gmane.org/gmane.emacs.orgmode/6810=0A= +app.addMenuItem(@{cName:"org-store-link",=20cParent:"Tools",=0A+=20=20=20= cExec:"app.launchURL('org-protocol://store-link://'=20+=20= encodeURIComponent(this.URL)=20+=20'/'=20+=20= encodeURIComponent(this.info.Title));"@});=0A+@end=20example=0A+=0A= +@anchor{orgdd4727b}=0A+=0A+@item=0A+org-capture.js=0A+=0A+@example=0A= +//=20from=20http://article.gmane.org/gmane.emacs.orgmode/6810=0A= +app.addMenuItem(@{cName:"org-capture",=20cParent:"Tools",=0A+=20=20=20= cExec:"app.launchURL('org-protocol://capture://'=20+=20= encodeURIComponent(this.URL)=20+=20'/'=20+=20= encodeURIComponent(this.info.Title)=20+=20'/');"@});=0A+@end=20example=0A= +=0A+And=20this=20one,=20if=20you=20still=20use=20remember=20templates:=0A= +=0A+@anchor{org3949e6c}=0A+=0A+@item=0A+org-remember.js=0A+=0A+@example=0A= +//=20from=20http://article.gmane.org/gmane.emacs.orgmode/6810=0A= +app.addMenuItem(@{cName:"org-remember",=20cParent:"Tools",=0A+=20=20=20= cExec:"app.launchURL('org-protocol://remember://'=20+=20= encodeURIComponent(this.URL)=20+=20'/'=20+=20= encodeURIComponent(this.info.Title)=20+=20'/');"@});=0A+@end=20example=0A= +=0A+=0A+@anchor{org6ef67df}=0A+@end=20enumerate=0A+=0A+@item=0A+Opera=0A= +=0A+If=20you=20are=20using=20Opera=20on=20macOS,=20see=20@ref{macOS=20= setup}.=20=0A+=0A+Opera=20setup=20is=20described=20here:=0A= +@uref{http://www.opera.com/support/kb/view/535/}.=0A+=0A+To=20set=20up=20= opera=20for=20use=20with=20org-protocol,=20follow=20these=20steps:=0A+=0A= +@enumerate=0A+@item=0A+Choose=20"@emph{Tools}"=20->=20= "@emph{Prefences}"=20from=20the=20menu.=0A+@item=0A+Select=20the=20tab=20= "@emph{Advanced}".=0A+@item=0A+Choose=20"@emph{Programs}"=20from=20the=20= list=20on=20the=20left.=0A+@item=0A+Now=20click=20the=20button=20= "@emph{Add}"=20on=20the=20very=20right.=0A+@item=0A+In=20the=20new=20= dialog=20window,=20enter=20"@samp{org-protocol}"=20as=20= "@emph{Protocol}",=20choose=20the=0A+radio=20button=20"@emph{Open=20with=20= other=20application}"=20and=20enter=20the=20path=20to=0A+emacsclient.=0A= +@end=20enumerate=0A+=0A+@anchor{orgb32e0fa}=0A+=0A+@item=0A+Safari=0A+=0A= +To=20use=20org-protocol=20add=20a=20bookmark=20to=20your=20favorites=20= bar.=20=0A+Doing=20that=20enables=20you=20to=20trigger=20the=20bookmark=20= by=20a=20keystroke.=20=0A+=0A+Here=20is=20the=20URL=20to=20use=20as=20= "@emph{Location}"=20for=20browser=20bookmarks.=20Just=20remove=20the=0A= +line=20breaks,=20replace=20"@samp{sub-protocol}"=20with=20the=20real=20= sub-protocol=20to=20use=20and=20=0A+exchange=20the=20@samp{x}=20with=20= the=20template=20shortcut=20of=20your=20choice.=0A+=0A+@example=0A= +javascript:(function()@{window.location.href=3D'org-protocol://sub-protoc= ol?=0A+template=3Dx&url=3D'+encodeURIComponent(window.location.href)+=0A= +'&title=3D'+encodeURIComponent(document.title)+=0A= +'&body=3D'+encodeURIComponent(window.getSelection());@})();=0A+@end=20= example=0A+@end=20enumerate=0A+=0A+@node=20Verify=20the=20installation=0A= +@subsection=20Verify=20the=20installation=0A+After=20your=20protocol=20= is=20registered=20with=20your=20browser/OS,=20these=20links=20here=0A= +should=20work.=20Click=20on=20them=20and=20see=20if=20emacs=20reacts:=0A= +=0A+@html=0A+
    =0A+=20
  • Org=20= store-link
  • =0A+=20
  • Org=20= capture=20(select=20some=20text=20if=20you=20like)
  • =0A+=20
  • Org=20remember=20(select=20some=20text=20= please)
  • =0A+
=0A+@end=20html=0A+=0A+=0A+@anchor{org6223309}=0A= +@strong{*}=20Using=20org-protocol=0A+=0A+To=20actually=20use=20= org-protocol=20add=20a=20bookmark=20to=20Firefox=20or=20Opera.=0A+=0A= +Here=20is=20the=20URL=20to=20use=20as=20"@emph{Location}"=20for=20= browser=20bookmarks.=20Just=20remove=20the=0A+line=20breaks=20and=20= replace=20"@samp{sub-protocol}"=20with=20the=20real=20sub-protocol=20to=20= use:=0A+=0A+@example=0A= +javascript:location.href=3D'org-protocol://sub-protocol?=0A+=20=20=20=20= =20=20=20=20=20=20=20= template=3Dx&url=3D'+encodeURIComponent(window.location.href)+=0A+=20=20=20= =20=20=20=20=20=20=20=20'&title=3D'+encodeURIComponent(document.title)+=0A= +=20=20=20=20=20=20=20=20=20=20=20= '&body=3D'+encodeURIComponent(window.getSelection());@})();=0A+@end=20= example=0A+=0A+This=20URL=20may=20be=20used=20for=20all=20three=20= standard=20handlers=20in=20@samp{org-protocol.el}.=20Some=0A+of=20the=20= values=20will=20be=20ignored=20(e.g.=20@samp{store-link:/}=20will=20use=20= the=20URL=20and=20title=0A+only).=0A+=0A+@anchor{org15dcbb6}=0A+=0A= +@menu=0A+*=20Browser=20/=20system=20setup::=0A+*=20Applications::=0A+*=20= Verify=20the=20installation::=0A+@end=20menu=0A+=0A+@node=20Links=20and=20= bookmarks=20@samp{org-protocol-store-link}=0A+@section=20Links=20and=20= bookmarks:=20@samp{org-protocol-store-link}=0A+@samp{org-store-link}=20= stores=20an=20Org-link=20insertable=20through=20@samp{M-x=20= org-insert-link}=20and=0A+pushes=20the=20URL=20found=20onto=20the=20= @samp{kill-ring}=20for=20yanking=20(@samp{C-y}).=20The=20sub-protocol=0A= +used=20is=20"@samp{store-link}":=0A+=0A+@example=0A+emacsclient=20= org-protocol://store-link?url=3DURL&title=3DTITLE=0A+@end=20example=0A+=0A= +will=20store=20this=20Org-link:=0A+=0A+@example=0A+[[URL][TITLE]]=0A= +@end=20example=0A+=0A+In=20addition,=20@samp{URL}=20will=20be=20pushed=20= on=20the=20@samp{kill-ring}=20for=20yanking=20('@samp{C-y}').=20You=20= will=0A+have=20to=20encode=20@samp{URL}=20and/or=20@samp{TITLE}=20if=20= they=20contain=20slashes,=20and=20probably=20quote=0A+those=20for=20the=20= shell.=0A+=0A+To=20use=20this=20feature,=20add=20a=20bookmark=20with=20= an=20arbitrary=20name=20(e.g.=0A+"@emph{Org:=20store-link}")=20and=20= enter=20this=20as=20"@samp{Location}":=0A+=0A+@example=0A= +javascript:location.href=3D'org-protocol://store-link?url=3D'+encodeURICo= mponent(location.href)=0A+@end=20example=0A+=0A+@anchor{org00a295d}=0A+=0A= +@node=20Note=20taking=20and=20citations=20@samp{org-protocol-capture}=0A= +@section=20Note=20taking=20and=20citations:=20= @samp{org-protocol-capture}=0A+This=20one=20is=20triggered=20through=20= the=20sub-protocol=20"@samp{capture}"=20and=20consumes=20up=20to=0A+four=20= data=20fields:=0A+=0A+@example=0A+emacsclient=20= org-protocol:/capture?template=3DTEMPLATE?url=3DURL?title=3DTITLE?body=3DB= ODY=0A+@end=20example=0A+=0A+will=20pop=20up=20an=20= @emph{@strong{Capture}}=20buffer=20and=20fill=20the=20template=20with=20= the=20data=0A+submitted.=0A+=0A+To=20use=20this=20feature,=20add=20a=20= bookmark=20with=20an=20arbitrary=20name=20(e.g.=0A+"@emph{Org:=20= capture}")=20and=20enter=20this=20as=20"@samp{Location}":=0A+=0A+=0A= +@example=0A+javascript:location.href=3D'org-protocol://capture?=0A+=20=20= =20=20=20=20=20=20=20=20=20= template=3Dx&url=3D'+encodeURIComponent(window.location.href)+=0A+=20=20=20= =20=20=20=20=20=20=20=20'&title=3D'+encodeURIComponent(document.title)+=0A= +=20=20=20=20=20=20=20=20=20=20=20= '&body=3D'+encodeURIComponent(window.getSelection());@})();=0A+@end=20= example=0A+=0A+The=20result=20depends=20on=20the=20template=20used.=20= See=20@ref{org2eb70b8,=20,=20An=20example=20capture=20template}=0A= +further=20down.=0A+=0A+Note,=20that=20this=20one,=20as=20opposed=20to=20= the=20other=20two=20standard=20handlers,=20does=20not=0A+mix=20with=20= more=20parameters=20to=20emacsclient.=20All=20parameters=20but=20the=0A= +#'@samp{org-protocol://capture?...}'=20one=20will=20be=20discarded.=0A+=0A= +@anchor{org7e3d71c}=0A+=0A+@node=20Which=20capture=20template=20is=20= used?=0A+@subsection=20Which=20capture=20template=20is=20used?=0A+You=20= don't=20need=20to=20setup=20a=20capture=20template=20to=20use=20= @samp{org-protocol-capture},=0A+since=20Org-mode=20provides=20a=20= default=20template=20for=20those=20cases.=20=20Newer=20versions=0A= +provide=20an=20interactive=20interface=20for=20choosing=20a=20template.=20= =20You=20may=20provide=20a=0A+template=20to=20be=20used=20by=20= customizing=20the=20variable=0A+@samp{org-capture-default-template}=20= @footnote{Before=20commit=20= @samp{fc49c1ec96b2c789f573ae1ba936b930a8494402},=203rd=20Sept.=202010,=0A= +if=20a=20template=20with=20the=20key=20string=20"@samp{w}"=20was=20= defined,=20this=20one=20was=20chosen=20by=0A+default.=20=20This=20was=20= done=20to=20make=20bookmarks=20used=20for=20= @uref{./org-annotation-helper.el,=20org-annotation-helper}=20work=0A= +without=20changing=20the=20template.}.=0A+=0A+The=20problem=20with=20= this=20solution=20would=20be,=20that=20only=20one=20template=20can=20be=20= used=0A+with=20the=20fuction.=20If=20this=20approach=20fit=20your=20= needs=20you=20might=20omit=0A+the=20@samp{template}=20parameter=20in=20= the=20@ref{org6223309,=20,=20example=20above}.=0A+=0A+=0A= +@anchor{org2eb70b8}=0A+=0A+@enumerate=0A+@item=0A+An=20example=20= capture=20template=0A+=0A+@lisp=0A+(setq=20org-capture-templates=0A+=20=20= =20=20=20=20(quote=0A+=20=20=20=20=20=20=20(("w"=0A+=09=20"Default=20= template"=0A+=09=20entry=0A+=09=20(file+headline=20"~/org/capture.org"=20= "Notes")=0A+=09=20"*=20%^@{Title@}\n\n=20=20Source:=20%u,=20%c\n\n=20=20= %i"=0A+=09=20:empty-lines=201)=0A+=09;;=20...=20more=20templates=20here=20= ...=0A+=09)))=0A+@end=20lisp=0A+=0A+@table=20@asis=0A+@item=20"@samp{w}"=0A= +makes=20this=20one=20the=20default=20template=20used=20for=0A= +"@samp{org-protocol://capture://}"=20URLs.=0A+@item=20@samp{entry}=0A= +makes=20it=20a=20regular=20entry=20with=20a=20headline.=0A+@item=20= @samp{file+headline}=0A+files=20the=20note=20in=20file=20= "@samp{~/org/capture.org}"=20as=20child=20of=0A+the=20headline=20= "@samp{Notes}"=0A+@item=20'@samp{%c}'=0A+will=20be=20replaced=20by=20an=20= Org-link=20pointing=20to=20the=20location=20of=20the=0A+page=20you=20= have=20been=20visiting=20when=20clicking=20on=20the=20link.=20The=20page=0A= +title=20will=20be=20the=20link's=20description.=0A+@item=20'@samp{%i}'=0A= +will=20be=20replaced=20by=20the=20selected=20text=20in=20your=20browser=20= window=20if=0A+any.=0A+@end=20table=0A+=0A+In=20addition,=20you=20may=20= use=20the=20following=20placeholders=20in=20your=20template:=0A+=0A= +@multitable=20{aaaaaaaaaaaaaaa}=20{aaaaaaaaaaaaaaaaaaaaaaaaa}=0A= +@headitem=20Placeholders=0A+@tab=20Replacement=0A+@item=20@samp{%:link}=0A= +@tab=20URL=20of=20the=20web-page=0A+@item=20@samp{%:description}=0A= +@tab=20The=20title=20of=20the=20web-page=0A+@item=20@samp{%:initial}=0A= +@tab=20Selected=20text.=0A+@end=20multitable=0A+=0A+You=20may=20read=20= more=20about=20templates=20and=20their=20special=20escape=20characters=20= in=20the=0A= +@uref{http://orgmode.org/manual/Capture-templates.html#Capture-templates,= =20Org-mode=20manual}.=0A+=0A+=0A+@anchor{org897a9c6}=0A+@end=20= enumerate=0A+=0A+@node=20Org-protocol-remember=0A+@subsection=20= Org-protocol-remember=0A+The=20@samp{org-protocol-remember}=20handler=20= is=20now=20obsolete.=20=20However,=20the=20handler=20is=0A+still=20= available=20for=20backward=20compatibility.=20=20To=20use=20this=20= handler,=20closely=0A+follow=20the=20setup=20for=20the=20current=20= @samp{org-protocol-capture}=20handler,=20and=20simply=0A+replace=20each=20= occurrence=20of=20@emph{capture}=20with=20@emph{remember}.=0A+=0A+As=20= remember=20templates=20look=20slightly=20different=20than=20capture=20= templates,=20we=0A+provide=20an=20example=20here.=0A+=0A= +@anchor{org8b49459}=0A+=0A+@enumerate=0A+@item=0A+An=20example=20= remember=20template=0A+=0A+@lisp=0A+(setq=20org-remember-templates=0A+=20= =20=20=20=20=20'((?w=20"*=20%^@{Title@}\n\n=20=20Source:=20%u,=20%c\n\n=20= =20%i"=20nil=20"Notes")))=0A+@end=20lisp=0A+=0A+@table=20@asis=0A+@item=20= '@samp{?w}'=0A+makes=20this=20one=20the=20default=20template=20used=20= for=0A+"@samp{org-protocol://remember://}"=20URLs.=0A+@item=20= '@samp{%c}'=0A+will=20be=20replaced=20by=20an=20Org-link=20pointing=20to=20= the=20location=20of=20the=0A+page=20you=20have=20been=20visiting=20when=20= clicking=20on=20the=20link.=20The=20page=0A+title=20will=20be=20the=20= link's=20description.=0A+@item=20'@samp{%i}'=0A+will=20be=20replaced=20= by=20the=20selected=20text=20in=20your=20browser=20window=20if=0A+any.=0A= +@end=20table=0A+=0A+In=20addition,=20you=20may=20use=20the=20following=20= placeholders=20in=20your=20template:=0A+=0A+@multitable=20= {aaaaaaaaaaaaaaa}=20{aaaaaaaaaaaaaaaaaaaaaaaaa}=0A+@headitem=20= Placeholders=0A+@tab=20Replacement=0A+@item=20@samp{%:link}=0A+@tab=20= URL=20of=20the=20web-page=0A+@item=20@samp{%:description}=0A+@tab=20The=20= title=20of=20the=20web-page=0A+@item=20@samp{%:initial}=0A+@tab=20= Selected=20text.=0A+@end=20multitable=0A+=0A+You=20may=20read=20more=20= about=20templates=20and=20their=20special=20escape=20characters=20in=20= the=0A= +@uref{http://orgmode.org/manual/Capture-templates.html#Capture-templates,= =20Org-mode=20manual}.=0A+=0A+@anchor{org19b05e1}=0A+@end=20enumerate=0A= +=0A+@menu=0A+*=20Which=20capture=20template=20is=20used?::=0A+*=20= Org-protocol-remember::=0A+@end=20menu=0A+=0A+@node=20Edit=20published=20= content=20@samp{org-protocol-open-source}=0A+@section=20Edit=20published=20= content:=20@samp{org-protocol-open-source}=0A+This=20one=20was=20= designed=20to=20help=20with=20opening=20sources=20for=20editing=20when=20= browsing=0A+in=20the=20first=20place.=20@samp{org-protocol-open-source}=20= uses=20the=20custom=20variable=0A+@samp{org-protocol-project-alist}=20to=20= map=20URLs=20to=20(local)=20filenames.=0A+=0A+Let's=20take=20= @uref{http://orgmode.org/worg/}=20as=20our=20example.=0A+=0A+Our=20= intention=20is=20to=20click=20a=20bookmark=20(or=20link)=20to=20open=20= the=20source=20of=20the=0A+published=20file=20we=20are=20reading=20in=20= our=20favourite=20editor.=20The=20bookmark-URL=20above=0A+could=20be=20= used=20again.=20But=20since=20@samp{org-protocol-open-source}=20regards=20= the=20first=0A+field=20only,=20this=20here=20will=20do:=0A+=0A+@example=0A= +javascript:location.href=3D'org-protocol://open-source://'+encodeURICompo= nent(location.href)=0A+@end=20example=0A+=0A+To=20open=20files=20= published=20on=20Worg=20locally,=20@samp{org-protocol-project-alist}=20= should=20look=0A+like=20this=20(you=20may=20skip=20the=20second=20= project):=0A+=0A+@lisp=0A+(setq=20org-protocol-project-alist=0A+=20=20=20= =20=20=20'(("Worg"=0A+=09=20:base-url=20"http://orgmode.org/worg/"=0A+=09= =20:working-directory=20"/home/user/worg/"=0A+=09=20:online-suffix=20= ".html"=0A+=09=20:working-suffix=20".org")=0A+=09("My=20local=20= Org-notes"=0A+=09=20:base-url=20"http://localhost/org/"=0A+=09=20= :working-directory=20"/home/user/org/"=0A+=09=20:online-suffix=20".php"=0A= +=09=20:working-suffix=20".org")))=0A+@end=20lisp=0A+=0A+If=20you're=20= now=20browsing=20= @uref{http://orgmode.org/worg/org-contrib/org-protocol.html}=0A+and=20= find=20a=20typo=20or=20have=20an=20idea=20how=20to=20enhance=20the=20= documentation,=20simply=20click=0A+the=20bookmark=20and=20start=20= editing.=0A+=0A+=0A+If=20you=20are=20using=20hugo=20to=20publish=20Org=20= files.=20The=20configuration=20is=0A+slightly=20differnet=20as=20you=20= have=20to=20name=20the=20whole=20filename=20of=20@samp{index.org}.=0A+If=20= you=20clone=20the=20repo=20given=20in=20the=20example=20below=20you=20= could=20you=20try=20out=20the=20following:=0A+@lisp=0A+("Hugo=20based=20= MobileOrg=20Documentation=20Site"=0A+=20:base-url=20= "https://mobileorg.github.io/"=0A+=20:working-directory=20= "~/Documents/Github/MobileOrg/mobileorg.github.io/content/"=0A+=20= :online-suffix=20".html"=0A+=20:working-suffix=20"index.org")=0A+@end=20= lisp=0A+=0A+For=20blogs=20and=20date-style=20URI=20please=20see=20= @ref{orgc5ad545,=20,=20Handle=20rewritten=20URLs}=0A+=0A+=0A+There=20are=20= two=20functions=20to=20help=20you=20fill=20= @samp{org-protocol-project-alist}=20with=0A+valid=20contents.=20One=20= possibility=20is=20@samp{org-protocol-create}=20that=20guides=20you=20= through=0A+the=20process.=20If=20you're=20editing=20an=20Org-mode=20file=20= that=20is=20part=20of=20a=20publishing=0A+project=20in=20= @samp{org-publish-project-alist},=20try=0A+=0A+@example=0A+M-x=20= org-protocol-create-for-org=20RET=0A+@end=20example=0A+=0A= +@anchor{orgc5ad545}=0A+=0A+@node=20Handle=20rewritten=20URLs=0A= +@subsection=20Handle=20rewritten=20URLs=0A+In=20some=20cases,=20= replacing=20@samp{:base-url}=20with=20@samp{:working-directory}=20and=0A= +@samp{:online-suffix}=20with=20@samp{:working-suffix}=20will=20not=20= yield=20the=20desired=20results.=0A+=0A+Suppose=20you=20maintain=20an=20= online=20store=20located=20at=20@samp{http://example.com/}.=20The=0A= +local=20sources=20reside=20in=20@samp{/home/user/example/}.=20While=20= most=20of=20the=20URLs=20map=0A+directly=20to=20local=20file=20names=20= by=20stripping=20URL=20parameters=20from=20the=20end=20and=0A+replacing=20= the=20@samp{:base-url}=20with=20@samp{:working-diretory}=20and=20= @samp{:online-suffix}=20with=0A+@samp{:working-suffix},=20this=20might=20= not=20work=20for=20rewritten=20URLs.=20It's=20common=0A+practice=20to=20= serve=20all=20products=20in=20such=20a=20store=20through=20one=20file=20= and=20rewrite=0A+URLs=20that=20do=20not=20match=20an=20existing=20file=20= on=20the=20server.=0A+=0A+That=20way,=20a=20request=20to=20= @samp{http://example.com/print/posters-A4.html}=20might=20be=0A= +rewritten=20on=20the=20server=20to=20something=20like=0A= +@samp{http://example.com/shop/products.php/posters-A4.html.php},=20= where=0A+@samp{/posters-A4-digital.html.php}=20is=20the=20so=20called=20= path=20info.=20Note=20that=20the=0A+browser=20will=20not=20notice=20the=20= rewrite.=0A+=0A+If=20you=20now=20click=20your=20= @samp{org-protocol://open-source://}=20bookmark,=20the=20handler=0A+will=20= probably=20not=20find=20a=20file=20named=0A= +@samp{/home/user/example/print/posters-A4.html.php}=20and=20fail.=0A+=0A= +Or,=20even=20more=20simple,=20assume=20you're=20browsing=20= @samp{http://example.com/}.=20A=20file=0A+named=20= @samp{/home/user/example/.php}=20is=20not=20likely=20to=20exist.=0A+=0A= +Since=20Org-mode=20commit=20= @samp{69b46e10aab3b2374ecbc1a963ba56e77102a9a4}=20from=2015th=0A+Nov.=20= 2009,=20such=20an=20entry=20in=20@samp{org-protocol-project-alist}=20may=20= hold=20an=0A+additional=20property=20@samp{:rewrites}.=20This=20property=20= is=20a=20list=20of=20cons=20cells,=20each=0A+of=20which=20maps=20a=20= regular=20expression=20to=20a=20path=20relative=20to=20the=0A= +@samp{:working-directory}.=0A+=0A+Now=20map=20the=20URL=20to=20the=20= path=20@samp{/home/user/example/products.php}=20by=20adding=20the=0A= +@samp{:rewrites}=20property=20like=20this:=0A+=0A+@lisp=0A+(setq=20= org-protocol-project-alist=0A+=20=20=20=20=20'(("example.com"=0A+=09= :base-url=20"http://example.com/"=0A+=09:working-directory=20= "/home/user/example/"=0A+=09:online-suffix=20".php"=0A+=09= :working-suffix=20".php"=0A+=09:rewrites=20(("example.com/print/"=20.=20= "products.php")=0A+=09=09=20=20=20("example.com/$"=20.=20"index.php"))=0A= +=09)))=0A+@end=20lisp=0A+=0A+Guess=20what=20the=20second=20= @samp{:rewrites}=20element=20does.=20Since=20@samp{example.com/$}=20is=20= used=20as=0A+a=20regular=20expression,=20it=20maps=20= @samp{http://example.com/},=20@samp{https://example.com},=0A= +@samp{http://www.example.com/}=20and=20similar=20to=20= @samp{/home/user/example/index.php}.=0A+=0A+If=20you=20are=20using=20= date=20style=20URLs=20like=20= @samp{https://cool-blog.com/2017/05/20/cool-post/},=0A+the=20following=20= setup=20could=20be=20useful.=0A+=0A+@lisp=0A+(setq=20= org-protocol-project-alist=0A+=20=20'(("Icarus=20based=20blog"=0A+=20=20=20= =20=20:base-url=20"https://cool-blog.com/"=0A+=20=20=20=20=20= :working-directory=20= "~/MyBlog/themes/hugo-icarus-theme/exampleSite/content/post/"=0A+=20=20=20= =20=20:online-suffix=20".html"=0A+=20=20=20=20=20:working-suffix=20= ".org"=20;;=20or=20".md"=0A+=20=20=20=20=20:rewrites=20= (("\\(https://cool-blog.com/[0-9]+/[0-9]+/[0-9]+/\\)"=20.=20".org"))=0A+=20= =20=20=20=20)))=0A+@end=20lisp=0A+=0A+The=20@samp{:rewrites}=20are=20= searched=20as=20a=20last=20resort=20if=20and=20only=20if=20no=20existing=20= file=0A+name=20is=20matched.=0A+=0A+@menu=0A+*=20Handle=20rewritten=20= URLs::=0A+@end=20menu=0A+=0A+@node=20Other=20browsers=0A+@section=20= Other=20browsers=0A+#@anchor{org7b66bec}=0A+=0A+@node=20Conkeror=20setup=0A= +@subsection=20Conkeror=20setup=0A+Setting=20up=20org-protocol=20in=20= @uref{http://conkeror.org/,=20Conkeror}=20(an=20emacs=20inspired=20= Mozilla=20web=0A+browser)=20requires=20a=20slightly=20different=20= method.=20You=20may=20simply=20add=20the=0A+following=20snippets=20of=20= code=20to=20your=20.conkerorrc=20file.@footnote{Adapted=20from=20Tassilo=20= Horn's=20blog,=20"Calling=0A+org-remember=20from=20inside=20conkeror,"=20= November=2014,=202008.=0A= +@uref{http://tsdh.wordpress.com/2008/11/14/calling-org-remember-from-insi= de-conkeror/}}=0A+Please=20note=20that=20the=20URIs=20used=20are=20of=20= the=20old=20style=20before=20Org=0A+9.0.=20You=20might=20want=20to=20= change=20them=20to=20the=20new=20style.=0A+=0A+For=20org-store-link,=20= add=20the=20following=20to=20.conkerorrc:=0A+=0A+@example=0A+function=20= org_store_link=20(url,=20title,=20window)=20@{=0A+=20=20=20=20var=20= cmd_str=20=3D=20'emacsclient=20= \"org-protocol://store-link://'+url+'/'+title+'\"';=0A+=20=20=20=20if=20= (window=20!=3D=20null)=20@{=0A+=09window.minibuffer.message('Issuing=20'=20= +=20cmd_str);=0A+=20=20=20=20@}=0A+=20=20=20=20= shell_command_blind(cmd_str);=0A+@}=0A+=0A+interactive("org-store-link",=20= "Stores=20[[url][title]]=20as=20org=20link=20and=20copies=20url=20to=20= emacs=20kill=20ring",=0A+=09=20=20=20=20function=20(I)=20@{=0A+=09=09= org_store_link(encodeURIComponent(I.buffer.display_uri_string),=20= encodeURIComponent(I.buffer.document.title),=20I.window);=0A+=09=20=20=20= =20@});=0A+@end=20example=0A+=0A+For=20org-capture=20(or=20org-remember=20= ---=20just=20exchange=20@emph{capture}=20with=20@emph{remember}),=20use=0A= +the=20following:=0A+=0A+@example=0A+function=20org_capture=20(url,=20= title,=20selection,=20window)=20@{=0A+=20=20=20=20var=20cmd_str=20=3D=20= 'emacsclient=20= \"org-protocol://capture://'+url+'/'+title+'/'+selection+'\"';=0A+=20=20=20= =20if=20(window=20!=3D=20null)=20@{=0A+=09= window.minibuffer.message('Issuing=20'=20+=20cmd_str);=0A+=20=20=20=20@}=0A= +=20=20=20=20shell_command_blind(cmd_str);=0A+@}=0A+=0A= +interactive("org-capture",=20"Clip=20url,=20title,=20and=20selection=20= to=20capture=20via=20org-protocol",=0A+=09=20=20=20=20function=20(I)=20= @{=0A+=09=09org_capture(encodeURIComponent(I.buffer.display_uri_string),=20= encodeURIComponent(I.buffer.document.title),=20= encodeURIComponent(I.buffer.top_frame.getSelection()),=20I.window);=0A+=09= =20=20=20=20@});=0A+@end=20example=0A+=0A+Now,=20you=20should=20be=20= able=20to=20invoke=20the=20commands=20from=20within=20conkeror=0A+with=20= @samp{M-x=20org-store-link}=20and=20@samp{M-x=20org-capture}=20(or=20= remember).=0A+=0A+Or,=20if=20you'd=20like=20your=20familiar=20emacs=20= keybindings,=20you=20can=20add=20the=0A+following=20to=20your=20= .conkerorrc:=0A+=0A+@example=0A+define_key(content_buffer_normal_keymap,=20= "C-c=20r",=20"org-capture");=0A+define_key(content_buffer_normal_keymap,=20= "C-c=20l",=20"org-store-link");=0A+@end=20example=0A+=0A+@node=20Uzbl=0A= +@subsection=20Uzbl=0A+Uzbl=20is=20a=20minimalistic=20webkit=20browser=20= for=20Unix/Linux.=0A+=0A+@itemize=0A+@item=0A= +@uref{http://www.uzbl.org/}=0A+@end=20itemize=0A+=0A+You=20can=20pass=20= encoded=20url=20data=20from=20uzbl=20to=20org-protocol=20by=20adding=20= the=0A+following=20lines=20to=20@samp{.config/uzbl/config}.=0A+=0A= +@example=0A+=0A+#=20Org-protocol=0A+=0A+@@cbind=20=09\\r=20=3D=20sh=20= 'emacsclient=20= "org-protocol://capture://\@@\@@= /\@@\@@/\@@\@= @"'=0A+@@cbind=20=09\\l=20=3D=20sh=20'emacsclient=20= "org-protocol://capture://\@@\@@= /\@@\@@"'=0A+=0A+@end=20example=0A+=0A= +These=20bind=20org-protocol-capture=20and=20org-store-line=20to=20""=20= and=20""=20respectively.=0A+=0A+@anchor{org3e33b3e}=0A+=0A+@node=20= Keybindings=20for=20Firefox=0A+@subsection=20Keybindings=20for=20Firefox=0A= +Please=20note=20that=20the=20URIs=20used=20are=20of=20the=20old=20style=20= before=20Org=0A+9.0.=20You=20might=20want=20to=20change=20them=20to=20= the=20new=20style.=0A+=0A+You=20can=20add=20key=20bindings=20for=20the=20= @samp{org-protocol}=20commands=20using=20the=20keyconfig=0A+Firefox=20= extension.=0A+=0A+First,=20install=20keyconfig=20from=20= @uref{http://mozilla.dorando.at/keyconfig.xpi}.=0A+=0A+Open=20the=20= keyconfig=20dialog=20by=20going=20to=20Tools=20and=20then=20Keyconfig.=0A= +=0A+Click=20the=20'Add=20a=20new=20Key'=20button.=20Enter=20"Org=20= store=20link"=20as=20the=20name.=0A+Enter=20the=20following=20in=20the=20= box=20with=20@emph{*=20CODE=20*}=20in=20it:=0A+=0A+@example=0A+var=20= orgProtoString=20=3D=20'org-protocol://store-link://'+=0A+=20=20= encodeURIComponent(gBrowser.currentURI.spec)=20+=20'/'=20+=0A+=20=20= encodeURIComponent(gBrowser.contentWindow.document.title)=20+=20'/'=20+=0A= +=20=20encodeURIComponent(gBrowser.contentWindow.getSelection());=0A+=0A= +gBrowser.loadURI(orgProtoString);=0A+@end=20example=0A+=0A+Click=20OK.=20= You=20will=20then=20need=20to=20bind=20a=20key=20by=20clicking=20in=20= the=20box=20next=20to=20the=0A+'Apply'=20button=20and=20pressing=20= whatever=20key=20combination=20you=20want.=20Click=20'Apply'=20to=0A= +store=20the=20keybinding.=0A+=0A+Repeat=20the=20steps,=20but=20call=20= the=20next=20key=20"Org=20capture"=20and=20use=20the=20code=20below:=0A+=0A= +@example=0A+var=20orgProtoString=20=3D=20'org-protocol://capture://'+=0A= +=20=20encodeURIComponent(gBrowser.currentURI.spec)=20+=20'/'=20+=0A+=20=20= encodeURIComponent(gBrowser.contentWindow.document.title)=20+=20'/'=20+=0A= +=20=20encodeURIComponent(content.window.getSelection());=0A+=0A= +gBrowser.loadURI(orgProtoString);=0A+@end=20example=0A+=0A+Click=20= Close,=20then=20OK,=20and=20then=20restart=20Firefox.=20You=20should=20= then=20be=20able=20to=0A+access=20the=20org-protocol=20functions=20with=20= your=20chosen=20keys.=0A+=0A+@anchor{orgcd7acf4}=0A+=0A+@menu=0A+*=20= Conkeror=20setup::=0A+*=20Uzbl::=0A+*=20Keybindings=20for=20Firefox::=0A= +@end=20menu=0A+=0A+@node=20Screencast=20small=20introduction=20to=20= org-protocolel=0A+@section=20Screencast:=20small=20introduction=20to=20= org-protocol.el=0A+@html=0A+=0A+@end=20html=0A+=0A+This=20screencast=20= shows=20off=20some=20nice=20things=20you=20can=20do=20with=20Firefox,=0A= +Emacs,=20Org-mode=20and=20org-protocol.el.=0A+=0A+It=20first=20shows=20= how=20to=20create=20two=20bookmarklets,=20@samp{org-capture}=20and=0A= +@samp{org-store-link}.=20These=20bookmarklets=20enable=20your=20Firefox=20= to=20talk=20to=0A+emacsclient=20via=20a=20new=20protocol=20= (@samp{org-protocol://});=20emacsclient=20then=0A+parses=20the=20request=20= and=20tells=20Emacs=20to=20capture=20or=20store=20stuff=20at=20the=0A= +relevant=20places=20in=20your=20Org=20files.=0A+=0A+At=20the=20end=20of=20= the=20screencast,=20we=20create=20two=20ubiquity=20commands=20from=20= these=0A+bookmarklets.=20=20Now=20in=20Firefox=20@samp{ALT-SPC=20= org-capture=20RET}=20creates=20a=20note=0A+in=20my=20Org=20files.=0A=20=0A= =20@node=20Refile=20and=20copy=0A=20@section=20Refile=20and=20copy=0A--=20= =0A2.11.0=20(Apple=20Git-81)=0A=0A= --Apple-Mail=_EAE12C8F-8D72-47F1-9CD6-078F0E8ED707 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Kind regards Mario =E2=80=94=20 --Apple-Mail=_EAE12C8F-8D72-47F1-9CD6-078F0E8ED707-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: [PATCH] org-protocol: fixes open-source and extends rewriting of URLs Date: Mon, 26 Jun 2017 22:46:15 +0200 Message-ID: <87mv8uv5ns.fsf@nicolasgoaziou.fr> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <8CE2CFE3-2911-4369-8E93-E80CD25FD7E4@schnuddelhuddel.de> <5442AC7A-D45E-46FE-A3A7-3AB25679B3FE@schnuddelhuddel.de> <4427263B-5534-4FFD-AFA0-211EDA489001@schnuddelhuddel.de> <8760fk4jur.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59793) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dPatr-0001nM-Ba for emacs-orgmode@gnu.org; Mon, 26 Jun 2017 16:46:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dPatm-000388-Gz for emacs-orgmode@gnu.org; Mon, 26 Jun 2017 16:46:23 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:43318) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dPatm-00037W-BG for emacs-orgmode@gnu.org; Mon, 26 Jun 2017 16:46:18 -0400 In-Reply-To: (Mario Martelli's message of "Sun, 25 Jun 2017 10:21:36 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli Cc: emacs-orgmode@gnu.org Hello, Mario Martelli writes: > Selector: "test-org-protocol/" > Passed: 2 > Failed: 0 > Skipped: 0 > Total: 2/2 Great! >> Another round of tests for the cases you solve >> would be nice, too. > > I added the configuration part. That will be parsed during the tests I suppose. > > > Selector: "test-org-protocol/" > Passed: 3 > Failed: 0 > Skipped: 0 > Total: 3/3 Even greater. > > From 4408f27e37f6578b3244a1ff7f4d7bd27720e1e6 Mon Sep 17 00:00:00 2001 > From: Mario Martelli > Date: Sun, 25 Jun 2017 10:14:40 +0200 > Subject: [PATCH 4/4] config for date style URL is added to org-protocol tests > OK. Could you wrap up the patches needed so far, with appropriate commit messages, so I can apply them? BTW, have you signed FSF papers? Thank you. Regards, -- Nicolas Goaziou From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: [PATCH] org-protocol: fixes open-source and extends rewriting of URLs Date: Tue, 27 Jun 2017 08:54:08 +0200 Message-ID: <92533F36-7529-496B-BA7B-8ED49FBFB3D2@schnuddelhuddel.de> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <8CE2CFE3-2911-4369-8E93-E80CD25FD7E4@schnuddelhuddel.de> <5442AC7A-D45E-46FE-A3A7-3AB25679B3FE@schnuddelhuddel.de> <4427263B-5534-4FFD-AFA0-211EDA489001@schnuddelhuddel.de> <8760fk4jur.fsf@nicolasgoaziou.fr> <87mv8uv5ns.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_90DCDD77-5C21-4D19-A957-2F84A8B98097" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49879) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dPkO9-0004uj-46 for emacs-orgmode@gnu.org; Tue, 27 Jun 2017 02:54:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dPkO4-0004Nu-8u for emacs-orgmode@gnu.org; Tue, 27 Jun 2017 02:54:17 -0400 Received: from mail-wm0-x235.google.com ([2a00:1450:400c:c09::235]:36063) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dPkO3-0004NX-S6 for emacs-orgmode@gnu.org; Tue, 27 Jun 2017 02:54:12 -0400 Received: by mail-wm0-x235.google.com with SMTP id 62so15636527wmw.1 for ; Mon, 26 Jun 2017 23:54:11 -0700 (PDT) In-Reply-To: <87mv8uv5ns.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org --Apple-Mail=_90DCDD77-5C21-4D19-A957-2F84A8B98097 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Hi, > OK. Could you wrap up the patches needed so far, with appropriate = commit > messages, so I can apply them? Sorry for producing noise. Just read the contribution guidelines once = again ;) Hope everything is now according to the guidelines. --Apple-Mail=_90DCDD77-5C21-4D19-A957-2F84A8B98097 Content-Disposition: attachment; filename=0001-org-protocol.el-Fix-for-failing-open-source-subproto.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-org-protocol.el-Fix-for-failing-open-source-subproto.patch" Content-Transfer-Encoding: quoted-printable =46rom=200605063662ef6ae92abe75956dc2432f5028a041=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Mario=20Martelli=20=0A= Date:=20Fri,=2023=20Jun=202017=2018:32:49=20+0200=0ASubject:=20[PATCH=20= 1/4]=20org-protocol.el:=20Fix=20for=20failing=20open-source=20= subprotocol=0A=0A*=20=20(org-protocol-open-source):=20make=20sure=20url=20= is=0Asanitised=20before=20processing=0A=0ATINYCHANGE=0A---=0A=20= lisp/org-protocol.el=20|=202=20+-=0A=201=20file=20changed,=201=20= insertion(+),=201=20deletion(-)=0A=0Adiff=20--git=20= a/lisp/org-protocol.el=20b/lisp/org-protocol.el=0Aindex=20= 825435674..7e986a9ed=20100644=0A---=20a/lisp/org-protocol.el=0A+++=20= b/lisp/org-protocol.el=0A@@=20-520,7=20+520,7=20@@=20The=20location=20= for=20a=20browser's=20bookmark=20should=20look=20like=20this:=0A=20=20=20= ;;=20As=20we=20enter=20this=20function=20for=20a=20match=20on=20our=20= protocol,=20the=20return=20value=0A=20=20=20;;=20defaults=20to=20nil.=0A=20= =20=20(let=20((result=20nil)=0A-=20=20=20=20=20=20=20=20(f=20(plist-get=20= (org-protocol-parse-parameters=20fname=20nil=20'(:url))=20:url)))=0A+=09= (f=20(org-protocol-sanitize-uri=20(plist-get=20= (org-protocol-parse-parameters=20fname=20nil=20'(:url))=20:url))))=0A=20=20= =20=20=20(catch=20'result=0A=20=20=20=20=20=20=20(dolist=20(prolist=20= org-protocol-project-alist)=0A=20=20=20=20=20=20=20=20=20(let*=20= ((base-url=20(plist-get=20(cdr=20prolist)=20:base-url))=0A--=20=0A2.11.0=20= (Apple=20Git-81)=0A=0A= --Apple-Mail=_90DCDD77-5C21-4D19-A957-2F84A8B98097 Content-Disposition: attachment; filename=0002-org-protocol.el-Fix-for-silently-failing-open-source.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0002-org-protocol.el-Fix-for-silently-failing-open-source.patch" Content-Transfer-Encoding: quoted-printable =46rom=2044d0ea97c452ed5f5cd0f358b75115a029a28487=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Mario=20Martelli=20=0A= Date:=20Sat,=2024=20Jun=202017=2016:01:20=20+0200=0ASubject:=20[PATCH=20= 2/4]=20org-protocol.el:=20Fix=20for=20silently=20failing=20open-source=0A= =20subprotocol=0A=0A*=20(org-protocol-open-source):=20tests=20URL=20= against=0Abase-url=20and=20not=20the=20filename=0A=0ATINYCHANGE=0A---=0A=20= lisp/org-protocol.el=20|=202=20+-=0A=201=20file=20changed,=201=20= insertion(+),=201=20deletion(-)=0A=0Adiff=20--git=20= a/lisp/org-protocol.el=20b/lisp/org-protocol.el=0Aindex=20= 7e986a9ed..6744fc0ac=20100644=0A---=20a/lisp/org-protocol.el=0A+++=20= b/lisp/org-protocol.el=0A@@=20-554,7=20+554,7=20@@=20The=20location=20= for=20a=20browser's=20bookmark=20should=20look=20like=20this:=0A=20=09=09= =20=20=20=20=20=20;;=20Try=20to=20match=20a=20rewritten=20URL=20and=20= map=20it=20to=0A=20=09=09=20=20=20=20=20=20;;=20a=20real=20file.=20=20= Compare=20redirects=20without=0A=20=09=09=20=20=20=20=20=20;;=20suffix.=0A= -=09=09=20=20=20=20=20=20(when=20(string-match-p=20(car=20rewrite)=20f2)=0A= +=09=09=20=20=20=20=20=20(when=20(string-match-p=20(car=20rewrite)=20f1)=0A= =20=09=09=09(throw=20'result=20(concat=20wdir=20(cdr=20rewrite))))))))=0A= =20=09=20=20=20=20=20=20;;=20--=20end=20of=20redirects=20--=0A=20=0A--=20= =0A2.11.0=20(Apple=20Git-81)=0A=0A= --Apple-Mail=_90DCDD77-5C21-4D19-A957-2F84A8B98097 Content-Disposition: attachment; filename=0003-org-protocol.el-sources-with-date-URL-are-supported.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0003-org-protocol.el-sources-with-date-URL-are-supported.patch" Content-Transfer-Encoding: quoted-printable =46rom=20dd9d41cfb6d48cc03a71c8604f3d913c35df4844=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Mario=20Martelli=20=0A= Date:=20Sun,=2025=20Jun=202017=2001:03:34=20+0200=0ASubject:=20[PATCH=20= 3/4]=20org-protocol.el=20sources=20with=20date=20URL=20are=20supported=0A= =0A*=20(org-protocol-project-alist):=20date-URL=20is=20added=20as=20= example=0A*=20(org-protocol-open-source):=20first=20match=20is=20= processed=20in=20rewrite=0A=0ATINYCHANGE=0A---=0A=20lisp/org-protocol.el=20= |=2018=20+++++++++++++++---=0A=201=20file=20changed,=2015=20= insertions(+),=203=20deletions(-)=0A=0Adiff=20--git=20= a/lisp/org-protocol.el=20b/lisp/org-protocol.el=0Aindex=20= 6744fc0ac..5d4baae34=20100644=0A---=20a/lisp/org-protocol.el=0A+++=20= b/lisp/org-protocol.el=0A@@=20-194,7=20+194,14=20@@=20Example:=0A=20=20=20= =20=20=20=20=20=20=20=20:working-suffix=20\".org\"=0A=20=20=20=20=20=20=20= =20=20=20=20:base-url=20\"http://localhost/org/\"=0A=20=20=20=20=20=20=20= =20=20=20=20:working-directory=20\"/home/user/org/\"=0A-=20=20=20=20=20=20= =20=20=20=20:rewrites=20((\"org/?$\"=20.=20\"index.php\")))))=0A+=20=20=20= =20=20=20=20=20=20=20:rewrites=20((\"org/?$\"=20.=20\"index.php\")))=0A+=20= =20=20=20=20=20=20=20=20(\"Hugo=20based=20blog\"=0A+=20=20=20=20=20=20=20= =20=20=20:base-url=20\"https://themes.gohugo.io/theme/hugo-icarus/\"=0A+=20= =20=20=20=20=20=20=20=20=20:working-directory=20= \"~/Documents/MyBlog/themes/hugo-icarus-theme/exampleSite/content/post/\"=0A= +=20=20=20=20=20=20=20=20=20=20:online-suffix=20\".html\"=0A+=20=20=20=20= =20=20=20=20=20=20:working-suffix=20\".md\"=0A+=20=20=20=20=20=20=20=20=20= =20:rewrites=20= ((\"\\(https://themes.gohugo.io/theme/hugo-icarus/[0-9]+/[0-9]+/[0-9]+/\\)= \"=20.=20\".md\")))))=0A+=0A=20=0A=20=20=20=20The=20last=20line=20tells=20= `org-protocol-open-source'=20to=20open=0A=20=20=20=20= /home/user/org/index.php,=20if=20the=20URL=20cannot=20be=20mapped=20to=20= an=20existing=0A@@=20-554,8=20+561,13=20@@=20The=20location=20for=20a=20= browser's=20bookmark=20should=20look=20like=20this:=0A=20=09=09=20=20=20=20= =20=20;;=20Try=20to=20match=20a=20rewritten=20URL=20and=20map=20it=20to=0A= =20=09=09=20=20=20=20=20=20;;=20a=20real=20file.=20=20Compare=20= redirects=20without=0A=20=09=09=20=20=20=20=20=20;;=20suffix.=0A-=09=09=20= =20=20=20=20=20(when=20(string-match-p=20(car=20rewrite)=20f1)=0A-=09=09=09= (throw=20'result=20(concat=20wdir=20(cdr=20rewrite))))))))=0A+=09=09=20=20= =20=20=20=20(when=20(string-match=20(car=20rewrite)=20f1)=0A+=09=09=09= (setq=20replacement=20(cdr=20rewrite))=0A+=09=09=09(if=20(match-string=20= 0=20f1)=0A+=09=09=09=20=20=20=20(setq=20replacement=20(concat=0A+=09=09=09= =09=09=20=20=20=20=20=20=20(directory-file-name=20=20(replace-match=20""=20= nil=20nil=20f1=201))=0A+=09=09=09=09=09=20=20=20=20=20=20=20replacement=20= )))))=0A+=09=09=20=20=20=20(throw=20'result=20(concat=20wdir=20= replacement)))))=0A=20=09=20=20=20=20=20=20;;=20--=20end=20of=20= redirects=20--=0A=20=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(if=20= (file-readable-p=20the-file)=0A--=20=0A2.11.0=20(Apple=20Git-81)=0A=0A= --Apple-Mail=_90DCDD77-5C21-4D19-A957-2F84A8B98097 Content-Disposition: attachment; filename=0004-test-org-protocol.el-date-style-URL-support.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0004-test-org-protocol.el-date-style-URL-support.patch" Content-Transfer-Encoding: quoted-printable =46rom=20ec444303c239bc6d82bd8566e3fb283ea580070d=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Mario=20Martelli=20=0A= Date:=20Sun,=2025=20Jun=202017=2010:14:40=20+0200=0ASubject:=20[PATCH=20= 4/4]=20test-org-protocol.el:=20date=20style=20URL=20support=0A=0A*=20= (test-org-protocol/org-protocol-open-source):=20configuration=0A= displaying=20a=20date-style=20URL=20is=20added=0A=0ATINYCHANGE=0A---=0A=20= testing/lisp/test-org-protocol.el=20|=206=20++++++=0A=201=20file=20= changed,=206=20insertions(+)=0A=0Adiff=20--git=20= a/testing/lisp/test-org-protocol.el=20= b/testing/lisp/test-org-protocol.el=0Aindex=208f946864c..b11c72a68=20= 100644=0A---=20a/testing/lisp/test-org-protocol.el=0A+++=20= b/testing/lisp/test-org-protocol.el=0A@@=20-137,6=20+137,12=20@@=0A=20=09= =20=20=20=20=20:base-url=20"http://another.example.com/"=0A=20=09=20=20=20= =20=20:online-suffix=20".js"=0A=20=09=20=20=20=20=20:working-directory=20= ,(file-name-directory=20temp-file-name2))=0A+=09=20=20=20=20(test3=0A+=09= =20=20=20=20=20:base-url=20"https://blog-example.com/"=0A+=09=20=20=20=20= =20:working-directory=20,(file-name-directory=20temp-file-name2))=0A+=09=20= =20=20=20=20:online-suffix=20".html"=0A+=09=20=20=20=20=20= :working-suffix=20".md"=0A+=09=20=20=20=20=20:rewrites=20= (("\\(https://blog-example.com/[0-9]+/[0-9]+/[0-9]+/\\)"=20.=20".md"))=0A= =20=09=20=20=20=20))=0A=20=09=20(test-cases=0A=20=09=20=20(list=0A--=20=0A= 2.11.0=20(Apple=20Git-81)=0A=0A= --Apple-Mail=_90DCDD77-5C21-4D19-A957-2F84A8B98097 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > BTW, have you signed FSF papers? Applied for it just now. Have marked the changes as tiny.=20 Kind regards Mario =E2=80=94=20 --Apple-Mail=_90DCDD77-5C21-4D19-A957-2F84A8B98097-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: [PATCH] org-protocol: fixes open-source and extends rewriting of URLs Date: Wed, 28 Jun 2017 11:32:50 +0200 Message-ID: <87injgh2yl.fsf@nicolasgoaziou.fr> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <8CE2CFE3-2911-4369-8E93-E80CD25FD7E4@schnuddelhuddel.de> <5442AC7A-D45E-46FE-A3A7-3AB25679B3FE@schnuddelhuddel.de> <4427263B-5534-4FFD-AFA0-211EDA489001@schnuddelhuddel.de> <8760fk4jur.fsf@nicolasgoaziou.fr> <87mv8uv5ns.fsf@nicolasgoaziou.fr> <92533F36-7529-496B-BA7B-8ED49FBFB3D2@schnuddelhuddel.de> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:48767) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dQ9LH-0007ET-Fn for emacs-orgmode@gnu.org; Wed, 28 Jun 2017 05:33:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dQ9LD-0006fj-29 for emacs-orgmode@gnu.org; Wed, 28 Jun 2017 05:32:59 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:53473) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dQ9LC-0006ek-Ob for emacs-orgmode@gnu.org; Wed, 28 Jun 2017 05:32:54 -0400 In-Reply-To: <92533F36-7529-496B-BA7B-8ED49FBFB3D2@schnuddelhuddel.de> (Mario Martelli's message of "Tue, 27 Jun 2017 08:54:08 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli Cc: emacs-orgmode@gnu.org Hello, Mario Martelli writes: > Sorry for producing noise. Just read the contribution guidelines once again ;) > Hope everything is now according to the guidelines. Thank you. Comments follow. > Subject: [PATCH 1/4] org-protocol.el: Fix for failing open-source subprotocol > > * (org-protocol-open-source): make sure url is > sanitised before processing Applied. > Subject: [PATCH 2/4] org-protocol.el: Fix for silently failing open-source > subprotocol > > * (org-protocol-open-source): tests URL against > base-url and not the filename Applied. > Subject: [PATCH 3/4] org-protocol.el sources with date URL are supported > > * (org-protocol-project-alist): date-URL is added as example > * (org-protocol-open-source): first match is processed in rewrite Not applied. See below. > + :rewrites ((\"org/?$\" . \"index.php\"))) > + (\"Hugo based blog\" > + :base-url \"https://themes.gohugo.io/theme/hugo-icarus/\" > + :working-directory \"~/Documents/MyBlog/themes/hugo-icarus-theme/exampleSite/content/post/\" > + :online-suffix \".html\" > + :working-suffix \".md\" > + :rewrites ((\"\\(https://themes.gohugo.io/theme/hugo-icarus/[0-9]+/[0-9]+/[0-9]+/\\)\" . \".md\"))))) Would it be possible to make the path involved smaller so that the example can fit in 80 columns? > The last line tells `org-protocol-open-source' to open > /home/user/org/index.php, if the URL cannot be mapped to an existing > @@ -554,8 +561,13 @@ The location for a browser's bookmark should look like this: > ;; Try to match a rewritten URL and map it to > ;; a real file. Compare redirects without > ;; suffix. > - (when (string-match-p (car rewrite) f1) > - (throw 'result (concat wdir (cdr rewrite)))))))) > + (when (string-match (car rewrite) f1) > + (setq replacement (cdr rewrite)) Here, `replacement' isn't lexically bound, so compiling "org-protocol.el" should return an error. `replacement' should be let-bound instead. > + (if (match-string 0 f1) AFAIU, (match-string 0 f1) is necessarily true, per the (string-match (car rewrite) f1) above, so the test can be removed. > + (setq replacement (concat > + (directory-file-name (replace-match "" nil nil f1 1)) > + replacement ))))) Spurious white space character before the parenthesis. > + (throw 'result (concat wdir replacement))))) Shouldn't the (throw ...) be within the (when (string-match ...)) as it was before? I may be wrong. I didn't check the high level logic of the patch since I don't know "org-protocol.el". > Applied for it just now. Have marked the changes as tiny. Great. Let me know when the process is complete. Regards, -- Nicolas Goaziou 0x80A93738 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: [PATCH] org-protocol: fixes open-source and extends rewriting of URLs Date: Wed, 28 Jun 2017 16:44:38 +0200 Message-ID: References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <8CE2CFE3-2911-4369-8E93-E80CD25FD7E4@schnuddelhuddel.de> <5442AC7A-D45E-46FE-A3A7-3AB25679B3FE@schnuddelhuddel.de> <4427263B-5534-4FFD-AFA0-211EDA489001@schnuddelhuddel.de> <8760fk4jur.fsf@nicolasgoaziou.fr> <87mv8uv5ns.fsf@nicolasgoaziou.fr> <92533F36-7529-496B-BA7B-8ED49FBFB3D2@schnuddelhuddel.de> <87injgh2yl.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_C4D7B9A9-B14D-4601-BC4D-33C882489D26" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51378) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dQED2-0003TS-6K for emacs-orgmode@gnu.org; Wed, 28 Jun 2017 10:44:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dQECx-0000P9-Ap for emacs-orgmode@gnu.org; Wed, 28 Jun 2017 10:44:48 -0400 Received: from mail-wm0-x232.google.com ([2a00:1450:400c:c09::232]:35922) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dQECw-0000Og-Vv for emacs-orgmode@gnu.org; Wed, 28 Jun 2017 10:44:43 -0400 Received: by mail-wm0-x232.google.com with SMTP id 62so55800251wmw.1 for ; Wed, 28 Jun 2017 07:44:41 -0700 (PDT) In-Reply-To: <87injgh2yl.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org --Apple-Mail=_C4D7B9A9-B14D-4601-BC4D-33C882489D26 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi, > Would it be possible to make the path involved smaller so that the > example can fit in 80 columns? The idea was to give an example which is available online and could get = cloned easily onto the local machine. Changed it to a simple example. > Here, `replacement' isn't lexically bound, so compiling > "org-protocol.el" should return an error. `replacement' should be > let-bound instead. ... Thank you for your patience, Nicolas =F0=9F=98=87 Please find attached a fresh attempt. --Apple-Mail=_C4D7B9A9-B14D-4601-BC4D-33C882489D26 Content-Disposition: attachment; filename=0001-org-protocol.el-sources-with-date-URL-are-supported.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-org-protocol.el-sources-with-date-URL-are-supported.patch" Content-Transfer-Encoding: quoted-printable =46rom=20d6744d7fee6a78a20759c7a61dbc9a118cc21c78=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Mario=20Martelli=20=0A= Date:=20Wed,=2028=20Jun=202017=2016:36:45=20+0200=0ASubject:=20[PATCH]=20= org-protocol.el=20sources=20with=20date=20URL=20are=20supported=0A=0A*=20= (org-protocol-project-alist):=20date-URL=20is=20added=20as=20example=0A*=20= (org-protocol-open-source):=20first=20match=20is=20processed=20in=20= rewrite=0A*=20(test-org-protocol/org-protocol-open-source):=20= configuration=0Adisplaying=20a=20date-style=20URL=20is=20added=0A=0A= TINYCHANGE=0A---=0A=20lisp/org-protocol.el=20=20=20=20=20=20=20=20=20=20=20= =20=20=20|=2016=20+++++++++++++---=0A=20= testing/lisp/test-org-protocol.el=20|=20=206=20++++++=0A=202=20files=20= changed,=2019=20insertions(+),=203=20deletions(-)=0A=0Adiff=20--git=20= a/lisp/org-protocol.el=20b/lisp/org-protocol.el=0Aindex=20= cd4b216aa..099e7e25d=20100644=0A---=20a/lisp/org-protocol.el=0A+++=20= b/lisp/org-protocol.el=0A@@=20-194,7=20+194,14=20@@=20Example:=0A=20=20=20= =20=20=20=20=20=20=20=20:working-suffix=20\".org\"=0A=20=20=20=20=20=20=20= =20=20=20=20:base-url=20\"http://localhost/org/\"=0A=20=20=20=20=20=20=20= =20=20=20=20:working-directory=20\"/home/user/org/\"=0A-=20=20=20=20=20=20= =20=20=20=20:rewrites=20((\"org/?$\"=20.=20\"index.php\")))))=0A+=20=20=20= =20=20=20=20=20=20=20:rewrites=20((\"org/?$\"=20.=20\"index.php\")))=0A+=20= =20=20=20=20=20=20=20=20(\"Hugo=20based=20blog\"=0A+=20=20=20=20=20=20=20= =20=20=20:base-url=20\"https://www.site.com/\"=0A+=20=20=20=20=20=20=20=20= =20=20:working-directory=20\"~/site/content/post/\"=0A+=20=20=20=20=20=20= =20=20=20=20:online-suffix=20\".html\"=0A+=20=20=20=20=20=20=20=20=20=20= :working-suffix=20\".md\"=0A+=20=20=20=20=20=20=20=20=20=20:rewrites=20= ((\"\\(https://site.com/[0-9]+/[0-9]+/[0-9]+/\\)\"=20.=20\".md\")))))=0A= +=0A=20=0A=20=20=20=20The=20last=20line=20tells=20= `org-protocol-open-source'=20to=20open=0A=20=20=20=20= /home/user/org/index.php,=20if=20the=20URL=20cannot=20be=20mapped=20to=20= an=20existing=0A@@=20-556,8=20+563,11=20@@=20The=20location=20for=20a=20= browser's=20bookmark=20should=20look=20like=20this:=0A=20=09=09=20=20=20=20= =20=20;;=20Try=20to=20match=20a=20rewritten=20URL=20and=20map=20it=20to=0A= =20=09=09=20=20=20=20=20=20;;=20a=20real=20file.=20=20Compare=20= redirects=20without=0A=20=09=09=20=20=20=20=20=20;;=20suffix.=0A-=09=09=20= =20=20=20=20=20(when=20(string-match-p=20(car=20rewrite)=20f1)=0A-=09=09=09= (throw=20'result=20(concat=20wdir=20(cdr=20rewrite))))))))=0A+=09=20=20=20= =20=20=20=09=20=20=20=20=20=20(when=20(string-match=20(car=20rewrite)=20= f1)=0A+=09=09=09(let=20((replacement=20(concat=0A+=09=09=09=09=09=20=20=20= =20(directory-file-name=20=20(replace-match=20""=20nil=20nil=20f1=201))=0A= +=09=09=09=09=09=20=20=20=20(cdr=20rewrite))))=0A+=09=09=09=20=20(throw=20= 'result=20(concat=20wdir=20replacement))))))))=0A=20=09=20=20=20=20=20=20= ;;=20--=20end=20of=20redirects=20--=0A=20=0A=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(if=20(file-readable-p=20the-file)=0Adiff=20--git=20= a/testing/lisp/test-org-protocol.el=20= b/testing/lisp/test-org-protocol.el=0Aindex=208f946864c..b11c72a68=20= 100644=0A---=20a/testing/lisp/test-org-protocol.el=0A+++=20= b/testing/lisp/test-org-protocol.el=0A@@=20-137,6=20+137,12=20@@=0A=20=09= =20=20=20=20=20:base-url=20"http://another.example.com/"=0A=20=09=20=20=20= =20=20:online-suffix=20".js"=0A=20=09=20=20=20=20=20:working-directory=20= ,(file-name-directory=20temp-file-name2))=0A+=09=20=20=20=20(test3=0A+=09= =20=20=20=20=20:base-url=20"https://blog-example.com/"=0A+=09=20=20=20=20= =20:working-directory=20,(file-name-directory=20temp-file-name2))=0A+=09=20= =20=20=20=20:online-suffix=20".html"=0A+=09=20=20=20=20=20= :working-suffix=20".md"=0A+=09=20=20=20=20=20:rewrites=20= (("\\(https://blog-example.com/[0-9]+/[0-9]+/[0-9]+/\\)"=20.=20".md"))=0A= =20=09=20=20=20=20))=0A=20=09=20(test-cases=0A=20=09=20=20(list=0A--=20=0A= 2.11.0=20(Apple=20Git-81)=0A=0A= --Apple-Mail=_C4D7B9A9-B14D-4601-BC4D-33C882489D26 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > Great. Let me know when the process is complete. Will do. Sent out the signed copy today. Kind regards Mario =E2=80=94=20 --Apple-Mail=_C4D7B9A9-B14D-4601-BC4D-33C882489D26-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: [PATCH] org-protocol: fixes open-source and extends rewriting of URLs Date: Wed, 28 Jun 2017 17:49:19 +0200 Message-ID: <87mv8sf6yo.fsf@nicolasgoaziou.fr> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <8CE2CFE3-2911-4369-8E93-E80CD25FD7E4@schnuddelhuddel.de> <5442AC7A-D45E-46FE-A3A7-3AB25679B3FE@schnuddelhuddel.de> <4427263B-5534-4FFD-AFA0-211EDA489001@schnuddelhuddel.de> <8760fk4jur.fsf@nicolasgoaziou.fr> <87mv8uv5ns.fsf@nicolasgoaziou.fr> <92533F36-7529-496B-BA7B-8ED49FBFB3D2@schnuddelhuddel.de> <87injgh2yl.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41237) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dQFDZ-0005lw-TT for emacs-orgmode@gnu.org; Wed, 28 Jun 2017 11:49:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dQFDW-0006ku-RN for emacs-orgmode@gnu.org; Wed, 28 Jun 2017 11:49:25 -0400 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:44383) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dQFDW-0006kL-KR for emacs-orgmode@gnu.org; Wed, 28 Jun 2017 11:49:22 -0400 In-Reply-To: (Mario Martelli's message of "Wed, 28 Jun 2017 16:44:38 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli Cc: emacs-orgmode@gnu.org Mario Martelli writes: > Hi, > >> Would it be possible to make the path involved smaller so that the >> example can fit in 80 columns? > > The idea was to give an example which is available online and could get c= loned easily onto the local machine. > Changed it to a simple example. > >> Here, `replacement' isn't lexically bound, so compiling >> "org-protocol.el" should return an error. `replacement' should be >> let-bound instead. > ... > Thank you for your patience, Nicolas =F0=9F=98=87 > Please find attached a fresh attempt. Applied. Thank you. I fixed some whitespace issue and typo in the test. Could you provide an ORG-NEWS entry about it? Regards, From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: [PATCH] org-protocol: fixes open-source and extends rewriting of URLs Date: Thu, 29 Jun 2017 10:28:17 +0200 Message-ID: <757F421E-50C3-4239-9880-9BAA3F4BF461@schnuddelhuddel.de> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <8CE2CFE3-2911-4369-8E93-E80CD25FD7E4@schnuddelhuddel.de> <5442AC7A-D45E-46FE-A3A7-3AB25679B3FE@schnuddelhuddel.de> <4427263B-5534-4FFD-AFA0-211EDA489001@schnuddelhuddel.de> <8760fk4jur.fsf@nicolasgoaziou.fr> <87mv8uv5ns.fsf@nicolasgoaziou.fr> <92533F36-7529-496B-BA7B-8ED49FBFB3D2@schnuddelhuddel.de> <87injgh2yl.fsf@nicolasgoaziou.fr> <87mv8sf6yo.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: multipart/alternative; boundary="Apple-Mail=_EBBB722A-0324-4593-9FF5-9FF1FFDE52F1" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37932) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dQUoL-0005fi-OI for emacs-orgmode@gnu.org; Thu, 29 Jun 2017 04:28:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dQUoH-0001ha-QK for emacs-orgmode@gnu.org; Thu, 29 Jun 2017 04:28:25 -0400 Received: from mail-wm0-x22b.google.com ([2a00:1450:400c:c09::22b]:36825) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dQUoH-0001h4-CV for emacs-orgmode@gnu.org; Thu, 29 Jun 2017 04:28:21 -0400 Received: by mail-wm0-x22b.google.com with SMTP id 62so75050794wmw.1 for ; Thu, 29 Jun 2017 01:28:21 -0700 (PDT) In-Reply-To: <87mv8sf6yo.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org --Apple-Mail=_EBBB722A-0324-4593-9FF5-9FF1FFDE52F1 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii > Applied. Thank you. Thanks to you :) > I fixed some whitespace issue and typo in the test. :blush: Thanks again. > Could you provide an ORG-NEWS entry about it? Sure. Kind regards Mario --Apple-Mail=_EBBB722A-0324-4593-9FF5-9FF1FFDE52F1 Content-Type: multipart/mixed; boundary="Apple-Mail=_2300AA6C-CA0B-41D5-A586-F3FEF58C4104" --Apple-Mail=_2300AA6C-CA0B-41D5-A586-F3FEF58C4104 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii
Applied. Thank you.

Thanks to you = :)

I fixed some whitespace issue and typo in the = test.

:blush:  Thanks again.

Could you provide an ORG-NEWS = entry about it?

Sure.

= --Apple-Mail=_2300AA6C-CA0B-41D5-A586-F3FEF58C4104 Content-Disposition: attachment; filename=0001-ORG_NEWS-org-protocol-s-date-style-URL-support-is-me.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-ORG_NEWS-org-protocol-s-date-style-URL-support-is-me.patch" Content-Transfer-Encoding: quoted-printable =46rom=20ec6d2a617497e54bf80daa50b41d4a215ac7b060=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Mario=20Martelli=20=0A= Date:=20Thu,=2029=20Jun=202017=2010:16:30=20+0200=0ASubject:=20[PATCH]=20= ORG_NEWS:=20org-protocol's=20date=20style=20URL=20support=20is=20= mentioned=0A=0A---=0A=20etc/ORG-NEWS=20|=203=20+++=0A=201=20file=20= changed,=203=20insertions(+)=0A=0Adiff=20--git=20a/etc/ORG-NEWS=20= b/etc/ORG-NEWS=0Aindex=2089751cefd..27743c642=20100644=0A---=20= a/etc/ORG-NEWS=0A+++=20b/etc/ORG-NEWS=0A@@=20-392,6=20+392,9=20@@=20= suitable=20as=20a=20default=20value.=0A=20***=20New=20entities=20:=20= ~\dollar~=20and=20~\USD~=0A=20***=20~org-parse-time-string~=20accepts=20= a=20new=20optional=20argument=0A=20=3DZONE=3D=20specifies=20the=20= current=20time=20zone.=0A+***=20Support=20for=20date=20style=20URLs=20in=20= =3Dorg-protocol://open-source=3D=0A+=20=20=20=20URLs=20like=20= =3Dhttps://cool-blog.com/2017/05/20/cool-post/=3D=20are=0A+=20=20=20=20= covered=20by=20rewrite=20rules.=0A=20=0A=20*=20Version=209.0=0A=20=0A--=20= =0A2.11.0=20(Apple=20Git-81)=0A=0A= --Apple-Mail=_2300AA6C-CA0B-41D5-A586-F3FEF58C4104 Content-Transfer-Encoding: 7bit Content-Type: text/html; charset=us-ascii


Kind regards

Mario
--Apple-Mail=_2300AA6C-CA0B-41D5-A586-F3FEF58C4104-- --Apple-Mail=_EBBB722A-0324-4593-9FF5-9FF1FFDE52F1-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: org-protocol documentation Date: Thu, 29 Jun 2017 14:42:40 +0200 Message-ID: <87lgobrmm7.fsf@nicolasgoaziou.fr> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34373) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dQYmX-0006FG-0U for emacs-orgmode@gnu.org; Thu, 29 Jun 2017 08:42:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dQYmT-0000m5-Dh for emacs-orgmode@gnu.org; Thu, 29 Jun 2017 08:42:49 -0400 Received: from relay4-d.mail.gandi.net ([2001:4b98:c:538::196]:45997) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dQYmS-0000ip-UY for emacs-orgmode@gnu.org; Thu, 29 Jun 2017 08:42:45 -0400 In-Reply-To: (Mario Martelli's message of "Sun, 25 Jun 2017 12:15:20 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli Cc: emacs-orgmode@gnu.org Hello, Mario Martelli writes: > Please note, that the documentation assumes that the patches regarding > =E2=80=9Copen-source=E2=80=9D are applied. Thank you. > +You can set up Org for handling protocol calls from outside > +applications that are passed to Emacs through the > +@file{emacsserver}. For example, you can configure bookmarks in > +your web browser to send a link to the current page to Org and create > +a note from it using capture (@pxref{Capture}). Or you could create a > +bookmark that will tell Emacs to open the local source file of a > +remote website you are looking at with the browser. There should be a menu here. "ox-texinfo.el" should take care of it automatically. > +@node About org-protocolel > +@section About org-protocol.el This should be @subsection About ... But I think this can be merged with the paragraph above and the whole section "About ..." removed. > +@samp{org-protocol.el} is based on code and ideas from @uref{./org-annot= ation-helper.org, org-annotation-helper.el} and > +@samp{org-browser-url.el}. I think we can remove the above since the references are not particularly clear. > +"@samp{org-protocol:/sub-protocol:/}" triggers actions associated with @= samp{sub-protocol} > +through the custom variable @samp{org-protocol-protocol-alist}. > +It comes with four predefined handlers: > +@table @asis > +@item @samp{org-protocol-store-link} @code{org-protocol-store-link} > + triggered through the sub-protocol "@samp{store-link}". Stores an Org-l= ink and > +pushes the URL to the @samp{kill-ring}. I think @samp{store-link} is sufficient, i.e., the double quote are supererogatory. Also ... the URL to the kill ring. since we do not refer explicitly here to the kill-ring variable but rather to the Emacs concept. Note that Org manual requires two spaces after each sentence. There are multiple occurrences to fix below. > +@item @samp{org-protocol-capture} > + Fill a @samp{CAPTURE} buffer with information gathered somewhere else. = This > +handler is triggered through the "@samp{capture}" sub-protocol and uses = the > +function @samp{org-capture}. See above about the quotes. Also, @code{org-capture} @code{} is preferred over @samp{} for functions, variables, and syntactical elements in an Org buffer. > +@item @samp{org-protocol-remember} > + Fills a remember buffer with information gathered somewhere else. This Note that it was "Fill" instead of "Fills" in the previous item. I'd rather have the former. > +handler is triggered through the "@samp{remember}" sub-protocol and still > +available for backward compatibility. This handler uses @samp{org-rememb= er}. Use > +the current @samp{org-protocol-capture}. See above. > +@item @samp{org-protocol-open-source} > + "@samp{open-source}". Maps URLs to local filenames. Use this to open so= urces of > +already published contents in emacs for editing. > +@end table emacs -> Emacs. The first sentence needs to be expounded. > +@samp{org-protocol} helps creating custom handlers @uref{../org-tutorial= s/org-protocol-custom-handler.org, (tutorial)} and so called We can remove the @uref since it points to a relative path from the website. > +@samp{org-protocol-projects}. > + > + > +@@As of Org mode 9.0 a new org-protocol key=3Dvalue syntax is support= ed@@ This syntax was removed in Org 8.0. You can delete the whole line. > +Org-protocol can now handle query-style parameters such as: It should be Org protocol, like Org mode, not Org-protocol. > +@example > +org-protocol://store-link?url=3Dhttp:%2F%2Flocalhost%2Findex.html&title= =3DThe%20title > +org-protocol://capture?template=3Dx&title=3DHello&body=3DWorld&url=3Dhtt= p:%2F%2Fexample.com > +@end example > + > +Old-style links such as > +@samp{org-protocol://store-link:/http:%2F%2Flocalhost%2Findex.html/The%2= 0title} > +continue to be supported. I wonder if it is useful to document old-style links at all in the manual. Maybe as a footnote (i.e., @footnote{Old-style links...}) but no more. > +If you have defined your own handler functions for > +@code{org-protocol-protocol-alist}, change them to accept either a prope= rty > +list (for new-style links) or a string (for old-style links). Use This is very personal, but I don't like parenthesis outside Maths and Lisp. In a document, they just break the flow of reading, even though they are meant for side comments. Perhaps the following is better: If you have defined your own handler functions for @code{org-protocol-protocol-alist}, change them to accept either a property list, for new-style links, or a string, for old-style ones. But, again, should we document old-style links? > +@code{org-protocol-parse-parameters} to convert old-style links into pro= perty > +lists. See above. > +@@As of Org mode release 7.01 @samp{org-protocol-remember} is now by = @samp{org-protocol-capture}.@@ See above. > +If not stated otherwise, you may simply replace each occurrence of > +@emph{capture} with @emph{remember} throughout this document, if you sti= ll want to use > +remember templates. Use @samp{M-x org-version} to find out about the ver= sion you're > +using. You can remove references about Remember, which has been superseded by Capt= ure. > +@anchor{orga3188cf} You can remove this. "@node ..." are anchors. > +@node Installation > +@section Installation @subsection ... > +@itemize > +@item > +To load org-protocol.el add the following to your @samp{.emacs}: To load @file{org-protocol.el} ... to your Emacs init file: > +@example > +(server-start) > +(require 'org-protocol) > +@end example > +@end itemize > + > +@node Browser / system setup > +@subsection Browser / system setup @node System setup @subsection System setup @cindex System setup, for Org protocol @cindex System configuration for Org protocol @cindex whatnot... (Browser should be taken care of in Applications node). > +@itemize > +@item > +@ref{Linux setup (Gnome)} > +@item > +@ref{Linux setup (KDE)} > +@item > +@ref{Windows setup} > +@item > +@ref{macOS setup} > +@end itemize This looks like a menu. This can be removed, as "ox-texinfo.el" already takes care of it. The other option is to use @subsubheading instead of @subsubsection and have the four setup in the same page (the menu is then useless). Your call. > +@enumerate > +@item > +Linux setup (Gnome) @subsubsection Linux setup (Gnome) or @subsubheading Linux setup (Gnome) per above. > +For this to work, you'll need the Gnome-Libraries to be installed. Is this still necessary? > +@example > +gconftool-2 -s /desktop/gnome/url-handlers/org-protocol/command '/usr/lo= cal/bin/emacsclient %s' --type String > +gconftool-2 -s /desktop/gnome/url-handlers/org-protocol/enabled --type B= oolean true > +@end example Ditto. Could an Org protocol user double-check this? > +@item > +Linux setup (KDE) See above about @subsubsection and @subsubheading. > +Add a file @samp{org.protocol} to @samp{~/.kde/share/kde4/services/}: @file{org.protocol} to @file{~/...}: > +@example > +# -*- conf -*- > +[Protocol] > +protocol=3Dorg-protocol > +exec=3D/usr/bin/emacsclient '%u' > +input=3Dnone > +output=3Dnone > +helper=3Dtrue > +listing=3D > +reading=3Dfalse > +writing=3Dfalse > +makedir=3Dfalse > +deleting=3Dfalse > +Icon=3Demacs > +Description=3DA protocol for org-mode A protocol for Org mode > +@end example > + > +@anchor{org3cb52a6} You can remove this. > +@item > +Windows setup See above. > +Windows users may register the "@samp{org-protocol}" once for all by > adjusting the See above (quotes). > +following to their facts, save it as *.reg file and double-click it. > This @file{.reg} files > +worked for me on Windows-XP Professional and the emasc23 from ourcomment= s.org > +(@uref{http://ourcomments.org/cgi-bin/emacsw32-dl-latest.pl}). I'm no Wi= ndows user > +though and enhancements are more than welcome on the org-mode mailinglis= t. The > +original file is from > @uref{http://kb.mozillazine.org/Register_protocol}. Could someone double-check this? > +@example > +REGEDIT4 > + > +[HKEY_CLASSES_ROOT\org-protocol] > +@@=3D"URL:Org Protocol" > +"URL Protocol"=3D"" > +[HKEY_CLASSES_ROOT\org-protocol\shell] > +[HKEY_CLASSES_ROOT\org-protocol\shell\open] > +[HKEY_CLASSES_ROOT\org-protocol\shell\open\command] > +@@=3D"\"C:\\Programme\\Emacs\\emacs\\bin\\emacsclientw.exe\" \"%1\"" > +@end example > + > +@item > +macOS setup See above. > +To bridge external calls to emacs you need to install a > +protocol-handler. > @uref{https://github.com/aaronbieber/org-protocol-handler/commits/master/= Commits%20%C2%B7%20aaronbieber/org-protocol-handler/, > Aaron Bieber's org-protocol-handler} will work fine. -> protocol handler. The URL doesn't respond anymore. > +If you are using a macOS native Emacs, it is recommended to use the > +emacsclient bundled with Emacs. Such as > +@samp{/Applications/Emacs.app/Contents/MacOS/bin/emacsclient} in the case > +of @uref{https://emacsformacosx.com, Emacs For Mac OS X}. > + > +After installing the protocol-handler you should then @ref{Verify the > installation}. Once verified, you can begin using org-protocol. you can begin using Org protocol. > +The @uref{https://bitbucket.org/mituharu/emacs-mac, Emacs Mac Port} > comes with org-protocol. No installation of a Ditto. > +protocol handler is needed with it. > +@end enumerate > + > +@node Applications > +@subsection Applications > +@anchor{org91000c6} You can remove the @anchor{...}. > +@enumerate > +@item > +Firefox @subsubsection Firefox or @subsubheading Firefox > +If you are using Firefox on macOS, see @ref{macOS setup}.=20 This is redundant with the link below. > +Please refer to @uref{http://kb.mozillazine.org/Register_protocol} and u= se > +"org-protocol" as protocol. > + > +@anchor{org83914ec} See above. > + > +@item > +Acrobat Reader Ditto. > +Adapted from @uref{http://article.gmane.org/gmane.emacs.orgmode/6810} Not necessary, IMO. > +You place a javascript file for each menu entry in > +@samp{~/.adobe/Acrobat//JavaScripts} on unix-like systems or > +@samp{c:/Program Files/Adobe/Acrobat /Reader/Javascripts/} on > +Windows, or wherever your Adobe Reader Installation might look for > +javascript. > + > +The examples given here will place new menu entries in the "Tools" > +menu, after restarting Adobe Reader. > + > +@anchor{org6e6a1d8} See above. > +@enumerate > +@item > +org-store-link.js > + > +@example > +// from http://article.gmane.org/gmane.emacs.orgmode/6810 > +app.addMenuItem(@{cName:"org-store-link", cParent:"Tools", > + cExec:"app.launchURL('org-protocol://store-link://' + encodeURICompon= ent(this.URL) + '/' + encodeURIComponent(this.info.Title));"@}); > +@end example > + > +@anchor{orgdd4727b} > + > +@item > +org-capture.js > + > +@example > +// from http://article.gmane.org/gmane.emacs.orgmode/6810 > +app.addMenuItem(@{cName:"org-capture", cParent:"Tools", > + cExec:"app.launchURL('org-protocol://capture://' + encodeURIComponent= (this.URL) + '/' + encodeURIComponent(this.info.Title) + '/');"@}); > +@end example > + > +And this one, if you still use remember templates: > + > +@anchor{org3949e6c} > + > +@item > +org-remember.js > + > +@example > +// from http://article.gmane.org/gmane.emacs.orgmode/6810 > +app.addMenuItem(@{cName:"org-remember", cParent:"Tools", > + cExec:"app.launchURL('org-protocol://remember://' + encodeURIComponen= t(this.URL) + '/' + encodeURIComponent(this.info.Title) + '/');"@}); > +@end example You can remove this part as Remember is no longer supported. > + > +@anchor{org6ef67df} > +@end enumerate > + > +@item > +Opera > + > +If you are using Opera on macOS, see @ref{macOS setup}.=20 > + > +Opera setup is described here: > +@uref{http://www.opera.com/support/kb/view/535/}. See above. > + > +To set up opera for use with org-protocol, follow these steps: > + > +@enumerate > +@item > +Choose "@emph{Tools}" -> "@emph{Prefences}" from the menu. > +@item > +Select the tab "@emph{Advanced}". > +@item > +Choose "@emph{Programs}" from the list on the left. > +@item > +Now click the button "@emph{Add}" on the very right. > +@item > +In the new dialog window, enter "@samp{org-protocol}" as "@emph{Protocol= }", choose the > +radio button "@emph{Open with other application}" and enter the path to > +emacsclient. > +@end enumerate @emph -> @code, everywhere. No quotes. "->" becomes "@arrow". > +@anchor{orgb32e0fa} > + > +@item > +Safari > + > +To use org-protocol add a bookmark to your favorites bar. Org protocol ... favorite > +Doing that enables you to trigger the bookmark by a keystroke.=20 > + > +Here is the URL to use as "@emph{Location}" for browser bookmarks. Just = remove the > +line breaks, replace "@samp{sub-protocol}" with the real sub-protocol to= use and=20 > +exchange the @samp{x} with the template shortcut of your choice. > + > +@example > +javascript:(function()@{window.location.href=3D'org-protocol://sub-proto= col? > +template=3Dx&url=3D'+encodeURIComponent(window.location.href)+ > +'&title=3D'+encodeURIComponent(document.title)+ > +'&body=3D'+encodeURIComponent(window.getSelection());@})(); > +@end example > +@end enumerate > + > +@node Verify the installation > +@subsection Verify the installation > +After your protocol is registered with your browser/OS, these links here > +should work. Click on them and see if emacs reacts: > + > +@html > + > +@end html > + > + > +@anchor{org6223309} > +@strong{*} Using org-protocol It should be @subsection Using Org protocol > +To actually use org-protocol add a bookmark to Firefox or Opera. > + > +Here is the URL to use as "@emph{Location}" for browser bookmarks. Just = remove the > +line breaks and replace "@samp{sub-protocol}" with the real sub-protocol= to use: > + > +@example > +javascript:location.href=3D'org-protocol://sub-protocol? > + template=3Dx&url=3D'+encodeURIComponent(window.location.href)+ > + '&title=3D'+encodeURIComponent(document.title)+ > + '&body=3D'+encodeURIComponent(window.getSelection());@})(); > +@end example > + > +This URL may be used for all three standard handlers in @samp{org-protoc= ol.el}. Some > +of the values will be ignored (e.g. @samp{store-link:/} will use the URL= and title > +only). Documentation is at the present tense. "are ignored" .. "uses the URL and"... > + > +@anchor{org15dcbb6} > + > +@menu > +* Browser / system setup:: > +* Applications:: > +* Verify the installation:: > +@end menu This is a correct menu, but it looks out of place. Actually, this is a bug in "ox-texinfo.el" that I introduced recently and is now fixed. > +@node Links and bookmarks @samp{org-protocol-store-link} > +@section Links and bookmarks: @samp{org-protocol-store-link} Doesn't this belong to "Using Org protocol" section? > +@samp{org-store-link} stores an Org-link insertable through @samp{M-x or= g-insert-link} and > +pushes the URL found onto the @samp{kill-ring} for yanking (@samp{C-y}).= The sub-protocol > +used is "@samp{store-link}": ... an Org link ... @kbd{M-x org-insert-link} ... @kbd(C-y) > +@example > +emacsclient org-protocol://store-link?url=3DURL&title=3DTITLE > +@end example > + > +will store this Org-link: -> store the following link > +@example > +[[URL][TITLE]] > +@end example > + > +In addition, @samp{URL} will be pushed on the @samp{kill-ring} for > yanking ('@samp{C-y}'). You will In addition, URL is pushed on the kill ring for yanking (@kbd{C-y}). > +have to encode @samp{URL} and/or @samp{TITLE} if they contain slashes, a= nd probably quote > +those for the shell. Encode URL, or TITLE, if they contain slashes. Probable quote those for the shell, too. > +To use this feature, add a bookmark with an arbitrary name (e.g. > +"@emph{Org: store-link}") and enter this as "@samp{Location}": arbitrary name, e.g., @samp{Org: store-link}, and ... > +@example > +javascript:location.href=3D'org-protocol://store-link?url=3D'+encodeURIC= omponent(location.href) > +@end example > + > +@anchor{org00a295d} See above. > +@node Note taking and citations @samp{org-protocol-capture} > +@section Note taking and citations: @samp{org-protocol-capture} > +This one is triggered through the sub-protocol "@samp{capture}" and cons= umes up to > +four data fields: > + > +@example > +emacsclient org-protocol:/capture?template=3DTEMPLATE?url=3DURL?title=3D= TITLE?body=3DBODY > +@end example > + > +will pop up an @emph{@strong{Capture}} buffer and fill the template with= the data > +submitted. pops up a @samp{Capture} buffer and fills the template with the data submitted. > +To use this feature, add a bookmark with an arbitrary name (e.g. > +"@emph{Org: capture}") and enter this as "@samp{Location}": See above. > +@example > +javascript:location.href=3D'org-protocol://capture? > + template=3Dx&url=3D'+encodeURIComponent(window.location.href)+ > + '&title=3D'+encodeURIComponent(document.title)+ > + '&body=3D'+encodeURIComponent(window.getSelection());@})(); > +@end example > + > +The result depends on the template used. See @ref{org2eb70b8, , An examp= le capture template} > +further down. > +Note, that this one, as opposed to the other two standard handlers, does= not > +mix with more parameters to emacsclient. All parameters but the > +#'@samp{org-protocol://capture?...}' one will be discarded. > + > +@anchor{org7e3d71c} > + > +@node Which capture template is used? > +@subsection Which capture template is used? > +You don't need to setup a capture template to use @samp{org-protocol-cap= ture}, > +since Org-mode provides a default template for those cases. Newer > versions -> Org mode > +provide an interactive interface for choosing a template. You may provi= de a > +template to be used by customizing the variable > +@samp{org-capture-default-template} When referring to a variable, you need to add a @vindex VARIABLE-NAME above. > @footnote{Before commit @samp{fc49c1ec96b2c789f573ae1ba936b930a8494402}, = 3rd Sept. 2010, > +if a template with the key string "@samp{w}" was defined, this one was c= hosen by > +default. This was done to make bookmarks used for @uref{./org-annotatio= n-helper.el, org-annotation-helper} work > +without changing the template.}. The footnote can be removed. > + > +The problem with this solution would be, that only one template can be u= sed > +with the fuction. If this approach fit your needs you might omit > +the @samp{template} parameter in the @ref{org6223309, , example above}. > + > + > +@anchor{org2eb70b8} Unlike to the previous ones, this anchor may be useful as it is actually referred to above. > +@enumerate > +@item > +An example capture template > + > +@lisp > +(setq org-capture-templates > + (quote > + (("w" > + "Default template" > + entry > + (file+headline "~/org/capture.org" "Notes") > + "* %^@{Title@}\n\n Source: %u, %c\n\n %i" > + :empty-lines 1) > + ;; ... more templates here ... > + ))) > +@end lisp > + > +@table @asis > +@item "@samp{w}" > +makes this one the default template used for > +"@samp{org-protocol://capture://}" URLs. > +@item @samp{entry} > +makes it a regular entry with a headline. > +@item @samp{file+headline} > +files the note in file "@samp{~/org/capture.org}" as child of > +the headline "@samp{Notes}" @file{~/org/capture.org} Is this true, BTW? I mean, is "~/org/capture.org" really hard-coded? the headline @samep{Notes}. > +@item '@samp{%c}' > +will be replaced by an Org-link pointing to the location of the > +page you have been visiting when clicking on the link. The page > +title will be the link's description. > +@item '@samp{%i}' > +will be replaced by the selected text in your browser window if > +any. > +@end table > + > +In addition, you may use the following placeholders in your template: > + > +@multitable {aaaaaaaaaaaaaaa} {aaaaaaaaaaaaaaaaaaaaaaaaa} > +@headitem Placeholders > +@tab Replacement > +@item @samp{%:link} > +@tab URL of the web-page > +@item @samp{%:description} > +@tab The title of the web-page > +@item @samp{%:initial} > +@tab Selected text. > +@end multitable > + > +You may read more about templates and their special escape characters in= the > +@uref{http://orgmode.org/manual/Capture-templates.html#Capture-templates, > Org-mode manual}. This can be turned into a regular @ref{Template expansio}. > +@node Org-protocol-remember > +@subsection Org-protocol-remember You can remove the whole node. > +@node Edit published content @samp{org-protocol-open-source} > +@section Edit published content: @samp{org-protocol-open-source} > +This one was designed to help with opening sources for editing when brow= sing > +in the first place. @samp{org-protocol-open-source} uses the custom vari= able > +@samp{org-protocol-project-alist} to map URLs to (local) filenames. > + > +Let's take @uref{http://orgmode.org/worg/} as our example. > + > +Our intention is to click a bookmark (or link) to open the source of the > +published file we are reading in our favourite editor. The bookmark-URL = above > +could be used again. But since @samp{org-protocol-open-source} regards t= he first > +field only, this here will do: > + > +@example > +javascript:location.href=3D'org-protocol://open-source://'+encodeURIComp= onent(location.href) > +@end example > + > +To open files published on Worg locally, @samp{org-protocol-project-alis= t} should look > +like this (you may skip the second project): Then what about removing the second project from the example? > +@lisp > +(setq org-protocol-project-alist > + '(("Worg" > + :base-url "http://orgmode.org/worg/" > + :working-directory "/home/user/worg/" > + :online-suffix ".html" > + :working-suffix ".org") > + ("My local Org-notes" > + :base-url "http://localhost/org/" > + :working-directory "/home/user/org/" > + :online-suffix ".php" > + :working-suffix ".org"))) > +@end lisp > + > +If you're now browsing @uref{http://orgmode.org/worg/org-contrib/org-pro= tocol.html} > +and find a typo or have an idea how to enhance the documentation, simply= click > +the bookmark and start editing. > +If you are using hugo to publish Org files. The configuration is > +slightly differnet as you have to name the whole filename of @samp{index= .org}. > +If you clone the repo given in the example below you could you try out t= he following: > +@lisp > +("Hugo based MobileOrg Documentation Site" > + :base-url "https://mobileorg.github.io/" > + :working-directory "~/Documents/Github/MobileOrg/mobileorg.github.io/co= ntent/" > + :online-suffix ".html" > + :working-suffix "index.org") > +@end lisp > + > +For blogs and date-style URI please see @ref{orgc5ad545, , Handle > rewritten URLs} The @ref needs to be rewritten to target the @node, not the @anchor. > +There are two functions to help you fill @samp{org-protocol-project-alis= t} with > +valid contents. One possibility is @samp{org-protocol-create} that guide= s you through > +the process. If you're editing an Org-mode file that is part of a publis= hing > +project in @samp{org-publish-project-alist}, try > + > +@example > +M-x org-protocol-create-for-org RET > +@end example > + > +@anchor{orgc5ad545} > + > +@node Handle rewritten URLs > +@subsection Handle rewritten URLs > +In some cases, replacing @samp{:base-url} with @samp{:working-directory}= and > +@samp{:online-suffix} with @samp{:working-suffix} will not yield the des= ired results. > + > +Suppose you maintain an online store located at @samp{http://example.com= /}. The > +local sources reside in @samp{/home/user/example/}. While most of the UR= Ls map > +directly to local file names by stripping URL parameters from the end and > +replacing the @samp{:base-url} with @samp{:working-diretory} and @samp{:= online-suffix} with > +@samp{:working-suffix}, this might not work for rewritten URLs. It's com= mon > +practice to serve all products in such a store through one file and rewr= ite > +URLs that do not match an existing file on the server. > + > +That way, a request to @samp{http://example.com/print/posters-A4.html} m= ight be > +rewritten on the server to something like > +@samp{http://example.com/shop/products.php/posters-A4.html.php}, where > +@samp{/posters-A4-digital.html.php} is the so called path info. Note tha= t the > +browser will not notice the rewrite. > + > +If you now click your @samp{org-protocol://open-source://} bookmark, the= handler > +will probably not find a file named > +@samp{/home/user/example/print/posters-A4.html.php} and fail. > + > +Or, even more simple, assume you're browsing @samp{http://example.com/}.= A file > +named @samp{/home/user/example/.php} is not likely to exist. > + > +Since Org-mode commit @samp{69b46e10aab3b2374ecbc1a963ba56e77102a9a4} fr= om 15th > +Nov. 2009, such an entry in @samp{org-protocol-project-alist} may hold an > +additional property @samp{:rewrites}. This property is a list of cons ce= lls, each > +of which maps a regular expression to a path relative to the > +@samp{:working-directory}. The archeology stuff can be removed. > +Now map the URL to the path @samp{/home/user/example/products.php} by ad= ding the > +@samp{:rewrites} property like this: > + > +@lisp > +(setq org-protocol-project-alist > + '(("example.com" > + :base-url "http://example.com/" > + :working-directory "/home/user/example/" > + :online-suffix ".php" > + :working-suffix ".php" > + :rewrites (("example.com/print/" . "products.php") > + ("example.com/$" . "index.php")) > + ))) > +@end lisp > + > +Guess what the second @samp{:rewrites} element does. Since @samp{example= .com/$} is used as > +a regular expression, it maps @samp{http://example.com/}, @samp{https://= example.com}, > +@samp{http://www.example.com/} and similar to @samp{/home/user/example/i= ndex.php}. > + > +If you are using date style URLs like @samp{https://cool-blog.com/2017/0= 5/20/cool-post/}, > +the following setup could be useful. > + > +@lisp > +(setq org-protocol-project-alist > + '(("Icarus based blog" > + :base-url "https://cool-blog.com/" > + :working-directory "~/MyBlog/themes/hugo-icarus-theme/exampleSite/c= ontent/post/" > + :online-suffix ".html" > + :working-suffix ".org" ;; or ".md" > + :rewrites (("\\(https://cool-blog.com/[0-9]+/[0-9]+/[0-9]+/\\)" . "= .org")) > + ))) > +@end lisp > + > +The @samp{:rewrites} are searched as a last resort if and only if no exi= sting file > +name is matched. > + > +@menu > +* Handle rewritten URLs:: > +@end menu > + > +@node Other browsers > +@section Other browsers I would remove this section. > +@node Keybindings for Firefox > +@subsection Keybindings for Firefox > +Please note that the URIs used are of the old style before Org > +9.0. You might want to change them to the new style. We should do that in the documentation. > +You can add key bindings for the @samp{org-protocol} commands using the = keyconfig > +Firefox extension. > + > +First, install keyconfig from @uref{http://mozilla.dorando.at/keyconfig.= xpi}. > + > +Open the keyconfig dialog by going to Tools and then Keyconfig. > + > +Click the 'Add a new Key' button. Enter "Org store link" as the name. > +Enter the following in the box with @emph{* CODE *} in it: @samp{Add a new Key} button. Enter @samp{Org store link} as the name. ... @samp{* CODE *} in it > +@example > +var orgProtoString =3D 'org-protocol://store-link://'+ > + encodeURIComponent(gBrowser.currentURI.spec) + '/' + > + encodeURIComponent(gBrowser.contentWindow.document.title) + '/' + > + encodeURIComponent(gBrowser.contentWindow.getSelection()); > + > +gBrowser.loadURI(orgProtoString); > +@end example > + > +Click OK. @samp{OK} > You will then need to bind a key by clicking in the box next to the > +'Apply' button and pressing whatever key combination you want. Click 'Ap= ply' to > +store the keybinding. @samp{Apply} > + > +Repeat the steps, but call the next key "Org capture" and use the code b= elow: > + > +@example > +var orgProtoString =3D 'org-protocol://capture://'+ > + encodeURIComponent(gBrowser.currentURI.spec) + '/' + > + encodeURIComponent(gBrowser.contentWindow.document.title) + '/' + > + encodeURIComponent(content.window.getSelection()); > + > +gBrowser.loadURI(orgProtoString); > +@end example > + > +Click Close, then OK, and then restart Firefox. You should then be able = to > +access the org-protocol functions with your chosen keys. Org protocol functions > + > +@anchor{orgcd7acf4} > + > +@menu > +* Conkeror setup:: > +* Uzbl:: > +* Keybindings for Firefox:: > +@end menu > + > +@node Screencast small introduction to org-protocolel > +@section Screencast: small introduction to org-protocol.el This section can be removed. Besides the changes suggested above, we should put some thinking in the structure, which may be not adapter for a manual. In particular, it should be made shorter. Also, index entries are sorely missing for now. Regards, --=20 Nicolas Goaziou From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: [PATCH] org-protocol: fixes open-source and extends rewriting of URLs Date: Thu, 29 Jun 2017 14:47:11 +0200 Message-ID: <87h8yzrmeo.fsf@nicolasgoaziou.fr> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <8CE2CFE3-2911-4369-8E93-E80CD25FD7E4@schnuddelhuddel.de> <5442AC7A-D45E-46FE-A3A7-3AB25679B3FE@schnuddelhuddel.de> <4427263B-5534-4FFD-AFA0-211EDA489001@schnuddelhuddel.de> <8760fk4jur.fsf@nicolasgoaziou.fr> <87mv8uv5ns.fsf@nicolasgoaziou.fr> <92533F36-7529-496B-BA7B-8ED49FBFB3D2@schnuddelhuddel.de> <87injgh2yl.fsf@nicolasgoaziou.fr> <87mv8sf6yo.fsf@nicolasgoaziou.fr> <757F421E-50C3-4239-9880-9BAA3F4BF461@schnuddelhuddel.de> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35153) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dQYqs-0000Jc-CG for emacs-orgmode@gnu.org; Thu, 29 Jun 2017 08:47:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dQYqo-0004UT-BJ for emacs-orgmode@gnu.org; Thu, 29 Jun 2017 08:47:18 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:44496) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dQYqo-0004Ti-50 for emacs-orgmode@gnu.org; Thu, 29 Jun 2017 08:47:14 -0400 In-Reply-To: <757F421E-50C3-4239-9880-9BAA3F4BF461@schnuddelhuddel.de> (Mario Martelli's message of "Thu, 29 Jun 2017 10:28:17 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli Cc: emacs-orgmode@gnu.org Hello, Mario Martelli writes: > Could you provide an ORG-NEWS entry about it? > > Sure. Applied. Thank you. Regards, -- Nicolas Goaziou From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: org-protocol documentation Date: Thu, 29 Jun 2017 20:30:01 +0200 Message-ID: References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42044) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dQeCh-0005vc-UN for emacs-orgmode@gnu.org; Thu, 29 Jun 2017 14:30:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dQeCd-0006tA-25 for emacs-orgmode@gnu.org; Thu, 29 Jun 2017 14:30:11 -0400 Received: from mail-wm0-x231.google.com ([2a00:1450:400c:c09::231]:35976) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dQeCc-0006rw-S7 for emacs-orgmode@gnu.org; Thu, 29 Jun 2017 14:30:07 -0400 Received: by mail-wm0-x231.google.com with SMTP id 62so90335707wmw.1 for ; Thu, 29 Jun 2017 11:30:05 -0700 (PDT) In-Reply-To: <87lgobrmm7.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org Hi, > Besides the changes suggested above, we should put some thinking in = the > structure, which may be not adapter for a manual. In particular, it > should be made shorter. My attempt was to copy the existing documentation from worg to the core = documentation and to leave as much as possible unchanged. I also think that a much shorter documentation of Org protocol would be = the better approach.=20 > Also, index entries are sorely missing for now. It seems that writing the documentation in Org and exporting it to texi = might not be the best approach. I=E2=80=99ll start with a fresh approach and try to bring up a short = manual in org.texi. BTW: Papers are signed Kind regards Mario =E2=80=94=20 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: org-protocol documentation Date: Fri, 30 Jun 2017 06:42:04 +0200 Message-ID: <2145C0D0-8194-47A5-84DD-C0778D2D12FA@schnuddelhuddel.de> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: multipart/alternative; boundary="Apple-Mail=_C6AD82E3-83E4-41B5-9AC2-80F58809BEFF" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36327) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dQnky-00047v-G3 for emacs-orgmode@gnu.org; Fri, 30 Jun 2017 00:42:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dQnku-0001Oh-Ba for emacs-orgmode@gnu.org; Fri, 30 Jun 2017 00:42:12 -0400 Received: from mail-wm0-x244.google.com ([2a00:1450:400c:c09::244]:35158) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dQnku-0001Mg-0N for emacs-orgmode@gnu.org; Fri, 30 Jun 2017 00:42:08 -0400 Received: by mail-wm0-x244.google.com with SMTP id u23so5809269wma.2 for ; Thu, 29 Jun 2017 21:42:07 -0700 (PDT) In-Reply-To: <87lgobrmm7.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org --Apple-Mail=_C6AD82E3-83E4-41B5-9AC2-80F58809BEFF Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii >> +worked for me on Windows-XP Professional and the emasc23 from = ourcomments.org >> +(@uref{http://ourcomments.org/cgi-bin/emacsw32-dl-latest.pl = }). I'm no Windows = user >> +though and enhancements are more than welcome on the org-mode = mailinglist. The >> +original file is from >> @uref{http://kb.mozillazine.org/Register_protocol = }. >=20 > Could someone double-check this? >=20 >> +@example >> +REGEDIT4 >> + >> +[HKEY_CLASSES_ROOT\org-protocol] >> +@@=3D"URL:Org Protocol" >> +"URL Protocol"=3D"" >> +[HKEY_CLASSES_ROOT\org-protocol\shell] >> +[HKEY_CLASSES_ROOT\org-protocol\shell\open] >> +[HKEY_CLASSES_ROOT\org-protocol\shell\open\command] >> +@@=3D"\"C:\\Programme\\Emacs\\emacs\\bin\\emacsclientw.exe\" \"%1\"" >> +@end example >> + >> +@item >> +macOS setup >=20 > See above. As it seems Org protocol is not so popular :) I assume there will be no feedback and it'll be sufficient to relegate = to the OS documentation. Especially the OS and 3rd party application related stuff made be = anxious about rewriting the original documentation. --Apple-Mail=_C6AD82E3-83E4-41B5-9AC2-80F58809BEFF Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii


+worked for me on Windows-XP = Professional and the emasc23 from ourcomments.org
+(@uref{http://ourcomments.org/cgi-bin/emacsw32-dl-latest.pl}). = I'm no Windows user
+though and enhancements are more than = welcome on the org-mode mailinglist. The
+original file is = from
@uref{http://kb.mozillazine.org/Register_protocol}.

Could someone double-check = this?

+@example
+REGEDIT4
+
+[HKEY_CLASSES_ROOT\org-protocol]
+@@=3D"URL:Org = Protocol"
+"URL Protocol"=3D""
+[HKEY_CLASSES_ROOT\org-protocol\shell]
+[HKEY_CLASSES_ROOT\org-protocol\shell\open]
+[HKEY_CLASSES_ROOT\org-protocol\shell\open\command]
+@@=3D"\"C:\\Programme\\Emacs\\emacs\\bin\\emacsclientw.exe\" = \"%1\""
+@end example
+
+@item
+macOS setup

See above.

As it seems = Org protocol is not so popular :)

I = assume there will be no feedback and it'll be sufficient to relegate to = the OS documentation.

Especially the = OS and 3rd party application related stuff made be anxious about = rewriting the original documentation.





= --Apple-Mail=_C6AD82E3-83E4-41B5-9AC2-80F58809BEFF-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: org-protocol documentation Date: Fri, 30 Jun 2017 14:05:10 +0200 Message-ID: <4D8D18D3-FBA7-4878-AB6A-76CE57635127@schnuddelhuddel.de> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_EA72A5EE-2A37-4D46-9B99-93C62E2FB52A" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53871) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dQufn-0000dl-Db for emacs-orgmode@gnu.org; Fri, 30 Jun 2017 08:05:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dQufi-0000Av-Gm for emacs-orgmode@gnu.org; Fri, 30 Jun 2017 08:05:19 -0400 Received: from mail-wm0-x229.google.com ([2a00:1450:400c:c09::229]:38092) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dQufi-00009f-4g for emacs-orgmode@gnu.org; Fri, 30 Jun 2017 08:05:14 -0400 Received: by mail-wm0-x229.google.com with SMTP id b184so43680219wme.1 for ; Fri, 30 Jun 2017 05:05:13 -0700 (PDT) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org --Apple-Mail=_EA72A5EE-2A37-4D46-9B99-93C62E2FB52A Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi, > I=E2=80=99ll start with a fresh approach and try to bring up a short = manual in org.texi. I created a pretty short documentation of org-protocol. It=E2=80=99s = still mainly copied from the old documentation. But distilled :) It might be an idea to link to the old documentation at worg.=20 I know that it is far away of an ideal documentation but better than = what we have at the moment ;) Any comments? --Apple-Mail=_EA72A5EE-2A37-4D46-9B99-93C62E2FB52A Content-Disposition: attachment; filename=org.texi.diff Content-Type: application/octet-stream; x-unix-mode=0644; name="org.texi.diff" Content-Transfer-Encoding: 7bit diff --git a/doc/org.texi b/doc/org.texi index 879756e6f..9e491508f 100644 --- a/doc/org.texi +++ b/doc/org.texi @@ -7522,9 +7522,127 @@ are passed to Emacs through the @file{emacsserver}. For example, you can configure bookmarks in your web browser to send a link to the current page to Org and create a note from it using capture (@pxref{Capture}). Or you could create a bookmark that will tell Emacs to open the local source file of -a remote website you are looking at with the browser. See -@uref{http://orgmode.org/worg/org-contrib/org-protocol.php} for detailed -documentation and setup instructions. +a remote website you are looking at with the browser. + +Org protocol comes with three predefined handlers: +@table @asis +@item @code{org-protocol-store-link} + triggered through the sub-protocol @code{store-link}. Stores an +Org-link and pushes the URL to the kill-ring. +@item @code{org-protocol-capture} + Fill a @code{capture} buffer with information gathered somewhere +else. This handler is triggered through the @code{capture} sub-protocol and +uses the function @code{org-capture}. +@item @code{org-protocol-open-source} + @code{open-source}. Maps URLs to local filenames. Use this to open +sources of already published contents in Emacs for editing. +@end table + +@node Setting up Org protocol +@subsection Setting up Org protocol +You need to set up a custom URL handler on your system to trigger Emacs by a +URL. This URL handler could be already installed by Emacs. Please consult the +handbook of your operating system how to install a custom URL handler if you +need to. + +To configure handling of @code{open-source} the location of the website and the +location of the corresponding source must be configured. In addition the mapping +needs to be defined. + +To open files published on Worg locally, @code{org-protocol-project-alist} +should look like this. + +@lisp +(setq org-protocol-project-alist + '(("Worg" + :base-url "http://orgmode.org/worg/" + :working-directory "/home/user/worg/" + :online-suffix ".html" + :working-suffix ".org"))) +@end lisp + +There are two functions to help you fill @code{org-protocol-project-alist} with +valid contents. One possibility is @code{org-protocol-create} that guides you through +the process. If you're editing an Org-mode file that is part of a publishing +project in @code{org-publish-project-alist}, try + +@example +M-x org-protocol-create-for-org RET +@end example + +@node Using Org protocol +@subsection Using Org protocol + +To actually use org-protocol add a bookmark to your browser. + +Here is the URL to use as @emph{Location} for browser bookmarks. Just remove the +line breaks and replace @code{sub-protocol} with the real sub-protocol to use: + +@example +javascript:location.href='org-protocol://sub-protocol? +template=x&url='+encodeURIComponent(window.location.href)+ +'&title='+encodeURIComponent(document.title)+ +'&body='+encodeURIComponent(window.getSelection()); +@end example + +This URL may be used for all three standard handlers in +@code{org-protocol.el}. Some of the values will be ignored, +e.g. @code{store-link} will use the URL and title only. + +@table @asis +@item @code{org-store-link} + stores an Org-link insertable through @code{M-x org-insert-link} and + pushes the URL found onto the kill-ring for yanking. + The sub-protocol used is @code{store-link}: + +@example +emacsclient org-protocol://store-link?url=URL&title=TITLE +@end example + +will store this Org-link: + +@example +[[URL][TITLE]] +@end example + +In addition, @code{URL} will be pushed on the kill-ring for yanking. +You will have to encode @code{URL} and @code{TITLE} if +they contain slashes, and probably quote those for the shell. + +To use this feature, add a bookmark with an arbitrary name, e.g. +@samp{Org: store-link} and enter this as @samp{Location}: + +@example +javascript:location.href='org-protocol://store-link? + url='+encodeURIComponent(location.href); +@end example + +@item @code{org-capture} +This one is triggered through the sub-protocol @code{capture} and consumes up +to four data fields: + +@example +@file{emacsclient} org-protocol:/capture?template=\ +TEMPLATE?url=URL?title=TITLE?body=BODY +@end example + +will pop up a @samp{Capture} buffer and fill the template with the data +submitted. + +To use this feature, add a bookmark with an arbitrary name, e.g. +@samp{Org: capture} and enter this as @code{Location}: + + +@example +javascript:location.href='org-protocol:// +template=x&url='+encodeURIComponent(window.location.href)+ +'&title='+encodeURIComponent(document.title)+ +'&body='+encodeURIComponent(window.getSelection()); +@end example + +The result depends on the template used. + +@end table @node Refile and copy @section Refile and copy --Apple-Mail=_EA72A5EE-2A37-4D46-9B99-93C62E2FB52A Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Kind regards=20 Mario =E2=80=94=20 --Apple-Mail=_EA72A5EE-2A37-4D46-9B99-93C62E2FB52A-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: org-protocol documentation Date: Sat, 01 Jul 2017 12:34:04 +0200 Message-ID: <878tk84fab.fsf@nicolasgoaziou.fr> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> <4D8D18D3-FBA7-4878-AB6A-76CE57635127@schnuddelhuddel.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53429) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dRFjA-0004y2-OT for emacs-orgmode@gnu.org; Sat, 01 Jul 2017 06:34:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dRFj6-0003iB-Au for emacs-orgmode@gnu.org; Sat, 01 Jul 2017 06:34:12 -0400 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:56368) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dRFj6-0003hA-0o for emacs-orgmode@gnu.org; Sat, 01 Jul 2017 06:34:08 -0400 In-Reply-To: <4D8D18D3-FBA7-4878-AB6A-76CE57635127@schnuddelhuddel.de> (Mario Martelli's message of "Fri, 30 Jun 2017 14:05:10 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli Cc: emacs-orgmode@gnu.org Hello, Mario Martelli writes: > I created a pretty short documentation of org-protocol. It=E2=80=99s still > mainly copied from the old documentation. But distilled :) Thank you. > It might be an idea to link to the old documentation at worg. I'd rather not do that. Ideally, Org internal documentation should be self-contained. > Any comments? Always ;) > +Org protocol comes with three predefined handlers: > +@table @asis > +@item @code{org-protocol-store-link} > + triggered through the sub-protocol @code{store-link}. Stores an > +Org-link and pushes the URL to the kill-ring. triggered -> Triggered Stores -> Store pushes -> push Org-link -> Org link -> link (since we can assume in an Org manual, links default to Org link). > +@item @code{org-protocol-capture} > + Fill a @code{capture} buffer with information gathered somewhere > +else. This handler is triggered through the @code{capture} sub-protocol= and > +uses the function @code{org-capture}. This should be consistent with the previous wording, e.g.: Triggered through the sub-protocol @code{capture}. Fill a @samp{Capture} buffer with ... calling @code{org-capture} function. > +@item @code{org-protocol-open-source} > + @code{open-source}. Maps URLs to local filenames. Use this to open > +sources of already published contents in Emacs for editing. See above. > +To configure handling of @code{open-source} the location of the website = and the > +location of the corresponding source must be configured. In addition th= e mapping > +needs to be defined. I suggest to rewrite this using a more direct style. > +To open files published on Worg locally, @code{org-protocol-project-alis= t} > +should look like this. For example, in order to open files published on Worg locally, you can set @code{org-protocol-project-alist} to the following > +@lisp > +(setq org-protocol-project-alist > + '(("Worg" > + :base-url "http://orgmode.org/worg/" > + :working-directory "/home/user/worg/" > + :online-suffix ".html" > + :working-suffix ".org"))) > +@end lisp > + > +There are two functions to help you fill @code{org-protocol-project-alis= t} with > +valid contents. One possibility is @code{org-protocol-create} that guide= s you through Missing space after dot. Are there really two functions? You only document one. Also, more direct: Two functions can help you filling... @code{org-protocol-create} guides... > +the process. If you're editing an Org-mode file that is part of a publis= hing Missing space. Also,=20 Org-mode file -> Org file > +project in @code{org-publish-project-alist}, try > + > +@example > +M-x org-protocol-create-for-org RET > +@end example @example @kbd{M-x org-protocol-create-for org @key{RET}} @end example But is the example really necessary? > +@node Using Org protocol > +@subsection Using Org protocol > + > +To actually use org-protocol add a bookmark to your browser. org-protocol -> Org protocol Is Org protocol really limited to bookmarks in browsers? > +Here is the URL to use as @emph{Location} for browser bookmarks. Just r= emove the > +line breaks and replace @code{sub-protocol} with the real sub-protocol t= o use: > + > +@example > +javascript:location.href=3D'org-protocol://sub-protocol? > +template=3Dx&url=3D'+encodeURIComponent(window.location.href)+ > +'&title=3D'+encodeURIComponent(document.title)+ > +'&body=3D'+encodeURIComponent(window.getSelection()); > +@end example > + > +This URL may be used for all three standard handlers in > +@code{org-protocol.el}. Some of the values will be ignored, > +e.g. @code{store-link} will use the URL and title only. will be ignored -> are ignored will use -> uses > +@table @asis > +@item @code{org-store-link} > + stores an Org-link insertable through @code{M-x org-insert-link} a= nd > + pushes the URL found onto the kill-ring for yanking. > + The sub-protocol used is @code{store-link}: stores an Org-link -> Store a link @kbd{M-x org-insert-link} pushes -> push > +@example > +emacsclient org-protocol://store-link?url=3DURL&title=3DTITLE > +@end example > + > +will store this Org-link: will store this Org-link > stores the following link > +@example > +[[URL][TITLE]] > +@end example > + > +In addition, @code{URL} will be pushed on the kill-ring for yanking. In addition, @samp{URL} is pushed... > +You will have to encode @code{URL} and @code{TITLE} if You will have to -> You need to (or something equivalent) @samp{URL} ... @samp{TITLE} > +they contain slashes, and probably quote those for the shell. > + > +To use this feature, add a bookmark with an arbitrary name, e.g. > +@samp{Org: store-link} and enter this as @samp{Location}: > + > +@example > +javascript:location.href=3D'org-protocol://store-link? > + url=3D'+encodeURIComponent(location.href); > +@end example > + > +@item @code{org-capture} > +This one is triggered through the sub-protocol @code{capture} and consum= es up > +to four data fields: > + > +@example > +@file{emacsclient} org-protocol:/capture?template=3D\ > +TEMPLATE?url=3DURL?title=3DTITLE?body=3DBODY > +@end example > + > +will pop up a @samp{Capture} buffer and fill the template with the data > +submitted. @noindent pops up a ... > +To use this feature, add a bookmark with an arbitrary name, e.g. > +@samp{Org: capture} and enter this as @code{Location}: @samp{Location}: > +@example > +javascript:location.href=3D'org-protocol:// > +template=3Dx&url=3D'+encodeURIComponent(window.location.href)+ > +'&title=3D'+encodeURIComponent(document.title)+ > +'&body=3D'+encodeURIComponent(window.getSelection()); > +@end example > + > +The result depends on the template used. > + > +@end table Genuine question: is this documentation actually complete enough to use the feature? Regards, --=20 Nicolas Goaziou From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: org-protocol documentation Date: Sat, 1 Jul 2017 15:13:47 +0200 Message-ID: References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> <4D8D18D3-FBA7-4878-AB6A-76CE57635127@schnuddelhuddel.de> <878tk84fab.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_A995F283-7887-4EF4-BADF-C24C7E7E4F18" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46571) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dRIDj-0003cv-9k for emacs-orgmode@gnu.org; Sat, 01 Jul 2017 09:13:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dRIDg-00089P-6Y for emacs-orgmode@gnu.org; Sat, 01 Jul 2017 09:13:55 -0400 Received: from mail-wr0-x22f.google.com ([2a00:1450:400c:c0c::22f]:34229) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dRIDf-00088F-Q5 for emacs-orgmode@gnu.org; Sat, 01 Jul 2017 09:13:52 -0400 Received: by mail-wr0-x22f.google.com with SMTP id 77so215341639wrb.1 for ; Sat, 01 Jul 2017 06:13:50 -0700 (PDT) In-Reply-To: <878tk84fab.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org --Apple-Mail=_A995F283-7887-4EF4-BADF-C24C7E7E4F18 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi, >> Any comments? >=20 > Always ;) :-) > Are there really two functions? You only > document one. Hope it=E2=80=99s clearer now. > Genuine question: is this documentation actually complete enough to = use > the feature? I suppose so, if one knows how to configure URL handlers on their OS. Of = course there are some things missing from the documentation. But it=E2=80=99= s more than we have at the moment :) I=E2=80=99m not happy with that there is so much information - although = outdated - in the old Worg documentation which might be hidden to the = reader.=20 Anyway, I hope I=E2=80=99ve correctly incorporated all your comments. --Apple-Mail=_A995F283-7887-4EF4-BADF-C24C7E7E4F18 Content-Disposition: attachment; filename=0001-org.texi-Basic-Org-protocol-documentation-is-added.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-org.texi-Basic-Org-protocol-documentation-is-added.patch" Content-Transfer-Encoding: quoted-printable =46rom=20fb9a7538b5a6965cf10da2371bb93fdebf51ddb7=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Mario=20Martelli=20=0A= Date:=20Sat,=201=20Jul=202017=2014:39:46=20+0200=0ASubject:=20[PATCH=20= 1/2]=20org.texi:=20Basic=20Org=20protocol=20documentation=20is=20added=0A= =0A*=20doc/org.texi=20Basic=20Org=20protocol=20documentation=20is=20= added=0A---=0A=20doc/org.texi=20|=20121=20= +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--=0A=201=20= file=20changed,=20118=20insertions(+),=203=20deletions(-)=0A=0Adiff=20= --git=20a/doc/org.texi=20b/doc/org.texi=0Aindex=20879756e6f..76f491a78=20= 100644=0A---=20a/doc/org.texi=0A+++=20b/doc/org.texi=0A@@=20-7522,9=20= +7522,124=20@@=20are=20passed=20to=20Emacs=20through=20the=20= @file{emacsserver}.=20=20For=20example,=20you=20can=0A=20configure=20= bookmarks=20in=20your=20web=20browser=20to=20send=20a=20link=20to=20the=20= current=20page=20to=0A=20Org=20and=20create=20a=20note=20from=20it=20= using=20capture=20(@pxref{Capture}).=20=20Or=20you=0A=20could=20create=20= a=20bookmark=20that=20will=20tell=20Emacs=20to=20open=20the=20local=20= source=20file=20of=0A-a=20remote=20website=20you=20are=20looking=20at=20= with=20the=20browser.=20=20See=0A= -@uref{http://orgmode.org/worg/org-contrib/org-protocol.php}=20for=20= detailed=0A-documentation=20and=20setup=20instructions.=0A+a=20remote=20= website=20you=20are=20looking=20at=20with=20the=20browser.=0A+=0A+Org=20= protocol=20comes=20with=20three=20predefined=20handlers:=0A+@table=20= @asis=0A+@item=20@code{org-protocol-store-link}=0A+=09Triggered=20= through=20the=20sub-protocol=20@code{store-link}.=20=20Store=20a=0A+link=20= and=20push=20the=20URL=20to=20the=20kill-ring.=0A+@item=20= @code{org-protocol-capture}=0A+=09Fill=20a=20@code{capture}=20buffer=20= with=20information=20gathered=20somewhere=0A+else.=20=20This=20handler=20= is=20triggered=20through=20the=20@code{capture}=20sub-protocol=20and=0A= +uses=20the=20function=20@code{org-capture}.=0A+@item=20= @code{org-protocol-open-source}=0A+=09@code{open-source}.=20=20Map=20a=20= URL=20to=20local=20filename.=20=20Use=20this=20to=20open=0A+sources=20of=20= already=20published=20contents=20in=20Emacs=20for=20editing.=0A+@end=20= table=0A+=0A+@node=20Setting=20up=20Org=20protocol=0A+@subsection=20= Setting=20up=20Org=20protocol=0A+You=20need=20to=20set=20up=20a=20custom=20= URL=20handler=20on=20your=20system=20to=20trigger=20Emacs=20by=20a=0A= +URL.=20=20This=20URL=20handler=20could=20be=20already=20installed=20by=20= Emacs.=20=20Please=20consult=20the=0A+handbook=20of=20your=20operating=20= system=20how=20to=20install=20a=20custom=20URL=20handler=20if=20you=0A= +need=20to.=0A+=0A+To=20map=20a=20website=20with=20@code{open-source}=20= to=20local=20files=20you=20have=20to=20set=20up=0A+the=20mapping=20in=20= @code{org-protocol-project-alist}.=0A+=0A+For=20example,=20in=20order=20= to=20open=20files=20published=20on=20Worg=20locally,=20you=20can=20set=0A= +@code{org-protocol-project-alist}=20to=20the=20following=0A+=0A+@lisp=0A= +(setq=20org-protocol-project-alist=0A+=20=20=20=20=20=20'(("Worg"=0A+=09= =20:base-url=20"http://orgmode.org/worg/"=0A+=09=20:working-directory=20= "/home/user/worg/"=0A+=09=20:online-suffix=20".html"=0A+=09=20= :working-suffix=20".org")))=0A+@end=20lisp=0A+=0A+Two=20functions=20can=20= help=20you=20fill=20@code{org-protocol-project-alist}=20with=20valid=0A= +contents:=20@code{org-protocol-create}=20and=20= @code{org-publish-project-alist}.=20=20The=0A+latter=20is=20of=20use=20= if=20you're=20editing=20an=20Org=20file=20that=20is=20part=20of=20a=0A= +publishing=20project.=0A+=0A+@node=20Using=20Org=20protocol=0A= +@subsection=20Using=20Org=20protocol=0A+Org=20protocol=20is=20triggered=20= by=20@file{emacsclient}.=20If=20you=20want=20to=20use=20Org=0A+protocol,=20= there=20are=20many=20possibilities=20to=20do=20so.=20=20You=20can=20= invoke=20emacsclient=0A+by=20a=20shortcut=20on=20your=20desktop=20for=20= example.=20Or=20by=20adding=20a=20bookmark=20to=20your=20browser.=0A+=0A= +Here=20is=20the=20URL=20to=20use=20as=20@emph{Location}=20for=20browser=20= bookmarks.=20=20Just=20remove=20the=0A+line=20breaks=20and=20replace=20= @code{sub-protocol}=20with=20the=20real=20sub-protocol=20to=20use:=0A+=0A= +@example=0A+javascript:location.href=3D'org-protocol://sub-protocol?=0A= +template=3Dx&url=3D'+encodeURIComponent(window.location.href)+=0A= +'&title=3D'+encodeURIComponent(document.title)+=0A= +'&body=3D'+encodeURIComponent(window.getSelection());=0A+@end=20example=0A= +=0A+This=20URL=20may=20be=20used=20for=20all=20three=20standard=20= handlers=20in=0A+@code{org-protocol.el}.=20=20Some=20of=20the=20values=20= are=20ignored,=0A+e.g.=20@code{store-link}=20uses=20the=20URL=20and=20= title=20only.=0A+=0A+@table=20@asis=0A+@item=20@code{org-store-link}=0A+=20= =20=20=20=20=20store=20a=20link,=20insertable=20through=20@kbd{M-x=20= org-insert-link}=20and=0A+=20=20=20=20=20=20push=20the=20URL=20found=20= onto=20the=20kill-ring=20for=20yanking.=0A+=20=20=20=20=20=20The=20= sub-protocol=20used=20is=20@code{store-link}:=0A+=0A+@example=0A= +emacsclient=20org-protocol://store-link?url=3DURL&title=3DTITLE=0A+@end=20= example=0A+=0A+will=20store=20the=20following=20link:=0A+=0A+@example=0A= +[[URL][TITLE]]=0A+@end=20example=0A+=0A+In=20addition,=20@code{URL}=20= is=20pushed=20on=20the=20kill-ring=20for=20yanking.=0A+You=20need=20to=20= encode=20@code{URL}=20and=20@code{TITLE}=20if=0A+they=20contain=20= slashes,=20and=20probably=20quote=20those=20for=20the=20shell.=0A+=0A+To=20= use=20this=20feature,=20add=20a=20bookmark=20with=20an=20arbitrary=20= name,=20e.g.=0A+@samp{Org:=20store-link}=20and=20enter=20this=20as=20= @samp{Location}:=0A+=0A+@example=0A= +javascript:location.href=3D'org-protocol://store-link?=0A+=20=20=20=20=20= =20=20=20=20=20=20url=3D'+encodeURIComponent(location.href);=0A+@end=20= example=0A+=0A+@item=20@code{org-capture}=0A+This=20one=20is=20triggered=20= through=20the=20sub-protocol=20@code{capture}=20and=20consumes=20up=0A= +to=20four=20data=20fields:=0A+=0A+@example=0A+@file{emacsclient}=20= org-protocol:/capture?template=3D\=0A= +TEMPLATE?url=3DURL?title=3DTITLE?body=3DBODY=0A+@end=20example=0A+=0A= +@noindent=0A+pops=20up=20a=20@samp{Capture}=20buffer=20and=20fill=20the=20= template=20with=20the=20data=0A+submitted.=0A+=0A+To=20use=20this=20= feature,=20add=20a=20bookmark=20with=20an=20arbitrary=20name,=20e.g.=0A= +@samp{Org:=20capture}=20and=20enter=20this=20as=20@samp{Location}:=0A+=0A= +=0A+@example=0A+javascript:location.href=3D'org-protocol://=0A= +template=3Dx&url=3D'+encodeURIComponent(window.location.href)+=0A= +'&title=3D'+encodeURIComponent(document.title)+=0A= +'&body=3D'+encodeURIComponent(window.getSelection());=0A+@end=20example=0A= +=0A+The=20result=20depends=20on=20the=20template=20used.=0A+=0A+@end=20= table=0A=20=0A=20@node=20Refile=20and=20copy=0A=20@section=20Refile=20= and=20copy=0A--=20=0A2.11.0=20(Apple=20Git-81)=0A=0A= --Apple-Mail=_A995F283-7887-4EF4-BADF-C24C7E7E4F18 Content-Disposition: attachment; filename=0002-org.texi-Fixes-missing-space-after-dot.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0002-org.texi-Fixes-missing-space-after-dot.patch" Content-Transfer-Encoding: quoted-printable =46rom=201bd6e3b3390609254f1fae79a53957ba3f51868c=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Mario=20Martelli=20=0A= Date:=20Sat,=201=20Jul=202017=2014:44:45=20+0200=0ASubject:=20[PATCH=20= 2/2]=20org.texi:=20Fixes=20missing=20space=20after=20dot.=0A=0A*=20= org.texi=20Minor=20change=20regarding=20missing=20space=0A---=0A=20= doc/org.texi=20|=204=20++--=0A=201=20file=20changed,=202=20= insertions(+),=202=20deletions(-)=0A=0Adiff=20--git=20a/doc/org.texi=20= b/doc/org.texi=0Aindex=2076f491a78..93c9d4167=20100644=0A---=20= a/doc/org.texi=0A+++=20b/doc/org.texi=0A@@=20-829,7=20+829,7=20@@=20= different=20formats=20such=20as=20HTML,=20@LaTeX{},=20Open=20Document,=20= and=20Markdown.=20=20New=0A=20export=20backends=20can=20be=20derived=20= from=20existing=20ones,=20or=20defined=20from=20scratch.=0A=20=0A=20Org=20= files=20can=20include=20source=20code=20blocks,=20which=20makes=20Org=20= uniquely=20suited=20for=0A-authoring=20technical=20documents=20with=20= code=20examples.=20Org=20source=20code=20blocks=20are=0A+authoring=20= technical=20documents=20with=20code=20examples.=20=20Org=20source=20code=20= blocks=20are=0A=20fully=20functional;=20they=20can=20be=20evaluated=20in=20= place=20and=20their=20results=20can=20be=0A=20captured=20in=20the=20= file.=20=20This=20makes=20it=20possible=20to=20create=20a=20single=20= file=0A=20reproducible=20research=20compendium.=0A@@=20-8200,7=20+8200,7=20= @@=20you=20can=20use=20the=20following=20instead:=0A=20@end=20example=0A=20= =0A=20That=20will=20give=20you=20three=20days'=20warning:=20on=20the=20= anniversary=20date=20itself=20and=20the=0A-two=20days=20prior.=20The=20= argument=20is=20optional:=20if=20omitted,=20it=20defaults=20to=207.=0A= +two=20days=20prior.=20=20The=20argument=20is=20optional:=20if=20= omitted,=20it=20defaults=20to=207.=0A=20=0A=20@subsubheading=20= Appointment=20reminders=0A=20@cindex=20@file{appt.el}=0A--=20=0A2.11.0=20= (Apple=20Git-81)=0A=0A= --Apple-Mail=_A995F283-7887-4EF4-BADF-C24C7E7E4F18 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Kind regards Mario =E2=80=94=20 --Apple-Mail=_A995F283-7887-4EF4-BADF-C24C7E7E4F18-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: org-protocol documentation Date: Sat, 01 Jul 2017 18:42:09 +0200 Message-ID: <8760fc2joe.fsf@nicolasgoaziou.fr> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> <4D8D18D3-FBA7-4878-AB6A-76CE57635127@schnuddelhuddel.de> <878tk84fab.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51970) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dRLTO-00061r-2z for emacs-orgmode@gnu.org; Sat, 01 Jul 2017 12:42:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dRLTK-0005Zv-U2 for emacs-orgmode@gnu.org; Sat, 01 Jul 2017 12:42:18 -0400 Received: from relay3-d.mail.gandi.net ([2001:4b98:c:538::195]:47089) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dRLTK-0005Xc-KZ for emacs-orgmode@gnu.org; Sat, 01 Jul 2017 12:42:14 -0400 In-Reply-To: (Mario Martelli's message of "Sat, 1 Jul 2017 15:13:47 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli Cc: emacs-orgmode@gnu.org Mario Martelli writes: >> Genuine question: is this documentation actually complete enough to use >> the feature? > > I suppose so, if one knows how to configure URL handlers on their OS. > Of course there are some things missing from the documentation. But > it=E2=80=99s more than we have at the moment :) That is true. > I=E2=80=99m not happy with that there is so much information - although > outdated - in the old Worg documentation which might be hidden to the > reader. Note that > +Org protocol comes with three predefined handlers: > +@table @asis > +@item @code{org-protocol-store-link} > + Triggered through the sub-protocol @code{store-link}. Store a > +link and push the URL to the kill-ring. > +@item @code{org-protocol-capture} > + Fill a @code{capture} buffer with information gathered somewhere > +else. This handler is triggered through the @code{capture} sub-protocol= and > +uses the function @code{org-capture}. > +@item @code{org-protocol-open-source} > + @code{open-source}. Map a URL to local filename. Use this to open > +sources of already published contents in Emacs for editing. You probably missed my remark about this part. I think each sub-protocol should be introduced in a similar way. > +@end table > + > +@node Setting up Org protocol > +@subsection Setting up Org protocol This is the trick part. We need to feed the index. For example, we could add the following right below the @subsection line @cindex Org protocol, set-up @cindex Installing Org protocol Feel free to adapt. > +You need to set up a custom URL handler on your system to trigger Emacs = by a > +URL. This URL handler could be already installed by Emacs. Please cons= ult the > +handbook of your operating system how to install a custom URL handler if= you > +need to. > + > +To map a website with @code{open-source} to local files you have to set = up > +the mapping in @code{org-protocol-project-alist}. Just above this paragraph, you need @vindex org-protocol-project-alist > +For example, in order to open files published on Worg locally, you can s= et > +@code{org-protocol-project-alist} to the following > + > +@lisp > +(setq org-protocol-project-alist > + '(("Worg" > + :base-url "http://orgmode.org/worg/" > + :working-directory "/home/user/worg/" > + :online-suffix ".html" > + :working-suffix ".org"))) > +@end lisp > + > +Two functions can help you fill @code{org-protocol-project-alist} with v= alid > +contents: @code{org-protocol-create} and @code{org-publish-project-alist= }. The > +latter is of use if you're editing an Org file that is part of a > +publishing project. Just above this paragraph, we need @findex org-protocol-project-alist @findex org-protocol-create Though, I'm puzzled, `org-publish-project-alist' is a variable, not a funct= ion. > +@node Using Org protocol > +@subsection Using Org protocol See above about the @cindex: @cindex Org protocol, usage ... > +Org protocol is triggered by @file{emacsclient}. If you want to use Org ^^^ Gotcha =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 > +protocol, there are many possibilities to do so. You can invoke emacscl= ient > +by a shortcut on your desktop for example. Or by adding a bookmark to yo= ur browser. ^^^ Ditto > +@table @asis > +@item @code{org-store-link} > + store a link, insertable through @kbd{M-x org-insert-link} and -> Store =20 > Subject: [PATCH 2/2] org.texi: Fixes missing space after dot. > > * org.texi Minor change regarding missing space Good catch. Applied. Thank you. Regards, From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: org-protocol documentation Date: Sat, 01 Jul 2017 18:44:16 +0200 Message-ID: <87shig150f.fsf@nicolasgoaziou.fr> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> <4D8D18D3-FBA7-4878-AB6A-76CE57635127@schnuddelhuddel.de> <878tk84fab.fsf@nicolasgoaziou.fr> <8760fc2joe.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:52176) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dRLVR-0007GQ-Jh for emacs-orgmode@gnu.org; Sat, 01 Jul 2017 12:44:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dRLVO-0006yy-Gg for emacs-orgmode@gnu.org; Sat, 01 Jul 2017 12:44:25 -0400 Received: from relay6-d.mail.gandi.net ([217.70.183.198]:57434) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dRLVO-0006xj-Aa for emacs-orgmode@gnu.org; Sat, 01 Jul 2017 12:44:22 -0400 In-Reply-To: <8760fc2joe.fsf@nicolasgoaziou.fr> (Nicolas Goaziou's message of "Sat, 01 Jul 2017 18:42:09 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli Cc: emacs-orgmode@gnu.org Nicolas Goaziou writes: > Mario Martelli writes: >> outdated - in the old Worg documentation which might be hidden to the >> reader. > > Note that Ahem. Note that most of this documentation is available through other means, AFAIU. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: org-protocol documentation Date: Sat, 1 Jul 2017 21:24:47 +0200 Message-ID: References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> <4D8D18D3-FBA7-4878-AB6A-76CE57635127@schnuddelhuddel.de> <878tk84fab.fsf@nicolasgoaziou.fr> <8760fc2joe.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_93C44B88-8C10-4C7C-A65D-131E9C3E2DBA" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46230) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dRO0l-00070u-B8 for emacs-orgmode@gnu.org; Sat, 01 Jul 2017 15:24:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dRO0i-0004gp-5a for emacs-orgmode@gnu.org; Sat, 01 Jul 2017 15:24:55 -0400 Received: from mail-wm0-x234.google.com ([2a00:1450:400c:c09::234]:35821) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dRO0h-0004g2-Od for emacs-orgmode@gnu.org; Sat, 01 Jul 2017 15:24:52 -0400 Received: by mail-wm0-x234.google.com with SMTP id w126so135773669wme.0 for ; Sat, 01 Jul 2017 12:24:51 -0700 (PDT) In-Reply-To: <8760fc2joe.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org --Apple-Mail=_93C44B88-8C10-4C7C-A65D-131E9C3E2DBA Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 >> I=E2=80=99m not happy with that there is so much information - = although >> outdated - in the old Worg documentation which might be hidden to the >> reader. >=20 > Note that most of this documentation is available through other > means, AFAIU. Ok, what I meant are the readers who are not able to use Google ;) > You probably missed my remark about this part. I think each = sub-protocol > should be introduced in a similar way. I misinterpreted the meaning. I do not really like to begin each = sentence with the same phrase. But I got it eventually that it's a = manual ;) >> +Two functions can help you fill @code{org-protocol-project-alist} = with valid >> +contents: @code{org-protocol-create} and = @code{org-publish-project-alist}. The >> +latter is of use if you're editing an Org file that is part of a >> +publishing project. >=20 > Though, I'm puzzled, `org-publish-project-alist' is a variable, not a = function. Don=E2=80=99t know what happened there. Repaired. >> +Org protocol is triggered by @file{emacsclient}. If you want to use = Org > ^^^ > Gotcha >=20 >> +protocol, there are many possibilities to do so. You can invoke = emacsclient >> +by a shortcut on your desktop for example. Or by adding a bookmark = to your browser. > ^^^ > Ditto This one I do not understand. I use now @file{emacsclient} consistently if that was the meaning of the = comment. > This is the trick part. We need to feed the index. > @cindex Installing Org protocol > @vindex org-protocol-project-alist > @findex org-protocol-project-alist I started this whole thing because I wanted to learn elisp. But learning = texinfo en-passant is nice :) --Apple-Mail=_93C44B88-8C10-4C7C-A65D-131E9C3E2DBA Content-Disposition: attachment; filename=0001-org.texi-Basic-Org-protocol-documentation-is-added.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-org.texi-Basic-Org-protocol-documentation-is-added.patch" Content-Transfer-Encoding: quoted-printable =46rom=20fb9a7538b5a6965cf10da2371bb93fdebf51ddb7=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Mario=20Martelli=20=0A= Date:=20Sat,=201=20Jul=202017=2014:39:46=20+0200=0ASubject:=20[PATCH=20= 1/3]=20org.texi:=20Basic=20Org=20protocol=20documentation=20is=20added=0A= =0A*=20doc/org.texi=20Basic=20Org=20protocol=20documentation=20is=20= added=0A---=0A=20doc/org.texi=20|=20121=20= +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--=0A=201=20= file=20changed,=20118=20insertions(+),=203=20deletions(-)=0A=0Adiff=20= --git=20a/doc/org.texi=20b/doc/org.texi=0Aindex=20879756e6f..76f491a78=20= 100644=0A---=20a/doc/org.texi=0A+++=20b/doc/org.texi=0A@@=20-7522,9=20= +7522,124=20@@=20are=20passed=20to=20Emacs=20through=20the=20= @file{emacsserver}.=20=20For=20example,=20you=20can=0A=20configure=20= bookmarks=20in=20your=20web=20browser=20to=20send=20a=20link=20to=20the=20= current=20page=20to=0A=20Org=20and=20create=20a=20note=20from=20it=20= using=20capture=20(@pxref{Capture}).=20=20Or=20you=0A=20could=20create=20= a=20bookmark=20that=20will=20tell=20Emacs=20to=20open=20the=20local=20= source=20file=20of=0A-a=20remote=20website=20you=20are=20looking=20at=20= with=20the=20browser.=20=20See=0A= -@uref{http://orgmode.org/worg/org-contrib/org-protocol.php}=20for=20= detailed=0A-documentation=20and=20setup=20instructions.=0A+a=20remote=20= website=20you=20are=20looking=20at=20with=20the=20browser.=0A+=0A+Org=20= protocol=20comes=20with=20three=20predefined=20handlers:=0A+@table=20= @asis=0A+@item=20@code{org-protocol-store-link}=0A+=09Triggered=20= through=20the=20sub-protocol=20@code{store-link}.=20=20Store=20a=0A+link=20= and=20push=20the=20URL=20to=20the=20kill-ring.=0A+@item=20= @code{org-protocol-capture}=0A+=09Fill=20a=20@code{capture}=20buffer=20= with=20information=20gathered=20somewhere=0A+else.=20=20This=20handler=20= is=20triggered=20through=20the=20@code{capture}=20sub-protocol=20and=0A= +uses=20the=20function=20@code{org-capture}.=0A+@item=20= @code{org-protocol-open-source}=0A+=09@code{open-source}.=20=20Map=20a=20= URL=20to=20local=20filename.=20=20Use=20this=20to=20open=0A+sources=20of=20= already=20published=20contents=20in=20Emacs=20for=20editing.=0A+@end=20= table=0A+=0A+@node=20Setting=20up=20Org=20protocol=0A+@subsection=20= Setting=20up=20Org=20protocol=0A+You=20need=20to=20set=20up=20a=20custom=20= URL=20handler=20on=20your=20system=20to=20trigger=20Emacs=20by=20a=0A= +URL.=20=20This=20URL=20handler=20could=20be=20already=20installed=20by=20= Emacs.=20=20Please=20consult=20the=0A+handbook=20of=20your=20operating=20= system=20how=20to=20install=20a=20custom=20URL=20handler=20if=20you=0A= +need=20to.=0A+=0A+To=20map=20a=20website=20with=20@code{open-source}=20= to=20local=20files=20you=20have=20to=20set=20up=0A+the=20mapping=20in=20= @code{org-protocol-project-alist}.=0A+=0A+For=20example,=20in=20order=20= to=20open=20files=20published=20on=20Worg=20locally,=20you=20can=20set=0A= +@code{org-protocol-project-alist}=20to=20the=20following=0A+=0A+@lisp=0A= +(setq=20org-protocol-project-alist=0A+=20=20=20=20=20=20'(("Worg"=0A+=09= =20:base-url=20"http://orgmode.org/worg/"=0A+=09=20:working-directory=20= "/home/user/worg/"=0A+=09=20:online-suffix=20".html"=0A+=09=20= :working-suffix=20".org")))=0A+@end=20lisp=0A+=0A+Two=20functions=20can=20= help=20you=20fill=20@code{org-protocol-project-alist}=20with=20valid=0A= +contents:=20@code{org-protocol-create}=20and=20= @code{org-publish-project-alist}.=20=20The=0A+latter=20is=20of=20use=20= if=20you're=20editing=20an=20Org=20file=20that=20is=20part=20of=20a=0A= +publishing=20project.=0A+=0A+@node=20Using=20Org=20protocol=0A= +@subsection=20Using=20Org=20protocol=0A+Org=20protocol=20is=20triggered=20= by=20@file{emacsclient}.=20If=20you=20want=20to=20use=20Org=0A+protocol,=20= there=20are=20many=20possibilities=20to=20do=20so.=20=20You=20can=20= invoke=20emacsclient=0A+by=20a=20shortcut=20on=20your=20desktop=20for=20= example.=20Or=20by=20adding=20a=20bookmark=20to=20your=20browser.=0A+=0A= +Here=20is=20the=20URL=20to=20use=20as=20@emph{Location}=20for=20browser=20= bookmarks.=20=20Just=20remove=20the=0A+line=20breaks=20and=20replace=20= @code{sub-protocol}=20with=20the=20real=20sub-protocol=20to=20use:=0A+=0A= +@example=0A+javascript:location.href=3D'org-protocol://sub-protocol?=0A= +template=3Dx&url=3D'+encodeURIComponent(window.location.href)+=0A= +'&title=3D'+encodeURIComponent(document.title)+=0A= +'&body=3D'+encodeURIComponent(window.getSelection());=0A+@end=20example=0A= +=0A+This=20URL=20may=20be=20used=20for=20all=20three=20standard=20= handlers=20in=0A+@code{org-protocol.el}.=20=20Some=20of=20the=20values=20= are=20ignored,=0A+e.g.=20@code{store-link}=20uses=20the=20URL=20and=20= title=20only.=0A+=0A+@table=20@asis=0A+@item=20@code{org-store-link}=0A+=20= =20=20=20=20=20store=20a=20link,=20insertable=20through=20@kbd{M-x=20= org-insert-link}=20and=0A+=20=20=20=20=20=20push=20the=20URL=20found=20= onto=20the=20kill-ring=20for=20yanking.=0A+=20=20=20=20=20=20The=20= sub-protocol=20used=20is=20@code{store-link}:=0A+=0A+@example=0A= +emacsclient=20org-protocol://store-link?url=3DURL&title=3DTITLE=0A+@end=20= example=0A+=0A+will=20store=20the=20following=20link:=0A+=0A+@example=0A= +[[URL][TITLE]]=0A+@end=20example=0A+=0A+In=20addition,=20@code{URL}=20= is=20pushed=20on=20the=20kill-ring=20for=20yanking.=0A+You=20need=20to=20= encode=20@code{URL}=20and=20@code{TITLE}=20if=0A+they=20contain=20= slashes,=20and=20probably=20quote=20those=20for=20the=20shell.=0A+=0A+To=20= use=20this=20feature,=20add=20a=20bookmark=20with=20an=20arbitrary=20= name,=20e.g.=0A+@samp{Org:=20store-link}=20and=20enter=20this=20as=20= @samp{Location}:=0A+=0A+@example=0A= +javascript:location.href=3D'org-protocol://store-link?=0A+=20=20=20=20=20= =20=20=20=20=20=20url=3D'+encodeURIComponent(location.href);=0A+@end=20= example=0A+=0A+@item=20@code{org-capture}=0A+This=20one=20is=20triggered=20= through=20the=20sub-protocol=20@code{capture}=20and=20consumes=20up=0A= +to=20four=20data=20fields:=0A+=0A+@example=0A+@file{emacsclient}=20= org-protocol:/capture?template=3D\=0A= +TEMPLATE?url=3DURL?title=3DTITLE?body=3DBODY=0A+@end=20example=0A+=0A= +@noindent=0A+pops=20up=20a=20@samp{Capture}=20buffer=20and=20fill=20the=20= template=20with=20the=20data=0A+submitted.=0A+=0A+To=20use=20this=20= feature,=20add=20a=20bookmark=20with=20an=20arbitrary=20name,=20e.g.=0A= +@samp{Org:=20capture}=20and=20enter=20this=20as=20@samp{Location}:=0A+=0A= +=0A+@example=0A+javascript:location.href=3D'org-protocol://=0A= +template=3Dx&url=3D'+encodeURIComponent(window.location.href)+=0A= +'&title=3D'+encodeURIComponent(document.title)+=0A= +'&body=3D'+encodeURIComponent(window.getSelection());=0A+@end=20example=0A= +=0A+The=20result=20depends=20on=20the=20template=20used.=0A+=0A+@end=20= table=0A=20=0A=20@node=20Refile=20and=20copy=0A=20@section=20Refile=20= and=20copy=0A--=20=0A2.11.0=20(Apple=20Git-81)=0A=0A= --Apple-Mail=_93C44B88-8C10-4C7C-A65D-131E9C3E2DBA Content-Disposition: attachment; filename=0002-org.texi-Fixes-missing-space-after-dot.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0002-org.texi-Fixes-missing-space-after-dot.patch" Content-Transfer-Encoding: quoted-printable =46rom=201bd6e3b3390609254f1fae79a53957ba3f51868c=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Mario=20Martelli=20=0A= Date:=20Sat,=201=20Jul=202017=2014:44:45=20+0200=0ASubject:=20[PATCH=20= 2/3]=20org.texi:=20Fixes=20missing=20space=20after=20dot.=0A=0A*=20= org.texi=20Minor=20change=20regarding=20missing=20space=0A---=0A=20= doc/org.texi=20|=204=20++--=0A=201=20file=20changed,=202=20= insertions(+),=202=20deletions(-)=0A=0Adiff=20--git=20a/doc/org.texi=20= b/doc/org.texi=0Aindex=2076f491a78..93c9d4167=20100644=0A---=20= a/doc/org.texi=0A+++=20b/doc/org.texi=0A@@=20-829,7=20+829,7=20@@=20= different=20formats=20such=20as=20HTML,=20@LaTeX{},=20Open=20Document,=20= and=20Markdown.=20=20New=0A=20export=20backends=20can=20be=20derived=20= from=20existing=20ones,=20or=20defined=20from=20scratch.=0A=20=0A=20Org=20= files=20can=20include=20source=20code=20blocks,=20which=20makes=20Org=20= uniquely=20suited=20for=0A-authoring=20technical=20documents=20with=20= code=20examples.=20Org=20source=20code=20blocks=20are=0A+authoring=20= technical=20documents=20with=20code=20examples.=20=20Org=20source=20code=20= blocks=20are=0A=20fully=20functional;=20they=20can=20be=20evaluated=20in=20= place=20and=20their=20results=20can=20be=0A=20captured=20in=20the=20= file.=20=20This=20makes=20it=20possible=20to=20create=20a=20single=20= file=0A=20reproducible=20research=20compendium.=0A@@=20-8200,7=20+8200,7=20= @@=20you=20can=20use=20the=20following=20instead:=0A=20@end=20example=0A=20= =0A=20That=20will=20give=20you=20three=20days'=20warning:=20on=20the=20= anniversary=20date=20itself=20and=20the=0A-two=20days=20prior.=20The=20= argument=20is=20optional:=20if=20omitted,=20it=20defaults=20to=207.=0A= +two=20days=20prior.=20=20The=20argument=20is=20optional:=20if=20= omitted,=20it=20defaults=20to=207.=0A=20=0A=20@subsubheading=20= Appointment=20reminders=0A=20@cindex=20@file{appt.el}=0A--=20=0A2.11.0=20= (Apple=20Git-81)=0A=0A= --Apple-Mail=_93C44B88-8C10-4C7C-A65D-131E9C3E2DBA Content-Disposition: attachment; filename=0003-org.texi-Minor-changes-and-added-index-to-org-protoc.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0003-org.texi-Minor-changes-and-added-index-to-org-protoc.patch" Content-Transfer-Encoding: quoted-printable =46rom=209468832e402e46c1a574cdeeadaa6b7ae275198c=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Mario=20Martelli=20=0A= Date:=20Sat,=201=20Jul=202017=2021:13:54=20+0200=0ASubject:=20[PATCH=20= 3/3]=20org.texi:=20Minor=20changes=20and=20added=20index=20to=20= org-protocol=0A=0A*=20doc/org.texi=20Minor=20changes=20and=20added=20= index=20to=20org-protocol=0A---=0A=20doc/org.texi=20|=2030=20= +++++++++++++++++++++---------=0A=201=20file=20changed,=2021=20= insertions(+),=209=20deletions(-)=0A=0Adiff=20--git=20a/doc/org.texi=20= b/doc/org.texi=0Aindex=2093c9d4167..7add60d5c=20100644=0A---=20= a/doc/org.texi=0A+++=20b/doc/org.texi=0A@@=20-7528,26=20+7528,31=20@@=20= Org=20protocol=20comes=20with=20three=20predefined=20handlers:=0A=20= @table=20@asis=0A=20@item=20@code{org-protocol-store-link}=0A=20=09= Triggered=20through=20the=20sub-protocol=20@code{store-link}.=20=20Store=20= a=0A-link=20and=20push=20the=20URL=20to=20the=20kill-ring.=0A+=20=20=20=20= =20=20=20=20link=20and=20push=20the=20URL=20to=20the=20kill-ring.=0A=20= @item=20@code{org-protocol-capture}=0A-=09Fill=20a=20@code{capture}=20= buffer=20with=20information=20gathered=20somewhere=0A-else.=20=20This=20= handler=20is=20triggered=20through=20the=20@code{capture}=20sub-protocol=20= and=0A-uses=20the=20function=20@code{org-capture}.=0A+=09Triggered=20= through=20the=20sub-protocol=20@code{capture}.=20=20Fill=20a=20buffer=0A= +=20=20=20=20=20=20=20=20with=20information=20gathered=20somewhere=20= else.=0A=20@item=20@code{org-protocol-open-source}=0A-=09= @code{open-source}.=20=20Map=20a=20URL=20to=20local=20filename.=20=20Use=20= this=20to=20open=0A-sources=20of=20already=20published=20contents=20in=20= Emacs=20for=20editing.=0A+=09Triggered=20through=20the=20sub-protoicol=20= @code{open-source}.=20=20Map=20a=20URL=20to=0A+=09local=20filename.=20=20= Use=20this=20to=20open=20sources=20of=20already=20published=0A+=09= contents=20in=20Emacs=20for=20editing.=0A=20@end=20table=0A=20=0A=20= @node=20Setting=20up=20Org=20protocol=0A=20@subsection=20Setting=20up=20= Org=20protocol=0A+@cindex=20Org=20protocol,=20set-up=0A+@cindex=20= Installing=20Org=20protocol=0A+=0A=20You=20need=20to=20set=20up=20a=20= custom=20URL=20handler=20on=20your=20system=20to=20trigger=20Emacs=20by=20= a=0A=20URL.=20=20This=20URL=20handler=20could=20be=20already=20installed=20= by=20Emacs.=20=20Please=20consult=20the=0A=20handbook=20of=20your=20= operating=20system=20how=20to=20install=20a=20custom=20URL=20handler=20= if=20you=0A=20need=20to.=0A=20=0A+@vindex=20org-protocol-project-alist=0A= =20To=20map=20a=20website=20with=20@code{open-source}=20to=20local=20= files=20you=20have=20to=20set=20up=0A=20the=20mapping=20in=20= @code{org-protocol-project-alist}.=0A=20=0A+@vindex=20= org-protocol-project-alist=0A=20For=20example,=20in=20order=20to=20open=20= files=20published=20on=20Worg=20locally,=20you=20can=20set=0A=20= @code{org-protocol-project-alist}=20to=20the=20following=0A=20=0A@@=20= -7560,15=20+7565,22=20@@=20For=20example,=20in=20order=20to=20open=20= files=20published=20on=20Worg=20locally,=20you=20can=20set=0A=20=09=20= :working-suffix=20".org")))=0A=20@end=20lisp=0A=20=0A+@vindex=20= org-protocol-project-alist=0A+@findex=20org-protocol-create=0A+@findex=20= org-protocol-create-for-org=0A=20Two=20functions=20can=20help=20you=20= fill=20@code{org-protocol-project-alist}=20with=20valid=0A-contents:=20= @code{org-protocol-create}=20and=20@code{org-publish-project-alist}.=20=20= The=0A+contents:=20@code{org-protocol-create}=20and=20= @code{org-protocol-create-for-org}.=20=20The=0A=20latter=20is=20of=20use=20= if=20you're=20editing=20an=20Org=20file=20that=20is=20part=20of=20a=0A=20= publishing=20project.=0A=20=0A=20@node=20Using=20Org=20protocol=0A=20= @subsection=20Using=20Org=20protocol=0A+@cindex=20Org=20protocol,=20= using=0A+@cindex=20Using=20Org=20protocol=0A+=0A+=0A=20Org=20protocol=20= is=20triggered=20by=20@file{emacsclient}.=20If=20you=20want=20to=20use=20= Org=0A-protocol,=20there=20are=20many=20possibilities=20to=20do=20so.=20=20= You=20can=20invoke=20emacsclient=0A+protocol,=20there=20are=20many=20= possibilities=20to=20do=20so.=20=20You=20can=20invoke=20= @file{emacsclient}=0A=20by=20a=20shortcut=20on=20your=20desktop=20for=20= example.=20Or=20by=20adding=20a=20bookmark=20to=20your=20browser.=0A=20=0A= =20Here=20is=20the=20URL=20to=20use=20as=20@emph{Location}=20for=20= browser=20bookmarks.=20=20Just=20remove=20the=0A@@=20-7592,7=20+7604,7=20= @@=20e.g.=20@code{store-link}=20uses=20the=20URL=20and=20title=20only.=0A= =20=20=20=20=20=20=20The=20sub-protocol=20used=20is=20@code{store-link}:=0A= =20=0A=20@example=0A-emacsclient=20= org-protocol://store-link?url=3DURL&title=3DTITLE=0A+@file{emacsclient}=20= org-protocol://store-link?url=3DURL&title=3DTITLE=0A=20@end=20example=0A=20= =0A=20will=20store=20the=20following=20link:=0A--=20=0A2.11.0=20(Apple=20= Git-81)=0A=0A= --Apple-Mail=_93C44B88-8C10-4C7C-A65D-131E9C3E2DBA Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 (second patch attached out of consistency reasons) Kind regards Mario =E2=80=94=20 --Apple-Mail=_93C44B88-8C10-4C7C-A65D-131E9C3E2DBA-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Dokos Subject: Re: org-protocol documentation Date: Mon, 03 Jul 2017 13:21:14 -0400 Message-ID: <87h8ytmo6t.fsf@alphaville.usersys.redhat.com> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> <4D8D18D3-FBA7-4878-AB6A-76CE57635127@schnuddelhuddel.de> <878tk84fab.fsf@nicolasgoaziou.fr> <8760fc2joe.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35692) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dS52U-0002Cv-8B for emacs-orgmode@gnu.org; Mon, 03 Jul 2017 13:21:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dS52P-0003fu-CW for emacs-orgmode@gnu.org; Mon, 03 Jul 2017 13:21:34 -0400 Received: from [195.159.176.226] (port=43250 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dS52P-0003f6-55 for emacs-orgmode@gnu.org; Mon, 03 Jul 2017 13:21:29 -0400 Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1dS52F-0003mk-VX for emacs-orgmode@gnu.org; Mon, 03 Jul 2017 19:21:19 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode@gnu.org Mario Martelli writes: >>> +Org protocol is triggered by @file{emacsclient}. If you want to use Org >> ^^^ >> Gotcha >> >>> +protocol, there are many possibilities to do so. You can invoke emacsclient >>> +by a shortcut on your desktop for example. Or by adding a bookmark to your browser. >> ^^^ >> Ditto > > This one I do not understand. > I use now @file{emacsclient} consistently if that was the meaning of the comment. > No, it's a much more mundane style issue: you need to have two spaces after a period. -- Nick From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: org-protocol documentation Date: Mon, 3 Jul 2017 20:09:04 +0200 Message-ID: <75C6FCF8-2875-4B44-BEB5-E46B0AB365D3@martelli.de> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> <4D8D18D3-FBA7-4878-AB6A-76CE57635127@schnuddelhuddel.de> <878tk84fab.fsf@nicolasgoaziou.fr> <8760fc2joe.fsf@nicolasgoaziou.fr> <87h8ytmo6t.fsf@alphaville.usersys.redhat.com> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: multipart/signed; boundary="Apple-Mail=_201A31B3-335E-4C64-B883-8DF12652884F"; protocol="application/pkcs7-signature"; micalg=sha1 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44963) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dS5mb-0004pN-Nz for emacs-orgmode@gnu.org; Mon, 03 Jul 2017 14:09:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dS5mW-0004Yo-Lx for emacs-orgmode@gnu.org; Mon, 03 Jul 2017 14:09:13 -0400 Received: from mail-wm0-x22b.google.com ([2a00:1450:400c:c09::22b]:38346) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dS5mW-0004Xj-8o for emacs-orgmode@gnu.org; Mon, 03 Jul 2017 14:09:08 -0400 Received: by mail-wm0-x22b.google.com with SMTP id f67so62662529wmh.1 for ; Mon, 03 Jul 2017 11:09:08 -0700 (PDT) In-Reply-To: <87h8ytmo6t.fsf@alphaville.usersys.redhat.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nick Dokos Cc: emacs-orgmode@gnu.org --Apple-Mail=_201A31B3-335E-4C64-B883-8DF12652884F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 >> This one I do not understand. >> I use now @file{emacsclient} consistently if that was the meaning of = the comment. >>=20 >=20 > No, it's a much more mundane style issue: you need to have two spaces = after a period. :smile: I hope I got that changed too ;) rgrds Mario =E2=80=94=20 --Apple-Mail=_201A31B3-335E-4C64-B883-8DF12652884F Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIK3jCCBPQw ggPcoAMCAQICECP/tOg+fimFCS289n6MJGUwDQYJKoZIhvcNAQELBQAwdTELMAkGA1UEBhMCSUwx FjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g QXV0aG9yaXR5MSMwIQYDVQQDExpTdGFydENvbSBDbGFzcyAxIENsaWVudCBDQTAeFw0xNjExMTAx NDM4MDZaFw0xOTExMTAxNDM4MDZaMD4xGjAYBgNVBAMMEW1hcmlvQG1hcnRlbGxpLmRlMSAwHgYJ KoZIhvcNAQkBFhFtYXJpb0BtYXJ0ZWxsaS5kZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAL+gabnAmHu7PQx2fZPSXSECpD71QJKWefSnl5s7WxEnkXaDMEhB/H0m08j9ky2zhknhJ01Y G1BhiSqalldwtzp0WW3K2Ws7ztRtNRg1lKe6ZF01zBf/dKXJJQIDjjzQX7bZUFz1JxnYENnLYU1e q6uBiQETp7PHLqexTkBL6Oclk9/lJ0V/f+py+MrdsrbCYwsB6xc2SYsNBWgoEIPN23DBTbrccB5u KvBxK1MUksULhT4sYUKiYkIrEevxbZGcJWj4Mw8UeefH8protvNmdMD6/zSkb2sV13UXKiT0c0z8 47UYMkC3jjXqBJcDc0RlQIQGxU/1zg2gDcEr473/6lUCAwEAAaOCAbUwggGxMA4GA1UdDwEB/wQE AwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwCQYDVR0TBAIwADAdBgNVHQ4EFgQU 5iCVFHcAkiXDiKurr1HDtx9EXmowHwYDVR0jBBgwFoAUJIFsOWG+SQ+PtxtGK8kotSdIbWgwbwYI KwYBBQUHAQEEYzBhMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5zdGFydHNzbC5jb20wOQYIKwYB BQUHMAKGLWh0dHA6Ly9haWEuc3RhcnRzc2wuY29tL2NlcnRzL3NjYS5jbGllbnQxLmNydDA4BgNV HR8EMTAvMC2gK6AphidodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9zY2EtY2xpZW50MS5jcmwwHAYD VR0RBBUwE4ERbWFyaW9AbWFydGVsbGkuZGUwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNz bC5jb20vMEcGA1UdIARAMD4wPAYLKwYBBAGBtTcBAgUwLTArBggrBgEFBQcCARYfaHR0cHM6Ly93 d3cuc3RhcnRzc2wuY29tL3BvbGljeTANBgkqhkiG9w0BAQsFAAOCAQEAoYCpWGuQNKcQbez8c02c /RyFJvdsuWb4BmikveAYMaT4ain82T/HLvuipKo687wl7qk7D7UVOk3cPlOyPPmHMOqEB+NMQYnU BCLuyNm7m1DQjuB5lhF9jUXTB/KlyO59A1ILbChvdVXTwk21rKXyaoa46evHNUnQv51T9nbPhvdi nyVKUXlB9+chTn3Z6hNtgMyXtfRwpoIjYtHcEr51WtCdVcY30YeqxdMqA0VpgDgEYqopLm7jtWfn W2S8AMA7FsJGG/Uo32qOM0z0NYgKsmC8jPgYNL2rNI+wyNt8ecwRNmMIKVHpuxCotjMt57aqQ32h UDSyeHAPGP9PUgqQdjCCBeIwggPKoAMCAQICEGunin0K14jWUQr5WeTntOEwDQYJKoZIhvcNAQEL BQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3Vy ZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmlj YXRpb24gQXV0aG9yaXR5MB4XDTE1MTIxNjAxMDAwNVoXDTMwMTIxNjAxMDAwNVowdTELMAkGA1UE BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29tIENlcnRpZmlj YXRpb24gQXV0aG9yaXR5MSMwIQYDVQQDExpTdGFydENvbSBDbGFzcyAxIENsaWVudCBDQTCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL192vfDon2D9luC/dtbX64eG3XAtRmvmCSsu1d5 2DXsCR58zJQbCtB2/A5uFqNxWacpXGGtTCRk9dEDBlmixEd8QiLkUfvHpJX/xKnmVkS6Iye8wUbY zMsDzgnpazlPg19dnSqfhM+Cevdfa89VLnUztRr2cgmCfyO9Otrh7LJDPG+4D8ZnAqDtVB8MKYJL 6QgKyVhhaBc4y3bGWxKyXEtx7QIZZGxPwSkzK3WIN+VKNdkiwTubW5PIdopmykwvIjLPqbJK7yPw FZYekKE015OsW6FV+s4DIM8UlVS8pkIsoGGJtMuWjLL4tq2hYQuuN0jhrxK1ljz50hH23gA9cbMC AwEAAaOCAWQwggFgMA4GA1UdDwEB/wQEAwIBBjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH AwQwEgYDVR0TAQH/BAgwBgEB/wIBADAyBgNVHR8EKzApMCegJaAjhiFodHRwOi8vY3JsLnN0YXJ0 c3NsLmNvbS9zZnNjYS5jcmwwZgYIKwYBBQUHAQEEWjBYMCQGCCsGAQUFBzABhhhodHRwOi8vb2Nz cC5zdGFydHNzbC5jb20wMAYIKwYBBQUHMAKGJGh0dHA6Ly9haWEuc3RhcnRzc2wuY29tL2NlcnRz L2NhLmNydDAdBgNVHQ4EFgQUJIFsOWG+SQ+PtxtGK8kotSdIbWgwHwYDVR0jBBgwFoAUTgvvGqRA W6UXaYcwyjRoQ9BBrvIwPwYDVR0gBDgwNjA0BgRVHSAAMCwwKgYIKwYBBQUHAgEWHmh0dHA6Ly93 d3cuc3RhcnRzc2wuY29tL3BvbGljeTANBgkqhkiG9w0BAQsFAAOCAgEAi+P3h+wBi4StDwECW5zh IycjBL008HACblIf26HY0JdOruKbrWDsXUsiI0j/7Crft9S5oxvPiDtVqspBOB/y5uzSns1lZwh7 sG96bYBZpcGzGxpFNjDmQbcM3yl3WFIRS4WhNrsOY14V7y2IrUGsvetsD+bjyOngCIVeC/Gmsmtb uLOzJ606tEc9uRbhjTu/b0x2Fo+/e7UkQvKzNeo7OMhijixaULyINBfCBJb+e29bLafgu6JqjOUJ 9eXXj20p6q/CW+uVrZiSW57+q5an2P2i7hP85jQJcy5j4HzA0rSiF3YPhKGAWUxKPMAVGgcYoXzW ydOvZ3UDsTDTagXpRDIKQLZo02wrlxY6iMFqvlzsemVf1odhQJmi7Eh5TbxI40kDGcBOBHhwnaOu mZhLP+SWJQnjpLpSlUOj95uf1zo9oz9e0NgIJoz/tdfrBzez76xtDsK0KfUDHt1/q59BvDI7RX6g Vr0fQoCyMczNzCTcRXYHY0tq2J0oT+bsb6sH2b4WVWAiJKnSYaWDjdA70qHX4mq9MIjO/ZskmSY8 wtAk24orAc0vwXgYanqNsBX5Yv4sN4Z9VyrwMdLcusP7HJgRdAGKpkR2I9U4zEsNJQJewM7S4Jal o1DyPrLpL2nTET8ZrSl5Utp1UeGp/2deoprGevfnxWB+vHNQiu85o6MxggNOMIIDSgIBATCBiTB1 MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEpMCcGA1UECxMgU3RhcnRDb20g Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIzAhBgNVBAMTGlN0YXJ0Q29tIENsYXNzIDEgQ2xpZW50 IENBAhAj/7ToPn4phQktvPZ+jCRlMAkGBSsOAwIaBQCgggGZMBgGCSqGSIb3DQEJAzELBgkqhkiG 9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE3MDcwMzE4MDkwNVowIwYJKoZIhvcNAQkEMRYEFC45VO2F z7diLPCvcDlqZUuIe64FMIGaBgkrBgEEAYI3EAQxgYwwgYkwdTELMAkGA1UEBhMCSUwxFjAUBgNV BAoTDVN0YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9y aXR5MSMwIQYDVQQDExpTdGFydENvbSBDbGFzcyAxIENsaWVudCBDQQIQI/+06D5+KYUJLbz2fowk ZTCBnAYLKoZIhvcNAQkQAgsxgYyggYkwdTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29t IEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSMwIQYDVQQD ExpTdGFydENvbSBDbGFzcyAxIENsaWVudCBDQQIQI/+06D5+KYUJLbz2fowkZTANBgkqhkiG9w0B AQEFAASCAQBga9ic311iUrdwuz8ORFbgtxhB22Jm8aai1roQtZtSxs2lsVwvP4MNN5uVw1dvcoXT /7Ff0Sk2+kTjp2P3D1AA0FX4Glm0hEWT02eUIlrxoMlhf+eNqSi3x1jjd3Klo2IF0ike1pvSoVly LV5BS7FKlt1ltYMRxRIPiK7uK9qbX123Rd9eukaVUJ4w16/q8YNbqrXre2OysbhqjKAnkPYsqgOh N4yyMwJWxqMe59vhchlqtEBZU94YCswI5IqI759DnxWFEaLNkO8W9ArBmuWFqoIs8CgY92ocqjFJ rYTRUFGASE1ZW92wGXLSmoPsj38fLs/m5TINi6FZQqcpxM7JAAAAAAAA --Apple-Mail=_201A31B3-335E-4C64-B883-8DF12652884F-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: org-protocol documentation Date: Thu, 06 Jul 2017 19:54:15 +0200 Message-ID: <8760f578oo.fsf@nicolasgoaziou.fr> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> <4D8D18D3-FBA7-4878-AB6A-76CE57635127@schnuddelhuddel.de> <878tk84fab.fsf@nicolasgoaziou.fr> <8760fc2joe.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:40003) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dTAyw-0002cm-4r for emacs-orgmode@gnu.org; Thu, 06 Jul 2017 13:54:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dTAyr-0003by-6U for emacs-orgmode@gnu.org; Thu, 06 Jul 2017 13:54:26 -0400 Received: from relay3-d.mail.gandi.net ([2001:4b98:c:538::195]:42151) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dTAyq-0003bF-Sq for emacs-orgmode@gnu.org; Thu, 06 Jul 2017 13:54:21 -0400 In-Reply-To: (Mario Martelli's message of "Sat, 1 Jul 2017 21:24:47 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli Cc: emacs-orgmode@gnu.org --=-=-= Content-Type: text/plain Hello, Mario Martelli writes: > I started this whole thing because I wanted to learn elisp. But > learning texinfo en-passant is nice :) Thank you for your patch. I re-worded the documentation based on your work. I also added more index entries. Since I'm not using Org Protocol, I may fall wide of the mark. Anyway, it's now your turn to do some reviewing ;) WDYT? Regards, -- Nicolas Goaziou 0x80A93738 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-org.texi-Document-Org-Protocol.patch Content-Description: document Org Protocol >From 6caca7a57427efb67d5d1fdaf25232a46c96b2ba Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 4 Jul 2017 14:48:41 +0200 Subject: [PATCH] org.texi: Document Org Protocol * doc/org.texi (Protocols): Document feature. --- doc/org.texi | 208 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 200 insertions(+), 8 deletions(-) diff --git a/doc/org.texi b/doc/org.texi index 176e7c259..e73c9c06a 100644 --- a/doc/org.texi +++ b/doc/org.texi @@ -499,6 +499,12 @@ Capture templates * Template expansion:: Filling in information about time and context * Templates in contexts:: Only show a template in a specific context +Protocols for external access + +* @code{store-link} protocol:: Store a link, push URL to kill-ring +* @code{capture} protocol:: Fill a buffer with external information +* @code{open-source} protocol:: Edit published contents + Archiving * Moving subtrees:: Moving a tree to an archive file @@ -7515,16 +7521,202 @@ For more information, including how to read atom feeds, see @node Protocols @section Protocols for external access @cindex protocols, for external access -@cindex emacsserver -You can set up Org for handling protocol calls from outside applications that -are passed to Emacs through the @file{emacsserver}. For example, you can +Org protocol in a mean to trigger custom actions in Emacs from external +applications. Any application that supports calling external programs with +an URL as argument may be used with this functionality. For example, you can configure bookmarks in your web browser to send a link to the current page to -Org and create a note from it using capture (@pxref{Capture}). Or you -could create a bookmark that will tell Emacs to open the local source file of -a remote website you are looking at with the browser. See -@uref{http://orgmode.org/worg/org-contrib/org-protocol.php} for detailed -documentation and setup instructions. +Org and create a note from it using capture (@pxref{Capture}). You can also +create a bookmark that tells Emacs to open the local source file of a remote +website you are browsing. + +@cindex Org protocol, set-up +@cindex Installing Org protocol +In order to use Org protocol from an application, you need to register +@samp{org-protocol://} as a valid scheme-handler. External calls are passed +to Emacs through the @code{emacsclient} command, so you also need to ensure +an Emacs server is running. More precisely, when the application calls + +@example +emacsclient org-protocol://PROTOCOL?key1=var1&key2=var2 +@end example + +@noindent +Emacs calls the handler associated to @samp{PROTOCOL} with argument +@samp{(:key1 var1 :key2 var2)}. + +@cindex protocol, new protocol +@cindex defining new protocols +Org protocol comes with three predefined protocols, detailed in the following +sections. Configure @code{org-protocol-protocol-alist} to define your own. + +@menu +* @code{store-link} protocol:: Store a link, push URL to kill-ring +* @code{capture} protocol:: Fill a buffer with external information +* @code{open-source} protocol:: Edit published contents +@end menu + +@node @code{store-link} protocol +@subsection @code{store-link} protocol +@cindex store-link protocol +@cindex protocol, store-link + +Using @code{store-link} handler, you can copy links, insertable through +@kbd{M-x org-insert-link} or yanking thereafter. More precisely, the command + +@example +emacsclient org-protocol://store-link?url=URL&title=TITLE +@end example + +@noindent +stores the following link: + +@example +[[URL][TITLE]] +@end example + +In addition, @samp{URL} is pushed on the kill-ring for yanking. You need to +encode @samp{URL} and @samp{TITLE} if they contain slashes, and probably +quote those for the shell. + +To use this feature from a browser, add a bookmark with an arbitrary name, +e.g., @samp{Org: store-link} and enter this as @emph{Location}: + +@example +javascript:location.href='org-protocol://store-link?url='+ + encodeURIComponent(location.href); +@end example + +@node @code{capture} protocol +@subsection @code{capture} protocol +@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. + +@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}: + +@example +javascript:location.href='org-protocol://template=x'+ + '&url='+encodeURIComponent(window.location.href)+ + '&title='+encodeURIComponent(document.title)+ + '&body='+encodeURIComponent(window.getSelection()); +@end example + +@vindex org-protocol-default-template-key +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}. + +@node @code{open-source} protocol +@subsection @code{open-source} protocol +@cindex open-source protocol +@cindex protocol, open-source + +The @code{open-source} handler is designed to help with editing local sources +when reading a document. To that effect, you can use a bookmark with the +following location: + +@example +javascript:location.href='org-protocol://open-source?&url='+ + encodeURIComponent(location.href) +@end example + +@cindex protocol, open-source, :base-url property +@cindex :base-url property in open-source protocol +@cindex protocol, open-source, :working-directory property +@cindex :working-directory property in open-source protocol +@cindex protocol, open-source, :online-suffix property +@cindex :online-suffix property in open-source protocol +@cindex protocol, open-source, :working-suffix property +@cindex :working-suffix property in open-source protocol +@vindex org-protocol-project-alist +The variable @code{org-protocol-project-alist} maps URLs to local file names, +by stripping URL parameters from the end and replacing the @code{:base-url} +with @code{:working-diretory} and @code{:online-suffix} with +@code{:working-suffix}. For example, assuming you own a local copy of +@url{http://orgmode.org/worg/} contents at @file{/home/user/worg}, you can +set @code{org-protocol-project-alist} to the following + +@lisp +(setq org-protocol-project-alist + '(("Worg" + :base-url "http://orgmode.org/worg/" + :working-directory "/home/user/worg/" + :online-suffix ".html" + :working-suffix ".org"))) +@end lisp + +@noindent +If you are now browsing +@url{http://orgmode.org/worg/org-contrib/org-protocol.html} and find a typo +or have an idea about how to enhance the documentation, simply click the +bookmark and start editing. + +@cindex handle rewritten URL in open-source protocol +@cindex protocol, open-source rewritten URL +However, such mapping may not yield the desired results. Suppose you +maintain an online store located at @url{http://example.com/}. The local +sources reside in @file{/home/user/example/}. It is common practice to serve +all products in such a store through one file and rewrite URLs that do not +match an existing file on the server. That way, a request to +@url{http://example.com/print/posters.html} might be rewritten on the server +to something like +@url{http://example.com/shop/products.php/posters.html.php}. The +@code{open-source} handler probably cannot find a file named +@file{/home/user/example/print/posters.html.php} and fails. + +@cindex protocol, open-source, :rewrites property +@cindex :rewrites property in open-source protocol +Such an entry in @code{org-protocol-project-alist} may hold an additional +property @code{:rewrites}. This property is a list of cons cells, each of +which maps a regular expression to a path relative to the +@code{:working-directory}. + +Now map the URL to the path @file{/home/user/example/products.php} by adding +@code{:rewrites} rules like this: + +@lisp +(setq org-protocol-project-alist + '(("example.com" + :base-url "http://example.com/" + :working-directory "/home/user/example/" + :online-suffix ".php" + :working-suffix ".php" + :rewrites (("example.com/print/" . "products.php") + ("example.com/$" . "index.php"))))) +@end lisp + +@noindent +Since @samp{example.com/$} is used as a regular expression, it maps +@url{http://example.com/}, @url{https://example.com}, +@url{http://www.example.com/} and similar to +@file{/home/user/example/index.php}. + +The @code{:rewrites} rules are searched as a last resort if and only if no +existing file name is matched. + +@cindex protocol, open-source, set-up mapping +@cindex set-up mappings in open-source protocol +@findex org-protocol-create +@findex org-protocol-create-for-org +Two functions can help you filling @code{org-protocol-project-alist} with +valid contents: @code{org-protocol-create} and +@code{org-protocol-create-for-org}. The latter is of use if you're editing +an Org file that is part of a publishing project. @node Refile and copy @section Refile and copy -- 2.13.2 --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Martelli Subject: Re: org-protocol documentation Date: Sun, 23 Jul 2017 18:18:29 +0200 Message-ID: References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> <4D8D18D3-FBA7-4878-AB6A-76CE57635127@schnuddelhuddel.de> <878tk84fab.fsf@nicolasgoaziou.fr> <8760fc2joe.fsf@nicolasgoaziou.fr> <8760f578oo.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: multipart/alternative; boundary="Apple-Mail=_7C172262-ADEB-4826-B103-1A18A6A37817" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51342) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dZJaY-0000OE-3h for emacs-orgmode@gnu.org; Sun, 23 Jul 2017 12:18:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dZJaU-0004ui-W5 for emacs-orgmode@gnu.org; Sun, 23 Jul 2017 12:18:38 -0400 Received: from mail-wm0-x231.google.com ([2a00:1450:400c:c09::231]:34913) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dZJaU-0004qr-Kh for emacs-orgmode@gnu.org; Sun, 23 Jul 2017 12:18:34 -0400 Received: by mail-wm0-x231.google.com with SMTP id c184so7309008wmd.0 for ; Sun, 23 Jul 2017 09:18:32 -0700 (PDT) In-Reply-To: <8760f578oo.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: Org-mode --Apple-Mail=_7C172262-ADEB-4826-B103-1A18A6A37817 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi, sorry for late response. I like the new docs very much. I would like to suggest some minor changes. Kind regards Mario =E2=80=94=20 > Am 06.07.2017 um 19:54 schrieb Nicolas Goaziou = : >=20 > Hello, >=20 > Mario Martelli writes: >=20 >> I started this whole thing because I wanted to learn elisp. But >> learning texinfo en-passant is nice :) >=20 > Thank you for your patch. >=20 > I re-worded the documentation based on your work. I also added more > index entries. Since I'm not using Org Protocol, I may fall wide of = the > mark. >=20 > Anyway, it's now your turn to do some reviewing ;) >=20 > WDYT? >=20 > Regards, >=20 > --=20 > Nicolas Goaziou = 0x80A93738 > <0001-org.texi-Document-Org-Protocol.patch> --Apple-Mail=_7C172262-ADEB-4826-B103-1A18A6A37817 Content-Type: multipart/mixed; boundary="Apple-Mail=_42624C72-E591-48FC-BBF9-BE2F4E47A94E" --Apple-Mail=_42624C72-E591-48FC-BBF9-BE2F4E47A94E Content-Transfer-Encoding: 7bit Content-Type: text/html; charset=us-ascii Hi,

sorry for late response. I like the new docs very much.

I would like to suggest some minor changes.
--Apple-Mail=_42624C72-E591-48FC-BBF9-BE2F4E47A94E Content-Disposition: attachment; filename=0001-oprg-prtocol-minor-changes-to-new-documentation.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-oprg-prtocol-minor-changes-to-new-documentation.patch" Content-Transfer-Encoding: quoted-printable =46rom=20289f7dd62f06795005af4219d58ace2a551f57e9=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Mario=20Martelli=20=0A= Date:=20Sun,=2023=20Jul=202017=2018:14:47=20+0200=0ASubject:=20[PATCH]=20= oprg-prtocol:=20minor=20changes=20to=20new=20documentation=0A=0A---=0A=20= doc/org.texi=20|=206=20+++---=0A=201=20file=20changed,=203=20= insertions(+),=203=20deletions(-)=0A=0Adiff=20--git=20a/doc/org.texi=20= b/doc/org.texi=0Aindex=209add87a84..23d629d05=20100644=0A---=20= a/doc/org.texi=0A+++=20b/doc/org.texi=0A@@=20-7522,7=20+7522,7=20@@=20= For=20more=20information,=20including=20how=20to=20read=20atom=20feeds,=20= see=0A=20@section=20Protocols=20for=20external=20access=0A=20@cindex=20= protocols,=20for=20external=20access=0A=20=0A-Org=20protocol=20in=20a=20= mean=20to=20trigger=20custom=20actions=20in=20Emacs=20from=20external=0A= +Org=20protocol's=20mean=20is=20to=20trigger=20custom=20actions=20in=20= Emacs=20from=20external=0A=20applications.=20=20Any=20application=20that=20= supports=20calling=20external=20programs=20with=0A=20an=20URL=20as=20= argument=20may=20be=20used=20with=20this=20functionality.=20=20For=20= example,=20you=20can=0A=20configure=20bookmarks=20in=20your=20web=20= browser=20to=20send=20a=20link=20to=20the=20current=20page=20to=0A@@=20= -7538,12=20+7538,12=20@@=20to=20Emacs=20through=20the=20= @code{emacsclient}=20command,=20so=20you=20also=20need=20to=20ensure=0A=20= an=20Emacs=20server=20is=20running.=20=20More=20precisely,=20when=20the=20= application=20calls=0A=20=0A=20@example=0A-emacsclient=20= org-protocol://PROTOCOL?key1=3Dvar1&key2=3Dvar2=0A+emacsclient=20= org-protocol://PROTOCOL?key1=3Dval1&key2=3Dval2=0A=20@end=20example=0A=20= =0A=20@noindent=0A=20Emacs=20calls=20the=20handler=20associated=20to=20= @samp{PROTOCOL}=20with=20argument=0A-@samp{(:key1=20var1=20:key2=20= var2)}.=0A+@samp{(:key1=20val1=20:key2=20val2)}.=0A=20=0A=20@cindex=20= protocol,=20new=20protocol=0A=20@cindex=20defining=20new=20protocols=0A= --=20=0A2.11.0=20(Apple=20Git-81)=0A=0A= --Apple-Mail=_42624C72-E591-48FC-BBF9-BE2F4E47A94E Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8

Kind regards
Mario

=E2=80=94 


Am 06.07.2017 um 19:54 schrieb Nicolas Goaziou <mail@nicolasgoaziou.fr>:

Hello,

Mario Martelli <tlmtr@schnuddelhuddel.de> writes:

I started this whole = thing because I wanted to learn elisp. But
learning = texinfo en-passant is nice :)

Thank you for your patch.

I = re-worded the documentation based on your work. I also added more
index entries. Since I'm not using Org Protocol, I may fall = wide of the
mark.

Anyway, = it's now your turn to do some reviewing ;)

WDYT?

Regards,

--
Nicolas Goaziou =             &n= bsp;           &nbs= p;            =           0x80A93738
<0001-org.texi-Document-Org-Protocol.patch>

= --Apple-Mail=_42624C72-E591-48FC-BBF9-BE2F4E47A94E-- --Apple-Mail=_7C172262-ADEB-4826-B103-1A18A6A37817-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: org-protocol documentation Date: Sun, 23 Jul 2017 22:49:39 +0200 Message-ID: <877eyyri8s.fsf@nicolasgoaziou.fr> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> <4D8D18D3-FBA7-4878-AB6A-76CE57635127@schnuddelhuddel.de> <878tk84fab.fsf@nicolasgoaziou.fr> <8760fc2joe.fsf@nicolasgoaziou.fr> <8760f578oo.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34099) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dZNow-00005F-3W for emacs-orgmode@gnu.org; Sun, 23 Jul 2017 16:49:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dZNov-0001Xw-CP for emacs-orgmode@gnu.org; Sun, 23 Jul 2017 16:49:46 -0400 Received: from relay2-d.mail.gandi.net ([2001:4b98:c:538::194]:36659) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dZNov-0001WT-5p for emacs-orgmode@gnu.org; Sun, 23 Jul 2017 16:49:45 -0400 In-Reply-To: (Mario Martelli's message of "Sun, 23 Jul 2017 18:18:29 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Mario Martelli Cc: Org-mode Hello, Mario Martelli writes: > sorry for late response. I like the new docs very much. > > I would like to suggest some minor changes. Thank you for the feedback. I included your suggestions and pushed the change. Regards, -- Nicolas Goaziou From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adam Porter Subject: Re: org-protocol documentation Date: Sun, 23 Jul 2017 17:39:05 -0500 Message-ID: <87tw22lqwm.fsf@alphapapa.net> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> <4D8D18D3-FBA7-4878-AB6A-76CE57635127@schnuddelhuddel.de> <878tk84fab.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46985) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dZPXt-00032k-4q for emacs-orgmode@gnu.org; Sun, 23 Jul 2017 18:40:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dZPXp-0003CM-B8 for emacs-orgmode@gnu.org; Sun, 23 Jul 2017 18:40:17 -0400 Received: from [195.159.176.226] (port=57638 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dZPXp-0003C2-4d for emacs-orgmode@gnu.org; Sun, 23 Jul 2017 18:40:13 -0400 Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1dZPXf-0006Mz-5a for emacs-orgmode@gnu.org; Mon, 24 Jul 2017 00:40:03 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode@gnu.org Mario Martelli writes: > I suppose so, if one knows how to configure URL handlers on their > OS. Of course there are some things missing from the > documentation. But it’s more than we have at the moment :) FYI, I have some instructions for setting up org-protocol at https://github.com/alphapapa/org-protocol-capture-html#org-protocol-instructions and https://stackoverflow.com/a/32851154 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Colin Baxter Subject: Re: org-protocol documentation Date: Mon, 24 Jul 2017 07:17:45 +0100 Message-ID: <87o9saz7cm.fsf@yandex.com> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> <4D8D18D3-FBA7-4878-AB6A-76CE57635127@schnuddelhuddel.de> <878tk84fab.fsf@nicolasgoaziou.fr> <87tw22lqwm.fsf@alphapapa.net> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:38439) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dZWhS-0007KK-Gf for emacs-orgmode@gnu.org; Mon, 24 Jul 2017 02:18:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dZWhO-0007rJ-Mi for emacs-orgmode@gnu.org; Mon, 24 Jul 2017 02:18:38 -0400 Received: from forward5p.cmail.yandex.net ([77.88.31.20]:60425) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dZWhO-0007qg-CS for emacs-orgmode@gnu.org; Mon, 24 Jul 2017 02:18:34 -0400 In-Reply-To: <87tw22lqwm.fsf@alphapapa.net> (Adam Porter's message of "Sun, 23 Jul 2017 17:39:05 -0500") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Adam Porter Cc: emacs-orgmode@gnu.org Dear Adam, >>>>> "Adam" == Adam Porter writes: Adam> FYI, I have some instructions for setting up org-protocol at Adam> https://github.com/alphapapa/org-protocol-capture-html#org-protocol-instructions Adam> and https://stackoverflow.com/a/32851154 I notice that your instructions give (require 'org-protocol). Does that mean (setq org-modules (quote (org-protocol))) no longer works? -- -- Colin Baxter m43cap@yandex.com GnuPG fingerprint: 68A8 799C 0230 16E7 BF68 2A27 BBFA 2492 91F5 41C8 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adam Porter Subject: Re: org-protocol documentation Date: Mon, 24 Jul 2017 18:53:06 -0500 Message-ID: <87a83t1jfh.fsf@alphapapa.net> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> <4D8D18D3-FBA7-4878-AB6A-76CE57635127@schnuddelhuddel.de> <878tk84fab.fsf@nicolasgoaziou.fr> <87tw22lqwm.fsf@alphapapa.net> <87o9saz7cm.fsf@yandex.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60340) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dZnC2-0005b3-B0 for emacs-orgmode@gnu.org; Mon, 24 Jul 2017 19:55:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dZnBz-0001Ro-0R for emacs-orgmode@gnu.org; Mon, 24 Jul 2017 19:55:18 -0400 Received: from [195.159.176.226] (port=40572 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dZnBy-0001R8-Pw for emacs-orgmode@gnu.org; Mon, 24 Jul 2017 19:55:14 -0400 Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1dZnBo-0002IE-Fk for emacs-orgmode@gnu.org; Tue, 25 Jul 2017 01:55:04 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode@gnu.org Colin Baxter writes: > I notice that your instructions give (require 'org-protocol). Does that > mean (setq org-modules (quote (org-protocol))) no longer works? No, that should work too, as long as that is run before Org is loaded. You may prefer to use the customize interface for setting org-modules. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Colin Baxter Subject: Re: org-protocol documentation Date: Tue, 25 Jul 2017 09:13:54 +0100 Message-ID: <87pocpylvh.fsf@yandex.com> References: <68E12968-9AF5-440A-B22C-AC55B70BA910@schnuddelhuddel.de> <87k248b6p8.fsf@nicolasgoaziou.fr> <7C76EDC3-CC7E-4AFE-B45B-867752C1B33A@schnuddelhuddel.de> <87a8519rlg.fsf@nicolasgoaziou.fr> <8760fp9mui.fsf@nicolasgoaziou.fr> <2FAD7DF2-2A0C-4703-A383-BA8D3346C691@schnuddelhuddel.de> <18D83D3C-C472-4614-988F-1F1DA5EB5CEC@schnuddelhuddel.de> <87efub7psj.fsf@nicolasgoaziou.fr> <87lgobrmm7.fsf@nicolasgoaziou.fr> <4D8D18D3-FBA7-4878-AB6A-76CE57635127@schnuddelhuddel.de> <878tk84fab.fsf@nicolasgoaziou.fr> <87tw22lqwm.fsf@alphapapa.net> <87o9saz7cm.fsf@yandex.com> <87a83t1jfh.fsf@alphapapa.net> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49355) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dZuyp-0006Vu-1K for emacs-orgmode@gnu.org; Tue, 25 Jul 2017 04:14:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dZuyl-0001Sl-2u for emacs-orgmode@gnu.org; Tue, 25 Jul 2017 04:14:11 -0400 Received: from forward4j.cmail.yandex.net ([5.255.227.22]:49227) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dZuyk-0001QN-Oo for emacs-orgmode@gnu.org; Tue, 25 Jul 2017 04:14:07 -0400 In-Reply-To: <87a83t1jfh.fsf@alphapapa.net> (Adam Porter's message of "Mon, 24 Jul 2017 18:53:06 -0500") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Adam Porter Cc: emacs-orgmode@gnu.org >>>>> "Adam" == Adam Porter writes: Adam> Colin Baxter writes: >> I notice that your instructions give (require >> 'org-protocol). Does that mean (setq org-modules (quote >> (org-protocol))) no longer works? Adam> No, that should work too, as long as that is run before Org is Adam> loaded. You may prefer to use the customize interface for Adam> setting org-modules. Thank you. -- -- Colin Baxter m43cap@yandex.com GnuPG fingerprint: 68A8 799C 0230 16E7 BF68 2A27 BBFA 2492 91F5 41C8