emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
To: "Gustav Wikström" <gustav@whil.se>
Cc: emacs-orgmode <emacs-orgmode@gnu.org>
Subject: Re: [RFC] Link-type for attachments, more attach options
Date: Tue, 27 Nov 2018 10:39:54 +0100	[thread overview]
Message-ID: <87y39euadx.fsf@nicolasgoaziou.fr> (raw)
In-Reply-To: <PR1PR02MB4732B95D15A405B39B6D039DDAD60@PR1PR02MB4732.eurprd02.prod.outlook.com> ("Gustav Wikström"'s message of "Sun, 25 Nov 2018 21:13:00 +0000")

Hello,

Gustav Wikström <gustav@whil.se> writes:

> Too bad, "@" was growing on me. @ is currently automatically set as
> a tag when attaching files to nodes.

You probably customized `org-attach-auto-tag' because this is not the
default behaviour. It adds "ATTACH" tag automatically.

> So it was fitting to use it also
> in links in my opinion. Is the cite-syntax the same as the regular
> link-pattern? [[@: ...]] ?

It could be [@...], which is close enough to be confusing.

Moreover, all default link types currently use alphabetic characters.
Using a symbol here would be weird.

> Otherwise I'd suggest them to coexist. Or
> to change the cite-symbol to ... "c" maybe?

"@" is used for the citation key. Using a letter could interfere with
the key itself: @key vs. ckey.

> @ is a pretty standard symbol for attachments. Just have a look at
> Gmail, Outlook etc.

I prefer not to consider Gmail and Outlook as references, or even
standards. As another data point, Gnus uses "Attachment: " to list
attachments.

> I didn't change this in the attached patch. I'm hoping for second
> thoughts! :) The future ease of use (i.e. clarity and standardization
> of symbols in this case) should have precedence over current work in
> progress...

The citation syntax was discussed, and implemented, years ago. Also,
some external libraries apparently rely on it.

I still vote for "att", or "attachment".

> Yeah, I don't know why it's configured like that from the start. A bit convoluted. Not sure of what way to go forward though. I can see at least two paths:
>
> 1) Rename `org-attach-allow-inheritance' to
> `org-attach-enable-inheritance' and always make attachments inherited
> when that is set to "t". Deprecate "ATTACH_DIR_INHERIT". With this I'd
> also change the precedence-logic between ATTACH_DIR & ID properties
> and make ID-based attachment inherit as well. The properties
> ATTACH_DIR and ID should be inherited from the closest node when
> resolving attachments, with ATTACH_DIR having precedence over ID if
> both exist for the same node.

Why defining `org-attach-enable-inheritance' at all? There is already
`org-use-property-inheritance' for this. We do not need another
conflicting variable.

I don't think we should inherit ID properties either. ID is defined
outside "org-attach.el", so this library shouldn't mess with its
meaning. Does inheriting ID properties give anything valuable?

> 2) remove `org-attach-allow-inheritance' and only rely on the
> "ATTACH_DIR_INHERIT" property of any of the parent nodes to decide if
> the "ATTACH_DIR" property should be inherited. This would be a smaller
> change from the user's perspective, where we're basically saying you
> cannot disable inheritance, but it's only active when a node has the
> ATTACH_DIR_INHERIT-property.
>
> I prefer path (1). 

So do I, with the remarks above.

> +This list shows the full set of built-in external link types,
> +including examples for each:
> +
> +| Link Type | Description                  | Example                                               |
> +|-----------+------------------------------+-------------------------------------------------------|
> +| http      | web                          | =http://www.astro.uva.nl/=dominik=                    |
> +| https     | secure web                   | =https://orgmode.org/=                                |
> +| doi       | DOI for electronic resources | =doi:10.1000/182=                                     |
> +| file      | file-links                   | =file:/home/dominik/images/jupiter.jpg=               |
> +|           |                              | =/home/dominik/images/jupiter.jpg= (same as above)    |
> +|           |                              | =file:papers/last.pdf=                                |
> +|           |                              | =./papers/last.pdf= (same as above)                   |
> +|           |                              | =file:/ssh:me@some.where:papers/last.pdf= (remote)    |
> +|           |                              | =/ssh:me@some.where:papers/last.pdf= (same as above)  |
> +|           |                              | =file:sometextfile::NNN= (jump to line number)        |
> +|           |                              | =file:projects.org=                                   |
> +|           |                              | =file:projects.org::some words= (text search) [fn:28] |
> +|           |                              | =file:projects.org::*task title= (headline search)    |
> +| @         | links to attachments         | =@:projects.org=                                      |
> +|           |                              | =@:projects.org::some words= (text search)            |
> +| docview   | doc-view mode                | =docview:papers/last.pdf::NNN=                        |
> +| id        | Link to heading by id        | =id:B7423F4D-2E8A-471B-8810-C40F074717E9=             |
> +| news      | Usenet link                  | =news:comp.emacs=                                     |
> +| mailto    | mail link                    | =mailto:adent@galaxy.net=                             |
> +| mhe       | MH-E folder link             | =mhe:folder= (folder link)                            |
> +|           |                              | =mhe:folder#id= (message link)                        |
> +| rmail     | Rmail link                   | =rmail:folder= (folder link)                          |
> +|           |                              | =rmail:folder#id= (message link)                      |
> +| gnus      | Gnus link                    | =gnus:group= (group link)                             |
> +|           |                              | =gnus:group#id= (article link)                        |
> +| bbdb      | BBDB link                    | =bbdb:R.*Stallman= (link with regexp)                 |
> +| irc       | IRC link                     | =irc:/irc.com/#emacs/bob=                             |
> +| info      | Info link                    | =info:org#External links=                             |
> +| shell     | shell command                | =shell:ls *.org=                                      |
> +| elisp     | interactive elisp command    | =elisp:(find-file "Elisp.org")=                       |

The second column still doesn't bring much information compared to the
first one. Getting back to your first idea, we may try to do something
like the following:

--8<---------------cut here---------------start------------->8---
Here is the full set of built-in link types.

- =file= :: File links. File name may be remote, absolute, or relative.

  Additionally, you can specify a line number, or a text search.  In Org
  files, you may link to a headline name, a custom ID, or a code
  reference instead.

  As a special case, "file" prefix may be omitted if the file name is
  complete, e.g., it starts with =./=, or =/=.

- =att= :: Same as file links, but for attached documents to the current
  node (see [[*Attachments]]).

- =bbdb= :: Link to a BBDB record, with possible regexp completion.

- =docview= :: Link to a document opened with DocView mode.  You may
  specify a page number.

- =doi= :: Link to an electronic ressource, through its handle.

- =elisp= :: Execute an Elisp command upon activation.

- =gnus=, =rmail=, =mhe= :: Links to messages or folders from a given
  Emacs' MUA.

- =http=, =https= :: Web links.

- =id= :: Link to a specific headline by its ID property, in an Org
  file.

- =info= :: Link to an Info manual, or to a specific node.

- =irc= :: Link to an IRC channel.

- =mailto= :: Link to message composition.

- =news= :: Usenet links.

- =shell= :: Execute a shell command upon activation.

The following table illustrates the link types above, along with their
options:

| Link Type | Example                                               |
|-----------+-------------------------------------------------------|
| http      | =http://www.astro.uva.nl/=dominik=                    |
| https     | =https://orgmode.org/=                                |
| doi       | =doi:10.1000/182=                                     |
| file      | =file:/home/dominik/images/jupiter.jpg=               |
|           | =/home/dominik/images/jupiter.jpg= (same as above)    |
|           | =file:papers/last.pdf=                                |
|           | =./papers/last.pdf= (same as above)                   |
|           | =file:/ssh:me@some.where:papers/last.pdf= (remote)    |
|           | =/ssh:me@some.where:papers/last.pdf= (same as above)  |
|           | =file:sometextfile::NNN= (jump to line number)        |
|           | =file:projects.org=                                   |
|           | =file:projects.org::some words= (text search) [fn:28] |
|           | =file:projects.org::*task title= (headline search)    |
|           | =file:projects.org::#custom-id= (headline search)     |
| att       | =att:projects.org=                                    |
|           | =att:projects.org::some words= (text search)          |
| docview   | =docview:papers/last.pdf::NNN=                        |
| id        | =id:B7423F4D-2E8A-471B-8810-C40F074717E9=             |
| news      | =news:comp.emacs=                                     |
| mailto    | =mailto:adent@galaxy.net=                             |
| mhe       | =mhe:folder= (folder link)                            |
|           | =mhe:folder#id= (message link)                        |
| rmail     | =rmail:folder= (folder link)                          |
|           | =rmail:folder#id= (message link)                      |
| gnus      | =gnus:group= (group link)                             |
|           | =gnus:group#id= (article link)                        |
| bbdb      | =bbdb:R.*Stallman= (record with regexp)               |
| irc       | =irc:/irc.com/#emacs/bob=                             |
| info      | =info:org::External links=                            |
| shell     | =shell:ls *.org=                                      |
| elisp     | =elisp:(find-file "Elisp.org")=                       |
--8<---------------cut here---------------end--------------->8---

WDYT?

Regards,

-- 
Nicolas Goaziou

  reply	other threads:[~2018-11-27  9:39 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-21  7:53 FW: [RFC] Link-type for attachments, more attach options Gustav Wikström
2018-11-01  1:45 ` tumashu
2018-11-02 22:40   ` Gustav Wikström
2018-11-01 16:00 ` Marco Wahl
2018-11-02 23:07   ` Gustav Wikström
2018-11-03  3:37     ` Ihor Radchenko
2018-11-17 12:13       ` Gustav Wikström
2018-11-18  0:42         ` Ihor Radchenko
2018-11-18  8:57           ` Gustav Wikström
2018-11-20 14:00             ` Ihor Radchenko
2018-11-24 13:56               ` Gustav Wikström
2018-12-14  2:16                 ` Ihor Radchenko
2019-05-26 22:24                   ` Gustav Wikström
2018-11-04 22:37 ` Nicolas Goaziou
2018-11-17 11:58   ` Gustav Wikström
     [not found]     ` <PR1PR02MB47322711B7F7B7142D156F54DADE0@PR1PR02MB4732.eurprd02.prod.outlook.com>
2018-11-19 23:52       ` Nicolas Goaziou
2018-11-25 21:13         ` Gustav Wikström
2018-11-27  9:39           ` Nicolas Goaziou [this message]
2019-05-26 23:05             ` Gustav Wikström
2019-06-15 13:29               ` Nicolas Goaziou
2019-06-15 15:38                 ` Bastien
2019-06-30  6:03                 ` Gustav Wikström
2019-07-06 21:46                   ` Nicolas Goaziou
2019-07-07 18:38                     ` Gustav Wikström
2019-07-08 10:47                       ` Marco Wahl
2019-07-09 10:16                       ` Nicolas Goaziou
2019-07-27 14:56                       ` Ihor Radchenko
2019-07-28 20:39                         ` Gustav Wikström
2019-07-28 23:20                           ` Ihor Radchenko
2019-01-04 12:21 ` FW: " Feng Shu
2019-05-26 23:15   ` Gustav Wikström
2019-12-12  5:21 ` stardiviner
2019-12-12  6:12   ` Gustav Wikström
2019-12-12  9:52     ` stardiviner
2019-12-12 19:42       ` Gustav Wikström
2019-12-13 13:38         ` stardiviner
2019-12-13 21:37           ` Gustav Wikström
2019-12-13 22:15             ` Gustav Wikström
2019-12-15  4:14               ` stardiviner
2019-12-15  9:29               ` stardiviner
2019-12-15 10:06                 ` Gustav Wikström
2019-12-15 14:26                   ` stardiviner
2019-12-15 20:41                     ` Gustav Wikström
2019-12-16  3:38                       ` stardiviner
2019-12-16 11:21 ` stardiviner
2019-12-17  4:27   ` stardiviner
2020-01-13 12:24 ` attachment: link type export to HTML invalid attach dir stardiviner
2020-01-14  3:27   ` Gustav Wikström
2020-01-14  5:04     ` stardiviner
2020-01-14 20:58       ` Gustav Wikström
2020-01-15  5:53         ` stardiviner
2020-01-15 19:48           ` Gustav Wikström
2020-01-16 11:06             ` stardiviner
2020-01-16 13:18             ` Nicolas Goaziou
2020-01-16 21:42               ` Gustav Wikström
2020-01-16 23:07                 ` Gustav Wikström
2020-01-17  0:39                   ` Nicolas Goaziou
2020-01-17 14:29                     ` Gustav Wikström
2020-01-17 18:36                       ` Gustav Wikström
2020-01-18  1:13                         ` Gustav Wikström
2020-01-18 11:34                           ` Nicolas Goaziou
2020-01-18 15:14                             ` Gustav Wikström
2020-01-19 21:12                               ` Nicolas Goaziou
2020-01-19 23:29                                 ` Gustav Wikström
2020-01-20  1:25                                   ` Nicolas Goaziou
2020-01-25 11:34                                     ` Gustav Wikström
2020-02-05 16:54                                       ` Nicolas Goaziou
2020-02-06 20:55                                         ` Gustav Wikström
2020-02-07 14:28                                           ` Nicolas Goaziou
2020-02-08 15:39                                             ` Gustav Wikström
2020-02-13 20:41                                               ` Nicolas Goaziou
2020-02-13 21:11                                                 ` Gustav Wikström
2020-02-13 21:37                                                   ` Nicolas Goaziou
2020-02-13 22:07                                                     ` Gustav Wikström
2020-02-14  0:16                                                       ` Nicolas Goaziou
2020-02-14  7:23                                                         ` Gustav Wikström
2020-02-14  2:42                                                       ` Kyle Meyer
2020-02-14  7:35                                                         ` Gustav Wikström
2020-02-14  7:41                                                         ` Gustav Wikström
2020-02-14 11:06                                                       ` Bastien
2020-02-14 17:12                                                         ` Nicolas Goaziou
2020-02-14 20:33                                                           ` Bastien
2020-02-15 18:08                                                             ` Nicolas Goaziou
2020-02-15 23:04                                                               ` Kyle Meyer
2020-02-16  8:51                                                                 ` Nicolas Goaziou
2020-02-16 23:59                                                                   ` Bastien
2020-02-17  9:37                                                                     ` Nicolas Goaziou
2020-02-17 10:25                                                                       ` Bastien
2020-02-16 23:58                                                               ` Bastien
2020-02-17 10:32                                                                 ` Nicolas Goaziou
2020-02-17 10:53                                                                   ` Bastien
2020-02-20  9:20                                                               ` Nicolas Goaziou
2020-02-20 10:20                                                                 ` Bastien
2020-02-22 12:58                                                                   ` Nicolas Goaziou
2020-02-22 13:32                                                                     ` Bastien
2020-02-25 23:36                                                                       ` Gustav Wikström
2020-02-26 15:22                                                                         ` Nicolas Goaziou
2020-02-27 19:02                                                                           ` Gustav Wikström
2020-02-28  0:37                                                                             ` Nicolas Goaziou
2020-02-13 21:57                                                 ` Gustav Wikström
2020-02-14 10:02                                                 ` Bastien
2020-01-13 13:41 ` FW: [RFC] Link-type for attachments, more attach options stardiviner
2020-01-14 21:17   ` Gustav Wikström
2020-01-15  6:20     ` stardiviner
2020-01-15 22:42       ` Gustav Wikström
2020-01-16 11:15         ` stardiviner
2020-01-18 14:56           ` stardiviner
2020-01-18 15:30             ` Gustav Wikström
2020-01-19  4:28               ` stardiviner
2020-01-19  9:53                 ` Gustav Wikström
2020-01-17  7:39 ` Missing `org-attach-set-inherit' function stardiviner
2020-01-17 16:31   ` Gustav Wikström
2020-01-18 14:54     ` stardiviner

Reply instructions:

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

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

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

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

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

  git send-email \
    --in-reply-to=87y39euadx.fsf@nicolasgoaziou.fr \
    --to=mail@nicolasgoaziou.fr \
    --cc=emacs-orgmode@gnu.org \
    --cc=gustav@whil.se \
    /path/to/YOUR_REPLY

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

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

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

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