Every single person should have their own website. I don’t just mean that we should all rush out to buy a fancy firstname.com domain. Instead, that it would benefit us all, if more people would take an active role in building the free and open web.

As I wrote in Reclaiming Territory in Cyberspace, there are three primary resources in cyberspace:

We are all lucky, that websites are not at all demanding when it comes to these resources. The biggest concern is storage, with bandwidth being the next most important factor. You need the storage to hold all the files in your website, and the bandwidth to reach your audience. I believe there are many conditions today, that if we were willing, could enable us to truly take the web out of the hands of governments and corporations. Does this sound too good to be true? Allow me to make my case.

Understanding static websites

A static website is one that’s merely a collection of properly formatted files. These files will include the HTML, JavaScript and CSS (the skeleton of the website), as well as any other multimedia content like images and video.

Static websites can be quite simple or support a wide range of multimedia. Either way, it’s best to think of a static website as a pamphlet or poster that you can easily update. Depending on your ideal audience, it can be better to work with a text and links only but informative website, or include beautiful images, video or animations. This will all depend primarily on where you intend to store the website (in the cloud, or on your machine?) and how much bandwidth you and your audience have access to.

While I am generally a critic of leveraging cloud infrastructure, static sites are one of the major exceptions. Since a static website is like a poster, hosting it on the cloud is akin to putting it up on a commercial, but prominent bulletin board. An underappreciated feature of static websites is that they are inherently unhackable. Like a poster, it can be taken down or defaced, but you’re never going to suffer a data breach or have it infect your systems.

Static Site Generators

What makes static websites more accessible than ever is static site generators, these generators are designed to allow people to ignore the nitty-gritty aspect of web design, and just get to writing content. What really makes static site generators excellent is that they make the job of maintaining a large and complicated website relatively simple for a single person.

The basic process of using any static site generator to build your website is like this:

  1. Install whichever generator you choose
  2. Run the generator to build a new project folder
  3. Browse the Generator’s themes gallery, and import whichever theme suits you
  4. Use whatever editor(s) you like to modify, copy and create files into where they need to be
  5. Run the generator command to view changes in real time

Pages are usually written in markdown

Hugo

Site: https://gohugo.io/
Themes: https://themes.gohugo.io/
Documentation: https://gohugo.io/documentation/

Jekyll

Site: https://jekyllrb.com/
Themes: https://jekyllrb.com/docs/themes/
Documentation: https://jekyllrb.com/docs/

Zola

Site: https://www.getzola.org/
Themes: https://www.getzola.org/themes/
Documentation: https://www.getzola.org/documentation/

Hexo

Site: https://hexo.io/
Themes: https://hexo.io/themes/
Documentation: https://hexo.io/docs/

Astro

Site: https://astro.build/
Themes: https://astro.build/themes
Documentation: https://docs.astro.build/en/tutorial/0-introduction/

Enhancement: Themes

Themes are important, they do a lot of really heavy lifting in the end-result of the generated site. Themes will outline what goes in the headers, footers, sidebars and the overall look of the site. Themes will also have control over some of the finer details like social media previews and RSS integration.

This is what’s motivated me to build my two Hugo themes Freedom and Valor from the ground up. They are very much a work in progress, but I appreciate having a fine degree of control. Odds are if you have very specific requirements, modifying an existing theme can also work for you.

Enhancement: Widgets

Static sites are nice, but you want MORE. If you want to add dynamic features like comments or real-time integrations, overhauling the theme can be overkill. Often you can create shortcodes, that will give you the ability to include custom html/css/javascript that will work like a new widget with enhanced functionality.

Some theme generators will also give you the ability to override parts of the theme. For example, if you want to add icons to the navigation menu, you could copy the existing one into the designated overrides folder and add your icons there.

Enhancement: Version control

Ouch! You’ve gotten hit by a ransomware attack. All your files have been encrypted by a virus, and can’t be recovered unless you hand the hackers some Monero. Thankfully, you’ve been using a self-hosted version control system like Gitea. So you can simply pull down the old version of the website and upload it again. Version control allows you to have a permanent record of changes made over time.

Teams

Online version control is also very useful for collaboration. Instead of maintaining the static website alone, you can share access to the repository with others. Many online source control providers will often also include integrated hosting.

Hosting

Static websites are portable by nature. As long as the site structure is sound (use relative links) you can often put mirrors in multiple locations. This is an excellent way to maintain a resilient presence, instead of relying on a single point of failure. Because static websites are often quite simple and small, multiple uploads of the same content aren’t always so arduous.

Online Source Control:

Want to get started quickly? Github Pages has an excellent overview on how to use Git to push your static site to a repository and get running immediately.

You can also use:

Own your own domain

When you buy your domain, which is your web address online, (e.g. https://libresolutions.network) you’re going to want to own the domain yourself. This means that you purchase your domain directly from a domain registrar. For an often modest yearly fee, you can secure a name on the regular internet. It’s important to have control over the dns records yourself, in case you feel the need to migrate or add additional services.

Managed hosting

Often, domain registrars themselves will offer some form of managed hosting. This means some tool like cPanel will be available to you to simply upload the files to the site directly.

DIY Hosting

You can always run your own web server, although it will require more technical knowledge. Going DIY allows you to reduce as many intermediaries as possible.

Getting on the Dark Web

For those concerned about the increase in draconian control over the Internet, it can be helpful to mirror their content to one or many darknets, such as Tor or I2P. Even as a regular web user, I would highly recommend at least having the knowledge of how to visit websites on the darknet, for we do not know what kind of measures will be used in future crises.

Sneakernet

With a static website, you don’t have to worry about complicated things like databases and user accounts. This means you have the advantage of being able to mirror the entire content onto a physical, portable format that can be distributed in person. When paired with version control, it can become a very efficient means of securely distributing large amounts of critical data.

Who knows? Maybe we can start supporting independent websites by purchasing archives in a physical format!

Gabriel
Support this work Liberapay Buy Me a Coffee Monero


Published: Mar 24 2023
Tags:
Censorship Resistance Decentralization Operation: Chorus Web

Operation: Chorus

Feb 19 2023 Gabriel

Safeguarding free expression

Backcasting 2030

Feb 07 2023 Gabriel

What made 2023 the pivotal year?

Call to Action: Join the Fediverse now!

Feb 22 2022 Gabriel

A simple, but very effective way to tip the scales in favor of free speech.


Prev B @ Next