Skip to main content

Pelican theme, first used for Minchin.ca.

Project description

Seafoam Logo

Seafoam is a theme for Pelican, a static site generator written in Python.

The seafoam theme is based on Bootstrap 3, and was first used at Minchin.ca.

Installation

The easiest way to install the seafoam theme is through the use of pip. This will also install the required dependencies automatically.

pip install seafoam

Then, in your pelicanconf.py file, import the module, use the built in function to specify your theme location, set the default colour scheme (more options coming soon), add the required plugins, and set the image processing patterns used:

import seafoam

THEME = seafoam.get_path()
BOOTSTRAP_THEME = 'seafoam'

PLUGINS = ['minchin.pelican.jinja_filters',
           'minchin.pelican.plugins.image_process',
           # others, as desired...
           ]

IMAGE_PROCESS = {
  'article-feature': ["scale_in 848 848 True"],
  'index-feature': ["scale_in 263 263 True"],
}

# the rest of the your configuration file...

You will may also need to configure the theme through the use of additional settings (see below).

Requirements

Seafoam requires Pelican and the image_process and the jinja filters plugin. If the theme is installed from pip, these should be automatically installed. If needed they can be manually installed with pip:

pip install pelican
pip install minchin.pelican.plugins.image_process
pip install minchin.pelican.jinja_filters

Supported Plugins

Seafoam works with several other plugins for Pelican, but none of those listed in this section are required.

  • readtime – provides estimated reading time for articles. Available from PyPI as pelican-readtime.

  • post-stats – provides estimated reading time for articles if readtime is not available. Available in the Pelican Plugins collection.

  • neigbours – provides post-article links to the next and previous article on your blog and the next and previous article in that category. Available on PyPI as pelican-neighours.

  • pelican_comment_system – add static comments to your blog. Available in the Pelican Plugins collection.

Additional Settings

These settings can be set in your pelicanconf.py file (your Pelican settings file) to alter the behaviour of the theme.

PAGINATOR_LIMIT = 8

Number of page number links to appear of the main “index” page of your blog. The default of 8 results in showing a link to page 1, links the three previous pages (8 divided by 2 and rounded down), a number representing the current page, links to the next three pages, and a link to the last page.

The above list is not yet complete. In the meantime, refer to the settings on the Bootstrap 3 theme.

It may also be helpful to review the settings for Pelican itself.

Known Issues

  • the setup.py file for this project does not run on Python 2.7. However, wheels of this project are “universal” and so can be generated by Python 3 and subsquently installed by Python 2.7.

  • when installing on versions of Python before 3.4 (when the pathlib module was added to the standard library), pathlib2 is an additional dependency. This, in turn, depends on scandir, which requires a C compilier to install. If you (like I), don’t have a C compilier already set up on your Windows machines, you sidestep that issue by downloading a pre-build wheel from Christoph Gohlke and installing scandir this way before you try and install seafoam.

Credits

Original theme developed by Daan Debie.

The idea that a theme could be installed as a Python package by Jeff Forcier’s Alabaster theme for Sphinx.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seafoam-2.1.2.tar.gz (1.4 MB view hashes)

Uploaded Source

Built Distribution

seafoam-2.1.2-py2.py3-none-any.whl (1.4 MB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page