This is a work in progress. I haven't even registered my domain yet, but I am quite confident that no one is rushing to register https://www.williamtries.ovh. Man, I love OVH. So, cheap!

Anyways, I'm writing my first post in Apostrophe. It's both pretty cool and also a little nerve-racking. I have little to no experience with markdown, but thanks to the Zola, I've learned the basics from a nifty little guide and tutorial.

The immediate benefit I see to using markdown is that most of my project notes are in plain text so markdown should make it easy to share those notes online.

I will try to standardize the way I document my projects. Let's begin by setting up a bare-bones Zola site.

Setup Zola

  1. Install Zola from Flathub and assign it an alias.
flatpak install flathub org.getzola.zola
alias zola="flatpak run org.getzola.zola"
  1. Choose a folder to house your offline Zola site and run the following to create your site. I will name my site williamtries.
$ zola init williamtries
$ cd williamtries
  1. Install a theme and set it as your default.
$ cd themes
$ git clone https://github.com/jameshclrk/zola-slim slim
$ cd ..
$ nano config.toml

Your config.toml file in your base folder is where you define a ton of options for your site. One of those options is the theme. Here is my current config.toml file.

# The URL the site will be built for
base_url = "https://www.williamtries.ovh"

# The site title and description; used in feeds by default.
title = "William tries..."
description = "...all kinds of stuff"

# The default language; used in feeds.
default_language = "en"

# The site theme to use.
theme = "slim"

# Whether to automatically compile all Sass files in the sass directory
compile_sass = true

# Whether to build a search index to be used later on by a JavaScript library
build_search_index = false

# When set to "true", a feed is automatically generated.
generate_feed = true

# The filename to use for the feed. Used as the template filename, too.
# Defaults to "atom.xml", which has a built-in template that renders an Atom 1.0 feed.
# There is also a built-in template "rss.xml" that renders an RSS 2.0 feed.
feed_filename = "atom.xml"

# The number of articles to include in the feed. All items are included if
# this limit is not set (the default).
feed_limit = 20

# The default author for pages
author = "William"


[markdown]
# Whether to do syntax highlighting
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
highlight_code = false

[extra]
# Put all your custom variables here

I followed the steps to setup a template after installing a theme, and the template appeared to take priority over the theme. Regardless, I deleted all the files I had created during the tutorial and just created .md files in the content folder. No need to play in the template folder if you are using a theme.

  1. Create blog entries by adding markdown pages in your content folder. You can put anything in these, so long as the first few lines are composed of the following. Your blog entries will be sorted on your site by date based on what you enter the top of each file.
+++
title = "... to setup a website with Zola"
date = 2024-05-12
+++
  1. Test your website by running the following and browsing to http://127.0.0.1:1111
$ zola serve

Host Zola

This depends entirely on your needs. I'm all about minimal financial burden. OVH has starter web hosting package with a free .ovh domain for 1.34/month. Works for me!

Of course, you can register a domain with any provider, and get web hosting from another provider. Linking the two is quite straight forward, but it can take a few hours or days for the DNS to update. You can check the status of the link with https://dnschecker.org/.

In my case, I registered the domain and web hosting service at the same time. OVH linked them automatically.

Build your Internet-ready Zola site by running the following command. It creates the public folder in your site's base folder which will contain everything your site needs.... hence a static site. You'll need to rebuild this every time you to deploy/update your site. Actually, I suppose you don't have to rebuild if you're just adding new .md files to your content folder.

$ zola build

Log into your web hosting service via SFTP. I prefer Filezilla. Drag the contents of your public folder to the root folder of your web host. Move over to your browser and browse your new Zola site!