David Josephs

Pelican on GitLab Pages

Example Pelican website using GitLab Pages. Check the resulting website here: https://pages.gitlab.io/pelican

Learn more about GitLab Pages and the official documentation, including how to fork a project like this one to get started.


GitLab CI

This project’s static Pages are built by GitLab CI, following the steps defined in the file .gitlab-ci.yml.

Building locally

To work locally with this project, you’ll have to follow the steps below:

  1. Fork, clone or download this project
  2. Install Pelican
  3. Regenerate and serve on port 8000: make devserver
  4. Add content

Read more at Pelican’s documentation.

GitLab User or Group Pages

To use this project as your user/group website, you will need to perform some additional steps:

  1. Rename your project to namespace.gitlab.io, where namespace is your username or groupname. This can be done by navigating to your project’s Settings > General (Advanced).

  2. Adjust Pelican’s SITEURL configuration setting in publishconf.py to the new URL (e.g. https://namespace.gitlab.io)

Read more about GitLab Pages for projects and user/group websites.

Use a custom theme

To use a custom theme:

  1. Visit https://github.com/getpelican/pelican-themes and pick the name of the theme you want to use.
  2. Uncomment the following lines from .gitlab-ci.yml, replacing <theme_name> with the name of the theme you chose:

    - svn export https://github.com/getpelican/pelican-themes/trunk/<theme-name> /tmp/<theme-name>
    - pelican-themes --install /tmp/<theme-name>
    
  3. Edit pelicanconf.py and add the theme:

    THEME = '/tmp/<theme-name>'
    

For more information, see the discussion in issue #1.

Did you fork this project?

If you forked this project for your own use, please go to your project’s Settings and remove the forking relationship, which won’t be necessary unless you want to contribute back to the upstream project.

Troubleshooting

  1. CSS is missing! That means two things:

    Either that you have wrongly set up the CSS URL in your templates, or your static generator has a configuration option that needs to be explicitly set in order to serve static assets under a relative URL.