Skip to content(if available)orjump to list(if available)

I Blog with Raw HTML

I Blog with Raw HTML

124 comments

·February 10, 2025

inopinatus

This is novice stuff. I write my blog by modifying the filesystem's binary structure by hand with a hex editor. There is no Javascript or CSS whatsoever and the document uses only elements, attributes, and behaviours that were both described in the original HTML v1.1 DTD and that have continued to appear in every intervening IETF, W3C, and WHATWG issuance since then. Many of the elements are therefore deprecated and currently unimplemented in all evergreen browsers. Nevertheless I live in firm expectation of their eventual reinstatement. The HTTP service is one I nicked from a grad student in my CS department circa 1995, it speaks only HTTP/0.9, and is written in a mixture of ksh and dd, requiring no other utilities. This runs on a SPARCstation 20 from the same era that has been repaired from scavenged parts so many times that the hostname spontaneously updated to "theseus" a few years ago. Fun fact: impurities in the copper I smelted to replace the power supply windings led (as you can no doubt imagine) to induction spikes on the drive rails, and the subsequent fsck erased all blog entries mentioning Jonathan Schwartz. So nothing of value was lost. Readers may be pleased to learn that despite all this I'm not totally retro; since SunOS 4.x is now out of support, the Kodiak is proudly booting NetBSD.

The blog itself is, of course, optimised for viewing in Lynx. In fact it only works in Lynx

ttepasse

Too hackerish.

Real professional software developers only use the subset of HTML which ISO standardised in 2000 as ISO/IEC 15445:2000 with additional validating constraints. Published via SOAP ands WS-*.

rerdavies

Real programmers use octal not hex.

inopinatus

What can I say, I modernised. It feels like an age since I last toggled in a bootloader through a front panel. I'm also anticipating a bit of snark (pun intended) from the folks still twiddling data on their magnetic drums using an iron needle. It's all in good humour though, we continue to get along because I didn't switch to SVR4.

Corrado

I know you’re being facetious, but there was a time that I did toggle a boot loader in with switches on the front of a mini computer. Now I feel super old.

awanderingmind

And only use computers they built themselves from transistors made from silicon they mined using hand-made, wooden tools... etc.

AlienRobot

I think you should just use Wordpress instead. It would be easier.

bobowzki

This is the comment I came here for.

lapcat

> the blog you’re reading now is written in raw HTML, with md-block for markdown, and highlight.js for syntax highlighting.

That doesn't sound like raw HTML to me. I write my own blog in raw HTML with a text editor (BBEdit), no JavaScript, and no server-side script either.

For good measure, I also write my RSS feed in raw XML with a text editor.

ryukoposting

For me, it blinked some markdown on the page briefly before formatting appeared. So, no, it's not raw HTML.

For what it's worth, I don't think there's anything wrong with that. My blog is written in markdown. HTML is a deeply unpleasant thing to write blogs with.

unsungNovelty

Am curious. How is this raw HTML if you're using markdown?

But on the other side, writing in raw HTML is a fascinating topic I've been very intrigued by. http://john.ankarstrom.se/html/ is a very inspiring post.

lmm

I write my blog in markdown and serve it to the browser as such, with a one-liner javascript include to render it in browsers that support that. I like that the "canonical" post source is preserved and served (you can read it with telnet, in a pinch).

trog

Yeh but do you say you write your blog in markdown or 'raw HTML'?

flas9sd

had a look and I like it. More "raw markdown" (what the OP uses too) instead of HTML in web publishing is a good thing - basically because xml syntax is not how humans want to write.

This, combined with git forges pages concept or tilde user accounts makes for nice corners in the webs.

troad

I don't know what I'm more offended by, the implication that writing 'raw' HTML is some noteworthy retro skill, or the fact the blog isn't actually written in raw HTML at all, but in Markdown.

sleazebreeze

I had the same thought. 72kb of JS dependencies from some CDN to render that "raw HTML". If you are going to claim to be a purist, try actually being one first.

cookedcode

Apparently "raw HTML" now means "just enough HTML to load a Markdown renderer into a JavaScript virtual machine". Amazing.

idlewords

I blog with raw HTML too, but I don't blog about it. The "blog about the tools I use" tarpit is somewhat unique, it's like if online chefs were obsessed with creating knife and fork recipes.

jart

What you've never seen a chef on a cooking show geek out about his favorite knives and pans?

graypegg

I think that’s misunderstanding the point they’re making. It’s not talking about knives, it’s talking about knife recipes. As in, “I use the pairing knife to cut the salmon” which is definitely similar to “I use HTML to write my blog”.

Maybe if it was a unique, special pairing knife, sure. That could be a real conversation. But it’s just a normal pairing knife. You’re just announcing you make the thing, with the other thing that makes the first thing.

eviks

> However, even a static site generator will deprecate some features one day

No? You don't need to upgrade to the version that deprecates. Besides, what features are you using with such a simple blog the are at risk?

mromanuk

I used wintersmith.io. At some point it was abandoned and eventually the node version needed was old and other stuff associated with it. It became a hassle.

eviks

Writing raw html and wiring it yourself is a hassle, how is not upgrading node a bigger one? Besides there are SSGs that are a single binary

wink

I faintly remember when the kernel config asked you if you wanted both `a.out` and `ELF` support.

No one says that single binaries compiled in the last 10 years might be usable without a VM in another 10 or 20 years.

And no, 20 years for the same blog to exist isn't even so rare.

cookedcode

I promise you, HTML is not a hassle... It's markup. You describe the page, and then... you're done. And if you don't use weird, niche tags, it'll work basically forever.

bigiain

"the node version needed"

Ahhh...

rssoconnor

I literally blog with raw SGML. Each post comes with a handful per post ENTITYs for that post's common abbreviations and links. Unlike inopinatus's comment, I do keep up with "modern" standards, which is why my posts conform to the "ISO/IEC 15445:2000//DTD HyperText Markup Language//EN" doctype, the latest HTML standard approved by the ISO.

Blog content is assembled via various SGML entities includes into a prehtml file of "-//ISO-HTML User's Guide//DTD ISO-HTML Preparation//EN" doctype per ISO 15445:2000 recommendations[0]. This is all processed with osgmlnorm through a somewhat simple Makefile to generate the resulting HTML files.

[0] https://rogerprice.org/15445/UG.html#DOCPREP

ttepasse

You know, I am so happy that one other person on earth knows this HTML dialect.

AlienRobot

I don't know what kind of competition this is, but I'm waiting for someone to say they blog in XML with XSLT.

jasonkester

As requested:

http://www.blogabond.com/xsl/vistacular.xml

The upside is that the entire html page is content. I defy google to not figure out what to index here:

view-source:http://www.blogabond.com/xsl/vistacular.xml

The downside is everything else about the experience.

layer8

That’s less impressive than SGML.

culi

This is not a Raw HTML blog. You're sending markdown to the browser and then a bunch of javascript to convert that mark down into HTML...

kreetx

That might be the reason why this has been submitted (i.e, the author doesn't know what "raw HTML" is).

immibis

Javascript loaded from Cloudflare! What's the chances Cloudflare (current age: 14.5 years) is still around in 20 years and still providing this Javascript (current age: 30 years) file (current age: beginning of Israel's current bombing of Gaza)?

And another one loaded from the website of the creator of that module! Last commit 2 years ago. Created 1 year before that. Will it continue to exist?

mediumsmart

Blogging in raw html means you fire up emacs, tramp to the blogs index.html find the last closing p tag and underneath put the post headline and timestamp and an opening p tag on the next line and you are off to the races.

Of course opening the index in tramp, putting the heading, timestamp and p tag goes into a function or paused kbd-macro so it fits into Mx blogthis

bigiain

Blam! <blows smoke off gun barrel>

You do it just like that. But with vi.

skydhash

Lol. Once you start learning about Elisp and the Emacs platform, it's so trivial to write up scripts like this. Mostly due to the fact, that every command is also a function, and the whole state of the software is accessible. I have a bunch of ebooks (pdf) in a folder, and on macOS, I created a quick workflow that fuzzy search them (file name) and open the selected one using Alfred.app. I created the same feature for the shell using fzf, and the emacs version (using consult-find) was equally short.

G_o_D

What do you mean by raw html ?? Using js and stylesheet in your head tag, well you didn't mean pure html only site

talles

I think it means literally writing the blog post directly as HTML, instead of as something that will then be turned into HTML tags (like Markdown).

hotpocket777

But… he _is_ writing markdown.

talles

You are correct. His claim makes no sense.

rkagerer

Yeah, I was disappointed to see the site come up looking one way then quickly re-render in another aesthetic.

qbane

I think the use of md-block cannot be considered as "raw HTML". Like CSS-in-JS cannot be considered as pure CSS.

alexwasserman

> More importantly, Browsers and HTML are never deprecated.

Browsers are, and HTML is on v5 and has deprecated things.

And using JS definitely can be deprecated too.

"Just raw HTML" is an odd statement when it's obviously not.

And the if some markdown and JS are ok, why not some CSS too?