I have human-readable text primarily in mind here when I say not every file format needs to be all things to all people.
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.
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.
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.
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.