On Authoring Online Content

The only practical way of publishing content online is writing HTML. Modern browsers can and will render PDF and audio and video files, too, but they aren't meant to be consumed as is in the browser; they are not the core part of the WWW ecosystem.

Sure, you may author your pages in Markdown, and then have your static site generator create HTML for you. Or you may author them in JSX and then have your Javascript JSX rendering library (like react.js) convert your JSX scripts to DOM elements, which is just an API for manipulating HTML documents.

HTML was not created with the idea that it will be this low-level language into which high-level markup languages are compiled, the Assembly Language of the Web1. It was meant to be the authoring language, and it's a lot of fun to author in pure HTML. Especially since HTML5 came out.

1 The Web People have put forth the Web Assembly for "that purpose", or maybe "some other purpose", truly the Ways of Divine Ones are unfathomable.

Whenever I'm creating a personal website, I'm not using a Static Site Generator (SSG). You know what a Static Site Generator? It's a script that makes a real website from a fake website2. What is the fun in that!! And it's not like creating a website is harder without an SSG. When you use an SSG, to run things smoothly, you need solid knowledge of HTML and your SSG program. Whereas in HTML - oh, you need a common style across pages? Just link the CSS sheet you crafted. Navigation? Iframes are clunky, but they work. Dynamic content has been easy since DOM absorbed almost all of jQuery's most popular features. They even let you do $('this.thing') in the developer tools as a kind of homage to jQuery.

2 "Fake" in the sense that a web browser won't render it "correctly" in some sense of correctness - unless you install some plug-ins, but you can't reasonably expect every reader of your writing to have proper plug-ins installed.

When your website is just a bunch of pages, moving content across hosting providers is trivial. You just copy them. You upload them. Congrats, you've moved. Unless you used absolute paths in your local links, in which case you should rewrite them. If you were a male χacκer from the 1990s, I'd suggest writing a Perl script for this job, but modern text editors are so capable it'd be faster to do manually.

Oh, yes, with modern editors authoring web pages in plain HTML is even better than using Shockwave DreamWeaver ever was. They have syntax highlighting, structured editing, linters, sniffers, buffers, any thing you can wish for.

If you execute "View Page Source" command in your Web Browsing Facility, you will see that I'm likely having a very enjoyable time editing my pages. Or maybe you will experience an itch to post toxic comments in response to my stupid ideas because you know better than me - but whoops! I don't host comments on my website. There are many easy ways to contact me and express your disconcert using other communications channel, which are easy to find if you snoop around, but comments - that's a bit too much for me. 80% of the time they're just not enjoyable to receive because people are mean.

That's another benefit of writing HTML pages: you don't get comments by default. "But Maria, do you really want to stick your head into the information vacuum of receiving no comments? Wouldn't that eventually make you a disagreeable blockhead?" - you may ask. But it's the other way around: engaging too much in toxic comments turns people into disagreeable blockheads.


So go and write some HTML pages, dear reader, post them online and send them to me or to your family and friends. It's good for your heart, for your soul, for your Frontend Developer Skills if you care about those.