# Next Gen Static Blogging

2021-01-09 mmackh

## TL;DR

Take a look at the source code of this page - I rely mostly on CSS for the rendering of this article.

The CSS property powering this article,

    white-space: pre-line

, has existed since the IE8 days.

## Background

My first programming exercise was to code a blog using PHP. Add text files to a folder via FTP, scan the directory and generate the HTML dynamically. How about adding an admin frontend? Or a database as a backend? All good and well, but when do you find the time to actually write your articles?

If it's one thing I learnt over the past years of coding is that simplicity is key. You don't need a lot of CSS or HTML Tags to make a page look pretty. It may not be the absolute correct way to do it, but look at the source code of this page. It's tiny!

## My Solution

Instead of nesting

    <div>

after

    <div>

or

    <p>

to create paragraphs, I stumbled upon

    white-space: pre-line

. To quote the MDN Web Docs - "Sequences of white space are collapsed. Lines are broken at newline characters, ..." - and that is key. I use HTML tags like

    <em>

or

    <b>

for emphasis only.

Every paragraph is initiated with a newline character. The experience to writing this blog entry is very similar to using a dedicated word processor. Except you have much more control, more settings you can tweak and more visuals you can add.

A similar technology I can think of is Markdown. Except you have to run it through a parser before seeing the result. Also, different flavours produce different outputs. All rather messy for me. My workflow consists of pressing CMD+S, switching to Safari and reloading the page. What you see now is what I get.

Managing this blog is a little more involved than dynamically generating everything. The design could also be a little prettier.

## More Benefits

The overall page size is tiny. No need for JavaScript or any other complicated backend or client-side frameworks. I can use PHP to introduce dynamic elements to the page, but that's optional. Maybe you might be inspired a little and move your blog off centralised platforms like Medium, etc. and start embracing the simplicity of creating compelling pages with very little code. Simplicity is key.