Pelican theme reviews

Posted on February 23, 2025 in dev     tagged with: • pelicanstatic-site-generators

I recently relauched my blog using pelican, and as part of the process, I explored several themes to find the perfect fit. Please note that this review is based on my personal preferences and opinions.

TLDR; You can jump to Winner

1 - Quick preview of themes

I started by browsing PelicanThemes.com to shortlist themes that caught my interest. This initial step helped me narrow down the options before diving into testing.


2 - Grab pelican-themes repo

To test these themes, I cloned the official Pelican Themes repository:

cd   my-pelican-site-dir

git clone -recursive  git@github.com:getpelican/pelican-themes.git

This action downloaded all available themes into a dedicated pelican-themes directory within my site's structure.

The directory structure looked like this

├── content
├── pelicanconf.py
├── pelican-themes
│   ├── aboutwilson
│   ├── alchemy
...

3. Setting Up the Theme

Next, I updated my pelicanconf.py file to set the desired theme:

THEME = 'pelican-themes/fresh'

This change allows Pelican to use the selected theme without further modifications.


4. Running the Local Server

To test each theme effectively, I used the following command to start the local server:

pelican content -d -l -r -b 0.0.0.0
  • -d: Removes the output directory for a clean build.
  • -l and -r: Enables live reloading so changes are visible without regenerating.
  • -b 0.0.0.0: Binds the server to all interfaces, allowing testing on both desktop and mobile devices.

When I switched themes, I will run the above command to a clean output


5 - Testing

I tested each theme on both my desktop and mobile device:

  1. On Desktop:
    • Opened the site in a browser.
  2. On Mobile:
    • Noted my computer's IP address (e.g., 192.168.86.100).
    • Accessed the site via http://[IP]:8000.

6. Testing Criteria

Basic Requirements

  • The theme should work right out of the box by simply setting the THEME variable.
  • No errors during site generation.
  • Compatibility with variables defined in pelicanconf.py.
  • Mobile-friendliness.

Personal Preferences

  • Custom menu items (like "About" and "Portfolio") should be visible on the topbar or sidebar.
  • Social buttons should appear on the topbar or sidebar, not at the bottom.

Additional Features:

  • Supports Google Analytics integration.

7 - Results

Theme / Feature LINKS SOCIAL MOBILE github preview
alchemy ✅ good github
BluePenguin ❌ average github preview
Bootstrap ❌ average github preview
dev-random github preview
elegant ✅ good github preview
flex ✅ good github preview
fresh ✅ good github
gum ok github preview
hyde ✅ good github preview
pelican-bootsrap3 github preview
simplify-theme github preview

Notes

Alchemy

  • Couldn't display SOCIAL links

Blue Penguin

  • didn't look good on mobile
  • didn't respect summary of a post

dev-random

  • Error running

elegant

  • Couldn't easily customize LINKS or SOCIAL

gum

  • Almost made it. But menu and social are displayed at the bottom on mobile, not what I wanted

pelican-bootstrap3

  • error when running

simplify-theme

  • Looked good, but couldn't figure out how customize LINKS and SOCIAL.
  • And expecting SOCIAL as a dictionary instead of more normal TUPLE

8. Shortlisted Themes

Based on my testing, the following themes made it to my shortlist:

  • Hyde
  • Fresh
  • Flex

9. The Winner

After thorough testing, I chose Flex (GitHub, Preview) as the winner because:

  • Its clean and modern design appealed to me.
  • It easily displays profile pictures.
  • SOCIAL and LINKS are prominently featured on both desktop and mobile devices.
  • The theme integrates well with custom menu items and social buttons.
  • Supports GOOGLE_ANALYTICS

10 - Wishlist

None of the plugins I reviewed had a ready-made SOCIAL icon for bluesky 🤔. Hopefully someone (or me) would implement it


Discuss

If you have any questions or need further details, feel free to reach out!

discuss on 𝕏 | discuss on bluesky