I coded up the last two versions (this and the last one) of this site by hand. Raw html,
css, and a few lines of javascript. Other than fonts, the only part I didn't write was
a syntax highlighting library that I begrudgingly (yet without hesitation) included from
Prism.js.
Practically speaking, writing the site by hand is worth it for me. In a business
building a living, breathing piece of software, libraries and frameworks are great. For
a personal site that I update once a decade, I'd rather not enter dependency hell every
time I touch the code.
My other motive is more philosophy than engineering. Pure html, css, and javascript will
probably be runnable in 1000 years. Today's fashionable WYSIWYG site or blog generator,
maybe not. I like the idea that my blog, which is not very special today, could somehow
become a historical artifact in the future. Vain? Sure... But crazier things have
happened!
I was planning to commend this approach to others after finishing my redesign. At least,
until I spent half a day reformatting the old markdown posts into html. What a waste of
time!
Civilization was like a mad dash that lasted five thousand years. Progress begot more
progress; countless miracles gave birth to more miracles; humankind seemed to possess
the power of gods; but in the end, the real power was wielded by time. Leaving behind a
mark was tougher than creating a world. At the end of civilization, all they could do
was the same thing they had done in the distant past, when humanity was but a babe:
Carving words into stone.
Death's End (Liu Cixin)