First, practically, as to your actual problem…
-
This is probably something Claude Code or ChatGPT Codex can do for you, trivially, in a few minutes. Pay $20 for a month and it can either do it on the spot for you (to convert a handful of docs) or write you a reusable script to do so any time you want. It will iterate with you until it gets it right, at much less hassle than trying to configure pandoc yourself.
You can force it to use a tool like pandoc (or perhaps consider mdast for something more structured/semantic) if you want, but it can probably also just do this as a bare Python/Javascript script too. Doesn’t matter; leave the implementation details up to it.
If you don’t want to pay, try the free version and it’ll probably still work. Or send me some example files and I’ll do it for you.
-
I think the difficulty mostly depends on how complex and structured (or not) your input shape is. Like are you coming from truly plaintext (no formatting or metadata at all), or simple Markdown, or something more like fancy LaTeX? If you’re willing to use Markdown and some basic frontmatter, this becomes a very easy problem to solve.
-
What software are you writing the story in? Do you use something like Obsidian, or just a plain text editor…? With the right editor, you can probably also make this a reusable export plug-in so you don’t need an external tool at all. (You can even do this in Google Docs, as a Google Apps Script, for example.)
FWIW, LLMs and especially agents are extremely good at this stuff — both the language transformation itself (machine languages are still just “languages”, and it’s very good at translating/porting), and also at understanding the intricacies of FOSS library internals.
If you use a good agent instead of a chatbot, and it doesn’t know how to do something, it can just go to Github to read the actual source code and figure it out on its own. In the AI era, that’s a huge advantage over closed-source software.
And with that out of the way, an opinion on open-source…
As both a user and a frontend developer, I personally find most open-source programs abysmal in terms of their usability. It’s not just their user interfaces (which are bad enough), but their overall user experience seems a distant secondary or tertiary concern vs things like number of features, code quality, or some particular internal style guide they obsess over.
Comparing things like Audacity or GIMP vs their commercial, closed-source equivalents, it’s a pretty night-and-day difference. Most open-source software doesn’t have a lot of funding or staffing, and the few that do tend to focus them on other priorities than usability.
Where open-source does shine, however, is modularity and reusability — the FOSS libraries and frameworks that other software use are amazing. And they’re everywhere, even in commercial software.
Take Linux, for example… it’s in sooooo much consumer electronics, basically any major product that isn’t from Apple or Microsoft: your TV, your Kindles, your Android phones, your car’s infotainment system, your router… it’s all Linux. But it’s almost never your standard home-user distro; it’s a Linux kernel with a heavily modified interface on top of it, usually closed-source and vendor-specific and tailored for the product and (hopefully) more polished. That’s because there’s somebody paying for all that work to make it user-friendly.
Or something like the Chromium browser project, which is the basis of Chrome, Brave, Edge, and basically every browser that isn’t Firefox or Safari. The bare Chromium experience is usable but not very integrated; some commercial vendor then takes that and makes an actual browser out of it, profile syncing and ads and spying and all.
Then there’s the actual libraries, things like ffmpeg that basically any audio-visual tool uses, alongside YouTube and Netflix too. Open source libraries power almost the entire Web, too, from the operating system up to the filesystem up to the web server up to the web languages and encryption and compression and network libraries. It’s all just invisible, but the world runs on it.
Where it really doesn’t do so well is end-user software, as you saw (and no argument from me there) — especially command-line stuff. But because it’s FOSS, the AIs are both trained on it already and can refer to the actual source of truth (the source code) to figure things out, and also to write you bespoke new features or bugfixes as needed.
FOSS software by itself can be kinda rough to learn to use, but with AI help, it can become anything you want it to, customized especially for you. It’s a killer combo.