From: Robert Weiner <rsw@gnu.org>
To: emacs-orgmode@gnu.org
Subject: Re: How to fully control parsing of Org mode links during export
Date: Sun, 21 Jul 2024 21:16:10 -0400 [thread overview]
Message-ID: <CA+OMD9hTSVZEn=fFQsjSr1Pz1EBR65nJciiguMQvVSEzYVDE-w@mail.gmail.com> (raw)
In-Reply-To: <Zp1RJo5SGiFsmmiu@orm-t14s>
[-- Attachment #1: Type: text/plain, Size: 3813 bytes --]
Thanks, so much, Orm. I’ll give this a try. It does indicate that the
expirt code and parser could use a simpler setup for debugging. — rsw
On Sun, Jul 21, 2024 at 2:20 PM Orm Finnendahl <
orm.finnendahl@selma.hfmdk-frankfurt.de> wrote:
> Hi,
>
> this is how I currently do the debugging of html-export (there may be
> more elegant ways, but it works well for me):
>
> - Copy (defun org-export-as ...) from ox.el into a local elisp buffer
> of your liking (any buffer with the name .el should do).
>
> - In that function add the line (setq info-debug info) just after the
> comment lines (Lines 2997/2998):
>
> ;; Eventually transcode TREE. Wrap the resulting string into
> ;; a template.
> (setq info-debug info)
>
> - Evaluate the new definition of org-export-as and run the export from
> your org file once.
>
> Now you can access the complete parse tree with
>
> (plist-get info-debug :parse-tree)
>
> (make sure just to use a small document, otherwise the output might be
> pretty nasty as the parents of all elements are recursively fully
> contained in the parse tree).
>
> You can extract all links of your document with:
>
> (setq all-links
> (org-element-map (plist-get info-debug :parse-tree) 'link 'identity))
>
> And you can check the output string of html with this:
>
> (org-html-link (nth 0 all-links) "" info-debug)
>
> You can then check what you have to do to make org-html-link output
> the desired string, or redefine org-html-link to do what you need and
> later make a derived backend from the html backend replacing the
> org-html-link function or simply load the new definition of
> org-html-link using a mechanism like #+SETUPFILE: in your header.
>
> HTH,
> Orm
>
> Am Sonntag, den 21. Juli 2024 um 13:19:29 Uhr (-0400) schrieb Robert
> Weiner:
> > Hi Org developers:
> >
> > I could really use some help from Org export experts. I have
> > been trying to tweak export link parsing to do what I want
> > without any success. Here is a summary of the issues and related
> > questions I have.
> >
> > Usinf Org version "9.8-pre":
> >
> > 1. When exporting from an Org file to html, I want this
> > [[Emacs#Section-One]] or [[file:Emacs::Section-One]]
> > to be converted into this:
> > <a href="Emacs.html">Emacs</a>#Section-One
> > but instead Org export produces:
> > <a href="Emacs.html">Emacs</a>#Section-One
> >
> > 2. When exporting from an Org file to html, I want this
> > "[[One Testing]] Three"
> > to be converted into this:
> > "<a href="One Testing.html">One Testing</a> Three"
> > but instead Org export produces:
> > "<a href="One.html">One</a> <a href="Testing.html">Testing</a>
> Three"
> >
> > 3. When exporting from an Org file and I have defined the html export
> > syntax for mytype: to html, I want this:
> > [[mytype:MyLink]]
> > [[Testing]]
> > to be converted into this:
> > <a href="MyLink.html">MyLink</a>
> > <a href="Testing.html">Testing</a>
> > but instead Org export produces:
> > <a href="<a href="MyLink.html">MyLink</a>.html">mytype:<a
> > href="Testing.html">Testing</a></a>
> >
> > My questions are:
> >
> > 1. How can I change `org-element-link-parser' in tandem with
> > ox-html.el to output simple HTML links without any of the text
> > within double brackets bleeding outside of the HTML link?
> >
> > 2. How can I get the exporter to run in my current Emacs process and
> > spawn a new Emacs so that I can easily debug in-process? I think I
> have
> > turned off the async export option but it still runs async and I can't
> > step through the exporter functions.
> >
> > Thanks very much for any help.
> >
> > -- rsw
>
>
[-- Attachment #2: Type: text/html, Size: 4902 bytes --]
next prev parent reply other threads:[~2024-07-22 1:17 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-21 17:19 How to fully control parsing of Org mode links during export Robert Weiner
2024-07-21 18:19 ` Orm Finnendahl
2024-07-22 1:16 ` Robert Weiner [this message]
2024-07-22 4:01 ` Robert Weiner
2024-07-22 13:54 ` Ihor Radchenko
2024-08-16 5:26 ` Robert Weiner
2024-08-18 13:13 ` 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='CA+OMD9hTSVZEn=fFQsjSr1Pz1EBR65nJciiguMQvVSEzYVDE-w@mail.gmail.com' \
--to=rsw@gnu.org \
--cc=emacs-orgmode@gnu.org \
--cc=rswgnu@gmail.com \
/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).