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§ion=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.
next prev parent 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).