HTML export to Textpod
On <2026-04-27 Mon> I'm once again fascinated how bad Markdown is and how broken the export is. So for Textpod I decided to skip Markdown, and export notes directly from Org to HTML.
Problem
Markdown can't handle lists properly.
This Org Mode block:
- github :: [[https://github.com/inanimate-tech/mist][inanimate-tech/mist]]
- posts ::
- [[https://interconnected.org/home/2026/02/12/mist][mist: Share and edit Markdown together, quickly (Interconnected)]]
- [[https://interconnected.org/home/2026/04/10/open-mist][mist is now open source and looking for interop (Interconnected)]]
: curl https://mist.inanimate.tech/new -T file.md
is exported as this Markdown block:
- **github:** [inanimate-tech/mist](https://github.com/inanimate-tech/mist)
- **posts:** - [mist: Share and edit Markdown together, quickly (Interconnected)](https://interconnected.org/home/2026/02/12/mist)
- [mist is now open source and looking for interop (Interconnected)](https://interconnected.org/home/2026/04/10/open-mist)
curl https://mist.inanimate.tech/new -T file.md
which is then converted to this HTML block:
- github: inanimate-tech/mist
posts: - mist: Share and edit Markdown together, quickly (Interconnected)
curl https://mist.inanimate.tech/new -T file.md
The list was rendered completely wrong.
When exporting from Org directly to HTML, it's correct - dl/dt/dd tags are used, comment rendered as verbatim text:
- github
- inanimate-tech/mist
- posts
curl https://mist.inanimate.tech/new -T file.md
Solution
Luckily, the change in texptpod.el is this:
- (org-export-string-as org-text 'md t)
+ (org-export-string-as org-text 'html t)
I also changed backend to preprocess internal links, they look like this:
../markdown.md // for Markdown export
../markdown.html#5B98C220-A8F4-4202-9708-82B0D000A4E9 // for HTML export
Preprocessing changes both to ?q=markdown., so search starts to /markdown.
which matches both md and html extensions.