Hacker News new | ask | show | jobs
by Jakob 47 days ago
We have been authoring HTML by hand for decades with ease. Text editors are very good at it, and many have commands to auto-wrap, auto-close etc. Reading and writing is simple.
6 comments

I can code up a complex HTML table by hand faster than I create a basic MD table, but other than that, I find it difficult to achieve a good writing flow with pure HTML, even with all the automation. I author a lot of API docs, READMEs, and how-to guides, and find MD to provide the perfect mix of decently powerful markup and flexibility with supporting raw HTML when needed. The only constraint is that some markup renderers don’t support or severely restrict HTML passthrough (I ran into this with GitHub recently).
I did this on an airplane once because I didn't have Internet and I've never felt more like a real hacker since
Templated though, not manually writing it out for every blog post say. I think GP means it just has more friction as a writing format than markdown for example.
No, literally manually typing out HTML tags and everything. Many of us did it so much things like Emmet (https://emmet.io/) were invented and used so we could hammer out full HTML documents even faster.

Even after React became popular, people are still manually typing out HTML elements, although they call it "JSX" instead, but in reality it's just HTML.

My first blog on the internet literally was a bunch of .html files, where my post "template" was the first post copy-pasted when you wanted to make a new post. Changing the design involved changing the same thing across all files.

> PS: Really cool static site generators that shoot for simplicity don't require you to create extra template files written in a new, made-up template language. When you want to create a new post, you give it (a) the static files from your existing site and (b) the markdown for your new post. The "templating" engine inspects your existing posts (incl. e.g. class attributes) and then copies the same document structure into a new file, except with the right stuff (timestamp, title and heading, post content...) substituted in to the places where it's supposed to go.

<https://news.ycombinator.com/item?id=30961588>

Basic HTML really isn’t a big step up from Markdown though, and no one was complaining about that. In some instances it’s simpler even. I often forget the exact syntax for a table in Markdown, by comparison <table>, <tr> and <td> are easy to remember. All of the major parts of Markdown are pretty easy, <h1>, <strong>, etc etc. It was written with human authorship in mind.

Typing out <p> for every paragraph is annoying, for sure. But a converter that switches out \r\n\r\n for a new paragraph would be a reasonable middle ground IMO.

When using AI, I often find myself preferring either plain text (no markup whatsoever; just manual / text editor formatting of text blocks) or simple html to markdown, depending on the situation. To the point that I rarely see any point in using markdown for anything. If it is meant for to be a simple text mainly for human consumption, the markups often don't add much clarity (and often bring in an amateurish look, as if the author didn't know how to emphasize using English constructs), in which case plain text feels more pprofessional. If it is meant to be [lightly] processed before being presented to a human, or if it is meant to be processed by a tool / bot / LLM, then HTML is infinitely more straightforward.

Also I often call out my colleagues if they try to put a table in markdown. Markdown is not built for tabular data in most professional settings (i.e., one or two table cell could easily take a whole line of markdown to express). A basic <table><tr><td style="background: red">some number</td></tr></table> goes a long way.

>Templated though, not manually writing it out for every blog post say.

Both. We manually run HTML just fine back in the day.

A lot of editors will auto add the ending tag, and auto-update the ending tag if you rewrite the start tag. I think it's gotten pretty darn easy to use HTML er I mean XML ;)
You have been authoring HTML by hand for decades. Not every SWE is a FE dev.
People have been authoring html by hand for a long time before the specialization to Frontend dev even existed...
I learned HTML 20+ years ago in high school.

I did not go to a front end high school.

Your high school taught you a front-end markup format. I'm sure it seemed like a good idea to someone at the time.
Simple HTML is easy to do. If you just want a document with information and it does not need lots of branding and great aesthetics. That is what you are looking at as an alternative to Markdown.
Java engineers write lots of HTML in java docs:)
Yes so far, but it‘s switching heavily towards Markdown.
Most front end devs can’t get HTML right either.
This is shockingly true. Most newer FE devs I have encountered are mostly trained on the popular frameworks and lack understanding of the underlying fundamentals, e.g., they only know TypeScript + SCSS and some smattering of HTML but more often know whatever templating engine and MVC(ish) backend the framework uses. It’s really helpful to understand what the browser is actually doing and all the “stuff” the framework spits out on the other end.
Modern JS/TS devs probably not, but I wouldn't even call someone a "frontend dev" if you don't know HTML, kind of being a infrastructure engineer and not knowing how any OSes work.
It’s not just knowing HTML as in writing a bunch div tags and patting yourself on the back. If you aren’t able to achieve at least 80% WCAG AA compliance you can’t write HTML.

Most frontend devs have no idea what any of that means. But then it seems everyone who can write 3 lines of code professionally refers to themselves as an ”engineer”.

Yes, it's literally about being able to use HTML effectively and knowing what you are doing, then you know HTML. I'm not sure why you bring up some arbitrary accessibility guidelines, that has no bearing if someone is using HTML correctly and neither would I gatekeep the "frontend" label on some arbitrary "must pass this particular standard", never heard something so outlandish when it comes to who could call themselves frontend developer or not.
I suspect this unintentionally satisfies my conclusion.
HTML was invented for physicists to be able to write papers. It's not something that's beyond anyone without frontend dev experience.

CSS, on the other hand...

You don't have to be a FE dev (which is largely a junior/mid-level position anno 2026) to write HTML.

I'm not and I've used it for years. With Markdown being a thing that has been less common, sure, but that's more of a zeitgeist thing.

Why not just use XML at this point? It has "stricter typing" and can make the spec better.
>We have been authoring HTML by hand for decades with ease

No, we've been generating it with templates or authoring templates.

Authoring HTML by hand is a very early 2000s thing to do.

After you a FE webdev that doesn't regularly author HTML by hand?
Can’t answer the person who responded to you but:

Yesterday. Astro components.

3 million people will have seen it as I type this. More next week.

Hand on heart. When was the last time you built a serious production system for a real business that was 100% built from HTML without using any build step? Just editing the footer and header in every file when it updates (or using iframes)
Maybe not in your corner of the internet, but businesses used server side includes (SSI) for that, not iframes.

You add “include” tags to your HTML file and your web server like nginx or varnish would replace it with the fragment at runtime.

  <!--#include virtual="../footer.html" -->
I saw this was quite popular for big publishing houses with millions of articles still relatively recently 10 years ago. They would only write the HTML body of a new article and the other fragments would be included by the web server.

Very cheap, stable, and very big changes across the whole website could be done instantly since cache invalidation is trivial (the web server knows all modified dates of all fragments).

Also, no additional CDN or caching needed. Later, with CDNs there was even a variant where these fragments were hosted at the edge (ESI).

10 years ago. I bet you can’t name a single production site writing HTML files without any build tools at all. Just raw dogging using notepad directly on the server.
LLMs aside, when was the last time you wrote React/JSX and didn't write a subset of HTML by hand in them?
That is the point. No one writes HTML without any abstractions anymore. You use a framework or a build tool. Because just editing pure html files is a pain in the ass. Probably haven’t done that since 2010.