Idiomdrottning’s homepage

Source languages, intermediary formats, and output formats

I have human-readable text primarily in mind here when I say not every file format needs to be all things to all people.

Good output formats

Human-readable. Adapted to a specific purpose. A printed page doesn’t have clickable links or poorly typeset text rivers. A Gemini text has client-side styling and an uninterrupted, unadorned, calm body text. An audio-navigation capable table can move to specific data columns and rows semantically. A PDF can easily be printed with a thought-through and specific layout or style.

Good intermediary formats

Complete, semantic, and robust. Sexps, XML, formats that are clear about what is what. This is the body, this is the metadata, this is a sidenote, this is a reference, this is a quote.

Good source languages

Unintrusive, easy-to-remember, make common things easy or automatic, can drop down into the export format for doing uncommon things. Facilitates creating the parts of the intermediary format that you really need. Source languages do not need to be very robust; as long as your particular document converts to the target format in a good way, you’re OK.

Conclusion

Markdown is a good language. A good source language. It’s basically HTML but you don’t need to write <title> every page or <p> every paragraph, you can just write the text, mainly, and add in tags when it’s something beyond everyday use. It’s not a good interchange or intermediary format since there are so many weird corner cases (like nesting emphasis) or weird flow-specific transformation (like paragraphs that happen to start with a number). It’s a tool, a wonderful tool, for creating the intermediary or even output format without having to do everything manually.

On the other side of the spectrum, PDF is also very useful but not as the only format available since it throws away so much valuable information that’s vital for accessing the text in other ways than looking at it. It’s difficult to turn a PDF into an audio book or even to search in it, and this goes extra for PDF with multiple columns or sidebars.