This is a nice post. Thanks for sharing it here. The only thing I would like to add to this fine article is that it is perfectly fine for a personal website to simply be a loose collection of pages arranged in an arbitrary manner. Not every personal website needs to be a blog.
Very often I see aspiring website authors quickly make life complicated for themselves by deciding they need a blog, which then leads to numerous questions about tools and processes that can easily draw anyone into busywork. That time could otherwise have been spent on actually writing posts, articles, games, demos, etc. for their website that one can look back with joy months or years later.
Website busywork is probably fine for people who genuinely want to spend their time thinking about tools and processes. But if you just want to put your thoughts out there, it can be more fruitful to simply publish HTML, written directly or converted from your favourite text format such Markdown, AsciiDoc, etc.
This is a topic I care about quite a bit and my complete thoughts about this would be too long for an HN comment, so I will just share a link to a post I wrote about this recently, in case someone finds value in it: https://susam.net/writing-first-tooling-second.html
I would genuinely like to see more personal websites, because they make the Web more diverse and more interesting.
I ran across this[0] post about a month ago, which makes an argument against the chronological blog, and to rather embrace the digital garden. I quite liked the idea. For so long it's felt like a blog is the default, but I find browsing pages without a blog much more interesting. I think it also removes that pressure to post all the time, as adding content is simply adding content. It doesn't matter when it was last updated. Looking at my history (which I had to use to find this), I deleted all my started and abandoned blogs the same day I read this.
edit... Ironically, I just clicked "All Articles" on his home page and it's a chronological blog... At least there is some curation to it.
this is why when I my sister wanted a website I just pointed her at substack. She was posting immediately
A blog is nice for readers who'd like to follow your thoughts without having to poll your website (thanks to RSS).
But indeed, a loose collection of simple pages is better than nothing at all...
You are completely right, just write the damn thing and the blog can come later.
If the loose collection of simple pages is updated relatively infrequently, you could simply manually update the RSS file as well, so people can still track updates easily.
Probably not too useful for many in this audience, but I wrote a web book for *absolute beginners* learning HTML. It's very much in the same spirit as the OP's post.
You don't even need html to have a web site. You can host regular text file. For years my website was just that.
I never thought that the writing HTML is the hard part. Instead where my Sister struggled was to get a domain, get a server, deal with DNS pointing to that server. That shit is also omitted on posts like that one because it's done differently for each domain registrar and you need quite some knowledge in network stuff to be able to understand what you need to do.
This is an example where LLM's really can help. I just went through that process myself for the first time and got that help.
> If you don’t have a domain or hosting yet, now’s the time to buckle down and do that. Unfortunately, I don’t have good advice for you here. Just know that it’s going to be stupid and tedious and bad and unfun. That’s just the way this is.
I cannot remember if it was here or elsewhere but there was an amazing blogpost making fun of beginner and intermediate "coding" tutorials (coding as a catch-all for programming, markdown, etc.) where the author assumes the reader has deep familiarity with the subject at hand and all of its jargon. This has the exact same vibe.
That resonates with https://plainvanillaweb.com/ - which inspired me to ditch my own CMS and use plain html on my website.
The Mozilla docs also lay a great foundation for learning web development. They include a general overview of how the web works before teaching the basics.
That's how I did it in GradSchool. I took over the web page another student started for the grad-level algorithms class I was taking. The student who started it discovered he had volunteered for too many things. I jumped on it when they needed to change because I needed the extra credit.
Armed with a CD copy of the web site, I moved it over to my hosted space. I setup password-access, and setup the syuidy group, and from there on, I frequently put in one-liner paragraphs from the professor, she sometimes managed to get them to me soon enough that I could put them in before class started that day.
It’s not clear to me who this is useful for. If you have a server already, yes, it’s trivial to put up an HTML page. But most people with servers, I would guess, already know that. Most people _don’t_have servers, though, and it seems to me that thats what the “easier” ways of getting started (hosted wordpress, Cloudflare pages, github pages, etc.) are for. I agree, though, that it’s good to start with plain HTML. I’d probably recommend that new people go with a serverless setup like Cloudflare pages rather than get into administrating a VM, though.
That aside, it's really not any more difficult to install svelte or something and add some CSS
I guess the point is: you don’t start with Svelte, you start with writing something good.
The blog that I started ~13 years ago started as 3 .html files. Everything else followed as needed (styling, rss, comments, etc.). If you can get past building it, the next question becomes "What should I write about?" [0]
My answer is usually that you can write whatever you want on your websites. It's yours after all. None of the limitations that exist on third-party platforms exist. You can make all the pages read upside down if you want to.
https://www.yourhtmlsource.com is my favorite resource from the early 2000s on how to make a website and I'm so happy it's still around. It could be modernized to teach things like viewport and whatever but I found it super simple to understand as a teenager.
Still using Seamonkey Composer here (descendant of Netscape Composer/Kompozer):
This isn't how to make a damn website, this is how to make a page for a damn website. Missing is all the stuff about actually setting up a website, like hosting, domains, blah blah.
Give me simple instructions about that stuff prior to creating the contents and id be happy.
> This is honestly all you need.
No, you need less than that! :-)
┍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ how-to-make-a-damn-website.html │
├──────────────────────────────────────────────────────────────────────────┤
│ <title>How to Make a Damn Website</title> │
│ <h1>How to Make a Damn Website</h1> │
│ │
│ │
│ <p>A lot of people want to make a website but don’t know where to start │
│ or they get stuck.</p> │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
HTML is very forgiving! You can start really simple and work your way up to more complexity when you need it.
Web browsers are indeed forgiving when it comes to incomplete HTML. Some time ago, I did a small experiment to see what minimal HTML is required to display a simple 'Hello' page while adhering to the specification, passing HTML Tidy validation and also satisfying the Nu HTML Checker. As far as I can tell, it is this:
The body tag is unnecessary, tidy might complain but that is not the spec. The meta tag is generally unnecessary (the content encoding should be set by the server in the headers since it applies to not just HTML). The html tag is unnecessary if you do not want to declare the language of the document (which is generally a warning).
So I guess smallest without errors should be
<!DOCTYPE html><title>a</title>
And smallest without errors or warnings should be
<!DOCTYPE html><html lang><title>a</title>
And then any content that is not links, scripts, meta tags, etc. will automatically be within a body after like
<!DOCTYPE html><html lang><title>a</title><p>a
To be mobile-friendly, I’d remove the block-drawing characters. ;)
I have seen at least one blog where the author updated his RSS feed manually, but it's one of the first pieces of busywork that you want to automate away, after applying the page template and entering <p> tags at every double-newline. Jekyll is useful for that; it builds automatically in GitHub Pages, which also conveniently serves as a free web host.
The title should be "How to make a damn blog.", as that appears to be the primary focus of the article.
A blog is a type of website
I think the intent was making a blog has additional requirements one might not need to just make a website, a la what the "The Hard Way" section tries to argue against, not a claim a blog is not also a website (anything the page says not to use will also lead you to having a website as well - just with more than minimal work).
E.g. the section covering RSS for your post is longer than the section covering HTML, you don't really need a fixed structure, and you don't need to think of a story to write unless that's what you want to do. You can just post a picture of your cat and try to add googly eyes later if that's what floats your boat. Or just "Hello World" and let your mind go from there.
Yes, but the author's title framed it as a generic "website", not a specific web log site.
Kids these days forgetting what blog is short for! ;)
In the past, I've had a few visitors to my website look at a possibly silly post and ask me why it was even worth blogging about.
That is when I bring out the expanded form of 'blog' in all its glory. It is my weblog. Of course I am going to log whatever I want for myself, regardless of whether it is interesting to others. I do not need to subscribe to someone else's notion of what is interesting in order to decide what belongs on my own weblog.
I wrote a very lite touch web list maker, so people / I can have a simple fast way to make a list of stuff, and share the url.
Sites written by hand don't need RSS. If you absolutely need RSS, you can start a WordPress blog before you can say "what the hell is XML?"
What do you think RSS is for?
Not a whole lot any more, unfortunately.
Let's not overlook podcasts
People might want to use RSS to check on your site for updates whether you write it by hand or use some kind of CMS to generate it for you.
WordPress was a technical mess before their founder had a psychotic break and their company posted features advocating for business owners to put bait-and-switch AI slop on their websites.
That's called a bookmark, which is native to all browsers, while RSS is not.
Do you think that bookmarks serve the same purpose as a RSS feed?
Maybe <1% of visitors might. They're not worth wasting any time satisfying.
And then you find out that the company running the server misconfigured caching, and suddenly half your userbase sees a different version than the other half.
Very tempting but I know it will be a hard one for my website.
Been thinking about this lately. Thanks for sharing.
I love websites, something about stumbling across someone’s random content put together with old school hand typed code just stirs a warm and fuzzy feeling, especially if the do something “weird” that doesn’t follow any kind of modern trend or convention.
Another technique (or consideration?) that deserves attention is how to get output from notebook engines (e.g. Quarto) to play well with your existing plain text website... while Quarto does a decent job of plain text websites, it does the best job if it takes over the whole website.
With the amount of crap and complexity we now have online, I miss gopher and well arranged text files.
"While the best time to make an RSS feed was 20 years ago, the second best time is now."
I literally laughed out loud. This is so on point, and so is the rest of the article.
This is a nice post. Thanks for sharing it here. The only thing I would like to add to this fine article is that it is perfectly fine for a personal website to simply be a loose collection of pages arranged in an arbitrary manner. Not every personal website needs to be a blog.
Very often I see aspiring website authors quickly make life complicated for themselves by deciding they need a blog, which then leads to numerous questions about tools and processes that can easily draw anyone into busywork. That time could otherwise have been spent on actually writing posts, articles, games, demos, etc. for their website that one can look back with joy months or years later.
Website busywork is probably fine for people who genuinely want to spend their time thinking about tools and processes. But if you just want to put your thoughts out there, it can be more fruitful to simply publish HTML, written directly or converted from your favourite text format such Markdown, AsciiDoc, etc.
This is a topic I care about quite a bit and my complete thoughts about this would be too long for an HN comment, so I will just share a link to a post I wrote about this recently, in case someone finds value in it: https://susam.net/writing-first-tooling-second.html
I would genuinely like to see more personal websites, because they make the Web more diverse and more interesting.
I ran across this[0] post about a month ago, which makes an argument against the chronological blog, and to rather embrace the digital garden. I quite liked the idea. For so long it's felt like a blog is the default, but I find browsing pages without a blog much more interesting. I think it also removes that pressure to post all the time, as adding content is simply adding content. It doesn't matter when it was last updated. Looking at my history (which I had to use to find this), I deleted all my started and abandoned blogs the same day I read this.
edit... Ironically, I just clicked "All Articles" on his home page and it's a chronological blog... At least there is some curation to it.
[0] https://joelhooks.com/digital-garden/
Dating documents you write on creation and update is always helpful. It doesn't mean one needs to write a chronological blog or have a target cadence.
Love all of this, your comment, parent comment, OP, etc.
When I next start a website I'm just going to channel my old Geocities days.
edit: Easter egg! https://www.google.com/search?q=geocities
if you wish to explore what others plp do with their gardens, there is this gallery for that https://vaults.obsidian-community.com/
this is why when I my sister wanted a website I just pointed her at substack. She was posting immediately
A blog is nice for readers who'd like to follow your thoughts without having to poll your website (thanks to RSS).
But indeed, a loose collection of simple pages is better than nothing at all...
You are completely right, just write the damn thing and the blog can come later.
If the loose collection of simple pages is updated relatively infrequently, you could simply manually update the RSS file as well, so people can still track updates easily.
Probably not too useful for many in this audience, but I wrote a web book for *absolute beginners* learning HTML. It's very much in the same spirit as the OP's post.
https://htmlforpeople.com/
You don't even need html to have a web site. You can host regular text file. For years my website was just that.
I never thought that the writing HTML is the hard part. Instead where my Sister struggled was to get a domain, get a server, deal with DNS pointing to that server. That shit is also omitted on posts like that one because it's done differently for each domain registrar and you need quite some knowledge in network stuff to be able to understand what you need to do.
This is an example where LLM's really can help. I just went through that process myself for the first time and got that help.
> If you don’t have a domain or hosting yet, now’s the time to buckle down and do that. Unfortunately, I don’t have good advice for you here. Just know that it’s going to be stupid and tedious and bad and unfun. That’s just the way this is.
I cannot remember if it was here or elsewhere but there was an amazing blogpost making fun of beginner and intermediate "coding" tutorials (coding as a catch-all for programming, markdown, etc.) where the author assumes the reader has deep familiarity with the subject at hand and all of its jargon. This has the exact same vibe.
That resonates with https://plainvanillaweb.com/ - which inspired me to ditch my own CMS and use plain html on my website.
The Mozilla docs also lay a great foundation for learning web development. They include a general overview of how the web works before teaching the basics.
https://developer.mozilla.org/en-US/docs/Learn_web_developme...
That's how I did it in GradSchool. I took over the web page another student started for the grad-level algorithms class I was taking. The student who started it discovered he had volunteered for too many things. I jumped on it when they needed to change because I needed the extra credit.
Armed with a CD copy of the web site, I moved it over to my hosted space. I setup password-access, and setup the syuidy group, and from there on, I frequently put in one-liner paragraphs from the professor, she sometimes managed to get them to me soon enough that I could put them in before class started that day.
It’s not clear to me who this is useful for. If you have a server already, yes, it’s trivial to put up an HTML page. But most people with servers, I would guess, already know that. Most people _don’t_have servers, though, and it seems to me that thats what the “easier” ways of getting started (hosted wordpress, Cloudflare pages, github pages, etc.) are for. I agree, though, that it’s good to start with plain HTML. I’d probably recommend that new people go with a serverless setup like Cloudflare pages rather than get into administrating a VM, though.
That aside, it's really not any more difficult to install svelte or something and add some CSS
I guess the point is: you don’t start with Svelte, you start with writing something good.
The blog that I started ~13 years ago started as 3 .html files. Everything else followed as needed (styling, rss, comments, etc.). If you can get past building it, the next question becomes "What should I write about?" [0]
My answer is usually that you can write whatever you want on your websites. It's yours after all. None of the limitations that exist on third-party platforms exist. You can make all the pages read upside down if you want to.
[0]: https://idiallo.com/blog/what-should-i-write-about
https://www.yourhtmlsource.com is my favorite resource from the early 2000s on how to make a website and I'm so happy it's still around. It could be modernized to teach things like viewport and whatever but I found it super simple to understand as a teenager.
Still using Seamonkey Composer here (descendant of Netscape Composer/Kompozer):
https://en.wikipedia.org/wiki/SeaMonkey#Composer
This isn't how to make a damn website, this is how to make a page for a damn website. Missing is all the stuff about actually setting up a website, like hosting, domains, blah blah.
Give me simple instructions about that stuff prior to creating the contents and id be happy.
> This is honestly all you need.
No, you need less than that! :-)
HTML is very forgiving! You can start really simple and work your way up to more complexity when you need it.Web browsers are indeed forgiving when it comes to incomplete HTML. Some time ago, I did a small experiment to see what minimal HTML is required to display a simple 'Hello' page while adhering to the specification, passing HTML Tidy validation and also satisfying the Nu HTML Checker. As far as I can tell, it is this:
Remove any tag and the validation fails. Here is how the Tidy check looks: And here's a Nu check link: https://validator.w3.org/nu/?doc=https%3A%2F%2Fsusam.net%2Fc...The body tag is unnecessary, tidy might complain but that is not the spec. The meta tag is generally unnecessary (the content encoding should be set by the server in the headers since it applies to not just HTML). The html tag is unnecessary if you do not want to declare the language of the document (which is generally a warning).
So I guess smallest without errors should be
And smallest without errors or warnings should be And then any content that is not links, scripts, meta tags, etc. will automatically be within a body after likeTo be mobile-friendly, I’d remove the block-drawing characters. ;)
I have seen at least one blog where the author updated his RSS feed manually, but it's one of the first pieces of busywork that you want to automate away, after applying the page template and entering <p> tags at every double-newline. Jekyll is useful for that; it builds automatically in GitHub Pages, which also conveniently serves as a free web host.
The title should be "How to make a damn blog.", as that appears to be the primary focus of the article.
A blog is a type of website
I think the intent was making a blog has additional requirements one might not need to just make a website, a la what the "The Hard Way" section tries to argue against, not a claim a blog is not also a website (anything the page says not to use will also lead you to having a website as well - just with more than minimal work).
E.g. the section covering RSS for your post is longer than the section covering HTML, you don't really need a fixed structure, and you don't need to think of a story to write unless that's what you want to do. You can just post a picture of your cat and try to add googly eyes later if that's what floats your boat. Or just "Hello World" and let your mind go from there.
Yes, but the author's title framed it as a generic "website", not a specific web log site.
Kids these days forgetting what blog is short for! ;)
In the past, I've had a few visitors to my website look at a possibly silly post and ask me why it was even worth blogging about.
That is when I bring out the expanded form of 'blog' in all its glory. It is my weblog. Of course I am going to log whatever I want for myself, regardless of whether it is interesting to others. I do not need to subscribe to someone else's notion of what is interesting in order to decide what belongs on my own weblog.
I wrote a very lite touch web list maker, so people / I can have a simple fast way to make a list of stuff, and share the url.
http://pho.tiyuti.com
Just lists of title, pic, blurb, url
Sites written by hand don't need RSS. If you absolutely need RSS, you can start a WordPress blog before you can say "what the hell is XML?"
What do you think RSS is for?
Not a whole lot any more, unfortunately.
Let's not overlook podcasts
People might want to use RSS to check on your site for updates whether you write it by hand or use some kind of CMS to generate it for you.
WordPress was a technical mess before their founder had a psychotic break and their company posted features advocating for business owners to put bait-and-switch AI slop on their websites.
That's called a bookmark, which is native to all browsers, while RSS is not.
Do you think that bookmarks serve the same purpose as a RSS feed?
Maybe <1% of visitors might. They're not worth wasting any time satisfying.
And then you find out that the company running the server misconfigured caching, and suddenly half your userbase sees a different version than the other half.
https://1kb.club/
Doesn't take much.
Very tempting but I know it will be a hard one for my website.
Been thinking about this lately. Thanks for sharing.
I love websites, something about stumbling across someone’s random content put together with old school hand typed code just stirs a warm and fuzzy feeling, especially if the do something “weird” that doesn’t follow any kind of modern trend or convention.
Another technique (or consideration?) that deserves attention is how to get output from notebook engines (e.g. Quarto) to play well with your existing plain text website... while Quarto does a decent job of plain text websites, it does the best job if it takes over the whole website.
With the amount of crap and complexity we now have online, I miss gopher and well arranged text files.
"While the best time to make an RSS feed was 20 years ago, the second best time is now."
I literally laughed out loud. This is so on point, and so is the rest of the article.