How to make a damn website (2024)

(lmnt.me)

198 points | by birdculture 17 hours ago ago

57 comments

  • susam 15 hours ago

    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.

    • al_borland 14 hours ago

      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/

      • TeMPOraL 11 hours ago

        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.

      • CGMthrowaway 12 hours ago

        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

      • sifik 14 hours ago

        if you wish to explore what others plp do with their gardens, there is this gallery for that https://vaults.obsidian-community.com/

    • jraph 14 hours ago

      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.

      • wtetzner 7 hours ago

        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.

    • greggman65 6 hours ago

      this is why when I my sister wanted a website I just pointed her at substack. She was posting immediately

  • jeena 11 hours ago

    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.

    • skylurk 5 hours ago

      Yup. Though I recently learned you can manually upload a local folder (with an index.html etc) to cloudflare pages. They will of course sell you a domain too.

    • inatreecrown2 10 hours ago

      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.

  • stevoski 3 hours ago

    “Damn”, this is good.

    It takes me right back to 1998, making my first few web pages - with a hand-rolled index page. I probably used NotePad.

    And how easy it was - I went from reading a “how to HTML” guide to having a page about whatever hobby I was into at the time in a single session. Can’t have been much more than an hour.

    I guess I deployed via FTP, into the space my ISP provided.

  • blakewatson 12 hours ago

    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/

    • prmoustache 10 hours ago

      You don't even need html to have a web site. You can host regular text file. For years my website was just that.

  • rc-1140 9 hours ago

    > 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.

  • MrGilbert 15 hours ago

    That resonates with https://plainvanillaweb.com/ - which inspired me to ditch my own CMS and use plain html on my website.

  • stevetron 15 hours ago

    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.

  • foxfired 14 hours ago

    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

  • pastel8739 13 hours ago

    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.

    • andoando 10 hours ago

      That aside, it's really not any more difficult to install svelte or something and add some CSS

      • notpushkin 9 hours ago

        I guess the point is: you don’t start with Svelte, you start with writing something good.

        • pastel8739 3 hours ago

          Yes, this is a great point. The rest is not as important.

  • LandenLove 9 hours ago

    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...

  • UncleSlacky 15 hours ago

    Still using Seamonkey Composer here (descendant of Netscape Composer/Kompozer):

    https://en.wikipedia.org/wiki/SeaMonkey#Composer

  • Animats 2 hours ago

    Imagine if there were programs that let you write HTML like using a word processor. And then they let you upload that file to a server.

    I'm still using Dreamweaver 8 from 2004 to edit some sites. I paid for it as a boxed product, including the right to transfer it to a replacement computer. It's on its fourth replacement computer now, running under Wine emulation on Linux.

    The sites load really fast.

    There were a few attempts to build open source tools like Dreamweaver, but they all seem to have been abandoned.

  • alexchantavy 12 hours ago

    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.

  • yawaramin 14 hours ago

    > 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.
    • susam 13 hours ago

      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:

        <!DOCTYPE html>
        <html lang="en">
        <meta charset="UTF-8">
        <title>Hello</title>
        <body>
        <p>Hello!
      
      Remove any tag and the validation fails. Here is how the Tidy check looks:

        $ tidy -qe minimal.html
        $
      
      And here's a Nu check link: https://validator.w3.org/nu/?doc=https%3A%2F%2Fsusam.net%2Fc...
      • SahAssar 12 hours ago

        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
    • layer8 13 hours ago

      To be mobile-friendly, I’d remove the block-drawing characters. ;)

  • dizzy9 14 hours ago

    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.

  • NoSalt 15 hours ago

    The title should be "How to make a damn blog.", as that appears to be the primary focus of the article.

    • adamhartenz 15 hours ago

      A blog is a type of website

      • zamadatix 14 hours ago

        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.

      • NoSalt 14 hours ago

        Yes, but the author's title framed it as a generic "website", not a specific web log site.

      • celsius1414 14 hours ago

        Kids these days forgetting what blog is short for! ;)

        • susam 14 hours ago

          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.

  • mckejy 5 hours ago

    This is exactly what I needed when I started. Bookmarked

  • jgord 14 hours ago

    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

  • rchaud 14 hours ago

    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?"

    • aendruk 14 hours ago

      What do you think RSS is for?

      • hamdingers 12 hours ago

        Not a whole lot any more, unfortunately.

        • ink_13 9 hours ago

          Let's not overlook podcasts

    • henning 14 hours ago

      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.

      • rchaud 13 hours ago

        That's called a bookmark, which is native to all browsers, while RSS is not.

        • SahAssar 12 hours ago

          Do you think that bookmarks serve the same purpose as a RSS feed?

      • publicdebates 14 hours ago

        Maybe <1% of visitors might. They're not worth wasting any time satisfying.

  • amelius 15 hours ago

    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.

  • focusedone 13 hours ago

    https://1kb.club/

    Doesn't take much.

    • Brajeshwar 8 hours ago

      Very tempting but I know it will be a hard one for my website.

  • ifh-hn 12 hours ago

    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.

  • neal_jones 13 hours ago

    Been thinking about this lately. Thanks for sharing.

  • deadbabe 14 hours ago

    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.

  • nxobject 14 hours ago

    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.

  • anotheraccount9 11 hours ago

    With the amount of crap and complexity we now have online, I miss gopher and well arranged text files.

  • iainctduncan 11 hours ago

    "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.