emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Max Nikulin <manikulin@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: [RFC][PATCH v2] Allow to export to ascii custom link types as notes
Date: Wed, 8 Nov 2023 17:23:18 +0700	[thread overview]
Message-ID: <uifnip$11eq$1@ciao.gmane.io> (raw)
In-Reply-To: <87il6d22rr.fsf@localhost>

On 07/11/2023 18:58, Ihor Radchenko wrote:
> Max Nikulin writes:
> 
>>> (funcall protocol path desc backend info *link-object*)
>>
>> It would require another iteration with `condition-case' to deal with
>> functions having old signature.
> 
> Is it a problem?

Performance for large projects like Worg.

> We can alternatively check function arity.

5 unnamed arguments for functions that are supposed to be implemented by 
users looks rather close to a border when it becomes fragile. The 
language does not enforce type checking for user-supplied functions and 
users would not bother as well. Multi-argument functions was a painful 
experience with FORTRAN for me (fortunately I was not deeply involved).

>> Earlier you considered :filter property that receives link object
>> instead of path and desc pair. I am unsure concerning name, but I like
>> that idea.
> 
> I feel that :filter + :export will be rather redundant - they will do
> the same thing and only differ by calling convention. And we will have
> issues with priority of :filter vs. :export if both happen to be
> present (e.g. when a user defines a custom :export in personal config).

Fair point. :export should have precedence to not break user 
customization. Those who define :filter should set :export to nil. It is 
not perfect, but the extra argument is worse from my point of view.

>>> Then, if the :export function returns non-string, the return value is
>>> further processed as (org-export-data *return-value* info).
>>
>> Do you mean something like the following?
>>
>> (defun org-man-export (link description backend)
>>     "Export a man page LINK with DESCRIPTION.
>> BACKEND is the current export backend."
>>     (org-element-create-link
>>      (format "http://man.he.net/?topic=%s&section=all" link)
>>      description))
> 
> Yes.

It is nice idea for most backends, but it is unclear for me what the 
following function should return for ox-ascii

Ihor Radchenko. Re: Exporting elisp: and shell: links. Sun, 08 Oct 2023 
09:48:07 +0000.
https://list.orgmode.org/87r0m5phrc.fsf@localhost
> +(defun org-link--export-code (path description _ info &optional lang)
> +  "Export executable link with PATH and DESCRIPTION.
> +INFO is the current export info plist.
> +LANG is the language name, as in #+begin_src lang.  For example, \"elisp\"
> +or \"shell\"."
> +  (concat
> +   (org-export-data
> +    (org-element-create
> +     'inline-src-block
> +     `( :language ,lang
> +        :value ,path
> +        :parameters ":exports code :noweb no :eval never"))
> +    info)
> +   (when description (format " (%s)" description))))

Source code should be exported inline or as a note depending on 
preferences. This case exported element is not a link, so description 
should be treated separately.



  reply	other threads:[~2023-11-08 10:24 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-20 17:21 [RFC][PATCH] Allow to export to ascii custom link types as notes Max Nikulin
2023-10-22  9:13 ` Ihor Radchenko
2023-10-22 17:05   ` Max Nikulin
2023-10-23  9:17     ` Ihor Radchenko
2023-10-23 11:00       ` Max Nikulin
2023-10-23 12:09         ` Ihor Radchenko
2023-10-24  8:11           ` Max Nikulin
2023-10-24 10:40             ` Ihor Radchenko
2023-10-24 15:06               ` [PATCH] ox-ascii.el: Consistently add brackets around links (was: Re: [RFC][PATCH] Allow to export to ascii custom link types as notes) Max Nikulin
2023-10-25 10:34                 ` Ihor Radchenko
2023-10-26 16:46                   ` man pages references (Re: [PATCH] ox-ascii.el: Consistently add brackets around links) Max Nikulin
2023-11-05 12:08                     ` Ihor Radchenko
2023-10-27 14:36               ` [RFC][PATCH] Allow to export to ascii custom link types as notes Max Nikulin
2023-10-25 15:16           ` [RFC][PATCH v2] " Max Nikulin
2023-11-07  9:30             ` Ihor Radchenko
2023-11-07 11:48               ` Max Nikulin
2023-11-07 11:58                 ` Ihor Radchenko
2023-11-08 10:23                   ` Max Nikulin [this message]
2023-11-08 10:45                     ` Ihor Radchenko
2023-11-08 10:57                       ` Max Nikulin
2023-11-08 11:16                         ` Ihor Radchenko
2023-11-09 11:12                           ` Max Nikulin
2023-11-11 11:17                             ` Ihor Radchenko

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='uifnip$11eq$1@ciao.gmane.io' \
    --to=manikulin@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

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

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

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

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