all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Canonical way to strip off all markup from an element in Org exporter backend?
@ 2017-12-20 18:30 Kaushal Modi
  2017-12-20 22:04 ` Nicolas Goaziou
  0 siblings, 1 reply; 7+ messages in thread
From: Kaushal Modi @ 2017-12-20 18:30 UTC (permalink / raw
  To: emacs-org list

[-- Attachment #1: Type: text/plain, Size: 1449 bytes --]

Hello,

What's the canonical way to strip off all markup from an element in an Org
exporter backend.

I do it in this round-about way in ox-hugo..it works but feels convoluted.
The trick is to remove all markup chars from an element while retaining the
*, /, `, etc chars *not* used for any markup.

I export Org subtrees to individual posts, where the subtree headline will
become the post title. So I need to sanitize that headline of any markup.

Step1: I get the HTMLized version of the title

(org-export-data-with-backend (plist-get info :title) 'html info)

But getting the HTMLized version of the title, it would be easy to strip
off the HTML tags which would be inserted basically for formatting (bold,
italics, etc.).

Step 2: Strip off the HTML tags.

(while (string-match "<\\(?1:[a-z]+\\)[^>]*>\\(?2:[^<]+\\)</\\1>" title)
  (setq title (replace-match "\\2" nil nil title)))

If I do any other exporter like md, I will lose the ability to distinguish
a literal * in the title from a * meant for bold/italics markup in
Markdown. Even ascii is not good because then I'd need to do some intensive
parsing to figure out if ` is meant to be a literal ` or part of `code'.

So the question: Is this the best way.. or is there a canonical way to
export an element without any markup char?

Full actual code[1].

[1]:
https://github.com/kaushalmodi/ox-hugo/blob/dffb7e970f33959a0b97fb8df267a54d01a98a2a/ox-hugo.el#L1769-L1802
-- 

Kaushal Modi

[-- Attachment #2: Type: text/html, Size: 2032 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-12-22 20:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-20 18:30 Canonical way to strip off all markup from an element in Org exporter backend? Kaushal Modi
2017-12-20 22:04 ` Nicolas Goaziou
2017-12-20 22:11   ` Kaushal Modi
2017-12-20 22:27     ` Nicolas Goaziou
2017-12-20 22:41       ` Kaushal Modi
2017-12-21 14:22         ` Nicolas Goaziou
2017-12-22 20:31           ` Kaushal Modi

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.