Posted on

Why you should make your own website.

Put simply it's your website. You own it, you make the decisions, no corporate higher up can rug pull you on it. If whoever hosts the website doesn't like you, you can move it or even host it yourself. You're expression is now invincible.

It's also cute, and if you've never done anything like it before you'll learn something.

How the hell does all this work anyway?

If this is your first time doing anything like this you might not really get how websites work and find everything else I'm about to say intimidating. This section is a concept map which hopefully makes how websites work and the vocabulary around them more legible.

All webpages are simply a combination of three types of files: HTML files, CSS files, and JavaScript files. Each is responsible for a different part of the web page's behavior. The HTML file describes what we call the content of a website (all of its text, images, and other media). The CSS file describes the style of a website, it's responsible for all of the visual design aspects of a website. JavaScript files contain code that allows someone visiting the site (we'll call them the user from now on) to interact with the page, examples of interactivity are little animations happening when the user hits a certain key or clicks a button, sometimes people will use JavaScript to make whole games in the browser. Most web calculators use JavaScript to run all the calculations for you.

If you have an HTML file on your computer, you can open it on your computer in a web browser and it will look and feel just like a website on the internet (some of the links might be broken though). When we visit a website, this is exactly how it works. The internet is really just a big list of files and any time we're "on a website" we're really just downloading and looking at these HTML files. But in order for our computer to be able to download the files, they need to be stored somewhere; that somewhere is called a server. It's just another computer that has all of a website's files on it and when we visit a URL we're connecting to that computer and downloading the website's files (this is why servers are called that: they serve you the files). Whenever I refer to hosting in a web context I'm talking about who or whatever is holding the website files for us.

That's probably the minimal context needed to proceed to the tutorial, but I'm about to get into the weeds because I think it's cool and because I found it useful when I was figuring out how to make my own site. You have my full permission to skip ahead to the tutorial. (Really you have full permission to skip everything, as a reader I have no control over you and you should take from any text only what you need, as efficiently as you can. Don't bother reading stuff that will tire you out and not help you with your goal unless you think it's fun.)

So, how does visiting a url get us to the right computer to download the right file to view a website? And how does buying a website work anyway? Well, as I hinted earlier, the internet is actually just a bunch of computers, and whenever we access anything on the internet we're just downloading stuff from a specific computer. A URL is just a unique name that lets us look up the right computer. So whenever we visit a URL our computer reaches out to a DNS (distributed name service) which is a database of every URL and every computer that can serve files for that URL, it then tells us the IP address of a computer that has the files we need and is will hopefully have the fastest connection for us. We then connect to the address that the DNS gave us and download the files. When we buy our own domain name/url, in order to see a website when we visit that URL we need both a computer that can serve the files for us and to tell the DNS where that computer is so that when people visit our domain the DNS has a server in its database it can direct visitors to connect to. It should be noted that none of these connections I've talked about are live, streaming, connections. The connection exists only as long as it takes us to download the HTML and any other files we need.

list of terms

termexplanation
HTMLHTML stands for hyper text markup language. It consists of a text file annotated with tags that break the document into sections. The different tags usually have semantic information, such as denoting paragraphs and headings
HTML tagtags are little bits of annotation in html that look like <p>this is a paragraph!</p> they denote page sections, have anchors for spplying styles and carry meta information such as link addresses and page titles.
CSSstands for cascading style sheet. These are documents that describe the look of any given web page, they contain information about what font to use, what color to use, and how wide different sections should be

A specific tutorial on setting up a blog hosted on neocities.org

Neocities itself has a basic HTML tutorial so I won't cover that in any great detail. Instead this tutorial will be focussed on using a static site generator to create all the files for our website and then using neocities to host all thos files for the world to see.

Some other options

  • If you like having the ability to edit your content from anywhere and have it backed up on the web, a solution like github is free and enables remote syncing and back up.
  • If you don't like Zola there's lots of other static site generators out there such as Hugo and Jekyll
  • If you don't like Neocities there's plenty of other host services, especially if you're paying for a domain anyway
  • You can always just handwrite all the html, I've done that in the past.