Pelican is a static site generator implemented in Python that combines Jinja templates with content written in Markdown or reStructuredText to produce websites. The most prominent example is probably kernel.org It is possible to import an existing sites from Wordpress, Tumblr, Blogger and RSS/Atom feeds. Pelican’s source code is available on GitHub and it is an implementation of the static site generators concept.
Pelican was released for the first time in 2010 by Alexis Métaireau.
Pelican currently runs best on Python 3.6+; earlier versions are not supported. This version comes preinstalled on your uberspace.
If you want to use your own website domain, refer to the uberspace manual for domains
Pelican is installed simply by using pip3
[isabell@stardust isabell]$ pip3 install --upgrade --user "pelican[markdown]"
If you prefer to install the latest bleeding-edge version of Pelican rather than a stable release, use the following command:
pip3 install --upgrade --user -e "git+https://github.com/getpelican/pelican.git#egg=pelican"
Generate your website¶
Pelican comes with a handy quickstart wizard that creates the basic structure for you.
Run it inside a subfolder. In this guide, we’ll use
[isabell@stardust isabell]$ mkdir ~/pelican && cd ~/pelican [isabell@stardust pelican]$ pelican-quickstart Welcome to pelican-quickstart v4.6.0. This script will help you create a new Pelican-based website. Please answer the following questions so this script can generate the files needed by Pelican. > Where do you want to create your new web site? [.] <enter> > What will be the title of this web site? my-shiny-blogtitle > Who will be the author of this web site? isabell > What will be the default language of this web site? [de] <enter> > Do you want to specify a URL prefix? e.g., https://example.com (Y/n) <enter> > What is your URL prefix? (see above example; no trailing slash) https://isabell.uber.space > Do you want to enable article pagination? (Y/n) <enter> > How many articles per page do you want?  <enter> > What is your time zone? [Europe/Paris] Europe/Berlin > Do you want to generate a tasks.py/Makefile to automate generation and publishing? (Y/n) <enter> > Do you want to upload your website using FTP? (y/N) <enter> > Do you want to upload your website using SSH? (y/N) <enter> > Do you want to upload your website using Dropbox? (y/N) <enter> > Do you want to upload your website using S3? (y/N) <enter> > Do you want to upload your website using Rackspace Cloud Files? (y/N) <enter> > Do you want to upload your website using GitHub Pages? (y/N) <enter> Done. Your new project is available at /home/isabell/pelican [isabell@stardust pelican]$
In case you want to use a custom domain other than isabell.uber.space, you can enter it here or easily change it later in
You need to modify
~/pelican/Makefile to make sure the publish process is working correctly on your uberspace.
BASEDIR=$(CURDIR) INPUTDIR=$(BASEDIR)/content OUTPUTDIR=/var/www/virtual/$(USER)/html
Now create your first blogpost by placing a markdown file in
Title: My super title Date: 2010-12-03 10:20 Modified: 2010-12-05 19:30 Category: Python Tags: pelican, publishing Slug: my-super-post Authors: Alexis Metaireau, Conan Doyle Summary: Short version for index and feeds This is the content of my 1st super blog post.
More details how to write articles and pages can be found in the official page
To generate to final html files and publish them to your uberspace webserver, simply run
[isabell@stardust isabell]$ cd ~/pelican [isabell@stardust pelican]$ make publish
This step will delete all content in
~/html, if any.
Then you can simply open https://isabell.uber.space/
All configuration is done in two files. Please refer to the official docs on how to customize them.
To install a theme other than the default, please check the official guide.
You can simply choose one from http://www.pelicanthemes.com/ and run
In this example I am using the theme maned
[isabell@stardust isabell]$ cd ~/pelican [isabell@stardust pelican]$ git clone email@example.com:alexandrevicenzi/Flex.git theme
Then add following line to you
THEME = "theme"
Tested with Pelican 4.6.0 and Uberspace 7.3.6Written by: Karsten Brusch <https://k11h.de>