box.matto.nl
Enjoying Open Source Software

Install Nikola Static Site Generator on Raspbian

Nikola Static Site Generator

Nikola is an Open Source Static Site Generator. Nikola offers a lot of features, can be used to maintain a blog, or a website for personal use or for an organisation.

Nikola is written in Python and available under the Open Source MIT Licence.

Nikola takes input in many formats. Out of the box, it supports reStructuredText, Markdown, IPython (Jupyter) Notebooks and HTML, and Nikola has plugins for many other formats.

Nikola comes with everything you need to build a modern website: blogs (with comments, tags, categories, archives, RSS/Atom feeds), multilingual support, easy image galleries, and code listings.

For more information, see the Nikola website.

Raspberry Pi

The Raspberry Pi is a well known, small, low cost, fanless, energy-efficient computer powered by a SoC. Several Open Source Operating Systems support the Raspberry Pi, each will give you an open and powerful system.

There are multiple variants Raspberry Pi boards to choose from.

For more information, see the Rapsberry Pi website

Raspbian

Raspbian is a free operating system based on Debian, optimized for the Raspberry Pi hardware.

Raspbian, being based on Debian, uses the same, well known package manager as Debian, which makes it an ideal introduction in using Open Source operating system on a Single Board Computer.

For more information, see the Raspbian website

Installing Nikola on Raspbian

I was asked to help to install Nikola on a Raspberry Pi.

For this, I used Raspbian, and downloaded the file with the name
2020-08-20-raspios-buster-armhf-lite.zip.

Installing Nikola through the usual steps runs into some problems with the Python application "pyrsistent".

The system generates a error:

error: invalid command 'bdist_wheel'

I presume this has something to do with different Python versions.

The following commands done on a pristine 2020-08-20-raspios-buster-armhf-lite installation will install Nikola succesfully:

apt-get update
apt-get install python3 python-libxslt1 python3-pip \
python3-venv python-pil python3-zmq python3-wheel \
libopenjp2-7-dev

pip3 install -U pip setuptools wheel pyrsistent

cd
python3 -m venv nikola
cd nikola
source bin/activate
bin/python -m pip install -U "Nikola[extras]"

cd
nikola init --demo mijn-site

This will result in Nikola running on Python 3.7.

Have fun !

Tags: