+++ title = "building a site with zola and sourcehut" date = 2023-06-02 +++ # Introduction The following is a small tutorial on how to build a static webpage using Zola and Sourcehut's build service. This guide is kindof redundant since Zola's documentatioin is already very clear, but I want to write a first post in order to test this site.
# Prerequisites First off, download Zola using your package manager. Installation instructions can be found on their site. After that, create an account on Sourcehut. I paid for the "Amateur Hackers" tier as I'm just getting started with this project.
# Creating a static webpage All commands assume you are on the root of your project.
### Zola Once you've downloaded Zola, create an empty dir, initialize you site and initialize a git repo: ```bash $ mkdir www && cd www $ zola init posixlycorrect.com $ git init ``` Test everything is fine: ```bash $ zola serve ``` If it is, download a theme: ```bash $ mkdir -p themes $ cd themes $ git clone https://github.com/pawroman/zola-theme-terminimal.git ``` Add content to your site: ```bash $ mkdir -p content $ cd content $ nvim _index.md ## add to this whatever your theme needs in order to work ## usually this is detailed on the theme's docs $ nvim blog.mb ## landing page for posixlycorrect.com/blog $ mkdir blog && cd blog $ nvim building_a_site_with_zola_and_sourcehut.md ## your first post $ cd .. $ nvim about.md ## your about page ``` Check that everything looks good: ```bash $ zola serve ```
### Sourcehut Your site is now ready to be published! In order to do that, commit your changes and add a remote repo from sourcehut: ```bash $ git add . $ git commit $ git remote add origin git@git.sr.ht:~fabianmv/posixlycorrect.com ``` Add a build manifest so sourcehut knows how to publish your site: ```bash $ nvim .build.yml ``` My manifest looks like this: ```yaml image: alpine/edge packages: - hut - zola oauth: pages.sr.ht/PAGES:RW environment: site: posixlycorrect.com sources: - https://git.sr.ht/~fabianmv/posixlycorrect.com tasks: - build: | cd posixlycorrect.com mkdir -p templates zola build - package: | cd posixlycorrect.com tar -C public -cvz . > ../site.tar.gz - upload: | hut pages publish -d $site site.tar.gz ``` Add and commit your changes and push your repo: ```bash $ git add . $ git commit $ git push ``` Your website now should be visible! Updating it is a matter of making changes and pushing to your repo. Good luck! If you have any questions, feel free to email me.
--- Good luck! If you have any questions, feel free to email me.