Jason D Kunesh

#003: Markup Templates

When you visit a web page, it's often assembled behind the scenes from different bits and pieces of data and design. The first web pages I made in 1994-1995 were not this way, they were simple text files. Very quickly, though, CGI and SSI became the practice. That's common gateway interface, a way to compute a result and send that to a web browser instead of a text file, and server-side includes, the ability to include the contents of one file inside another and send that to a we browser.

The ability to include files allowed for people to make common headers and footers and put them in files. Then each web page had the same top and bottom. "Don't repeat yourself" is the timeworn principle from the Pragmmatic Programmer, and it's held through the decades for this pilgrim.

Web publishing began retracing the steps of book publishing. My dad repaired Linotype typesetting machines. When printing modernized in the 1980s he had to learn to use SGML and computers. SGML is standard generalized markup language, a language to markup content for print. SGML is sort of the original UR language of markups. One of its children is HTML, hypertext markup language. If you are reading this on the internet, that's how you are doing it.

So, back here in 2022, it's "headers" and "footers" and templates for the home page, blog entries, the whole nine yards in Nunjucks. I chose Nunjucks because it uses Javascript. Even though as I mentioned last time 11ty can use many different formats I believe reducing the coding footprint of the site would lower my friction in updating and maintaining it.

Like print, once your files are set, they're set. It's been the same scheme in every language and site generation framework. What's in the files has changed slightly. I began with HTML 2.0, it's now HTML5. Ideally, the HTML contains semantic information about the content. It no longer contains visual display information. That is encoded in a different language named cascading stylesheets (CSS).

Anyway, enough for today. Next we'll chat about CSS and Tailwind.