If you stan for Markdown, here you are! When editing a post, choose Markdown from the “Text format” dropdown below the “Body” text entry box. Markdown is supposedly easier than HTML, though I don’t see it. Here is a cheat sheet. Of the two Drupal custom modules on offer, Markdown and Markdown Easy, I chose the latter.
Drupal founder Dries Buytaert writes in Switching to Markdown after 20 years of HTML:
For almost 20 years, I wrote every blog post in raw HTML, typing out every tag by hand. For longer posts, it could take me 45 minutes wrapping everything in <p> tags, adding links, and closing HTML tags like it was still 2001. It was tedious, but also a little meditative. I stuck with it, partly out of pride and partly out of habit.
Well, if that’s how you do your tagging, yes. Fortunately there are Text formats in Drupal like “Basic HTML” to avoid all that tedium. That said, at least Buytaert avoided the plague of WYSIWG (implemented in CK Editor).
I would have sworn I found Buytaert’s link through John Gruber’s Daring Fireball, but apparently not. Gruber invented Markdown, and Buytaert quotes him:
HTML is a publishing format; Markdown is a writing format.
Sadly, this is revisionism. Standard Generalized Markup Language (SGML, ISO 8879) specifies the syntax in which HTML was written (hence the angle brackets, the nested tags, etc.). SGML was, in fact, designed to be entered and edited manually (legal and technical documentation were big use cases), very much opposed to the not-human-readable formats of dedicated word processing systems like Wang, or Microsoft’s horrid Rich Text Format). SGML included a feature called SHORTREF, which allowed markup to be “minimized,” much as WordPress (say) allows two carriage returns in sequences to represent the opening (<p>)and closing (</p>) tags that Buytaert complains about.
SGML being the machine tool of markup, it allowed any character to be mapped to markup, so that an SGML-enabled WordPress (or Drupal) could have used SHORTREF minimization to map “*”to <p>, if desired, without hard coding the carriage return mapping. With a level of effort, of course.
Unfortunately for us all, political economy entered. The SHORTREF-to-markup mapping was performed in a Document Type Definition (DTD), which defined rules for permissible markup within any document type, and allows errors to be thrown where those rules are violated. (Drupal’s content types are a pale shadow or reinvention of SGML’s document types, devolving as they do into fielded data at the text entry level, i.e. disempowering authors precisely at the point where markup, especially semantic markup, could be most valuable.)
However, then as now, software engineers are the hegemons, not authors, and software engineers are driven to control their inputs. This contradicts the author’s drive to control document expressiveness with a DTD (the DTD that would enable markdown, or other markup languages, to be defined in SGML). Therefore, the first thing any software engineer devising a markup standard specification does is deepsix the very concept of a DTD; no errors shall be thrown, and documentation, if any, shall be read to understand the rules, such as they are. This is true both for markdown and, more importantly, JSON (whose main innovation, besides excising the DTD, seems to have been replacing SGML’s “<” and “>” with “{” and “}.” It has delimiters like C, so I suppose it must be better). Of course, Postel’s Law — “Be conservative in what you send, be liberal in what you accept” — captures this degenerative ethos perfectly; at the systemic level where documents circulate, the liberal drives out the conservative (“Bad markup drives out good”). But let’s not worry. We have LLMs!
In short form, Gruber and Buytaert are wrong: SGML was always designed for writing as well as publishing, as HTML could have been, HTML, at least in standardized form, inheriting its functionality from SGML.

Add new comment