186e0fd86a
Describes the theme's look, features, and file structure, plus the custom pelicanconf.py settings it reads (SOCIAL, SITE_COMMIT/ SITE_BRANCH, sidebar display toggles) for anyone else adopting it.
2.4 KiB
2.4 KiB
Pelican LaTeX theme
A theme for Pelican that mimics the look and feel of a LaTeX-typeset document — serif typography (bundled Latin Modern webfonts), justified body text, and syntax-highlighted code blocks styled to match.
Features
- Light and dark mode, plus a choice of accent color, all switchable at runtime and remembered across visits
- A serif/sans-serif font toggle for readers who prefer either look
- Sidebar navigation with pages, recent articles, categories, and a weighted tag cloud
- Built-in support for multilingual sites built with Pelican's
i18n_subsitesplugin, including a language switcher and per-page translation links - Lightbox viewer for images, and inline SVG handling that lets diagrams adapt their colors to the current light/dark theme
- A small, optional row of social/profile link icons
Structure
templates/— Jinja2 templates for articles, pages, listing views (archives, tags, categories, authors), and shared partialsstatic/css/— the theme's stylesheet and Pygments syntax-highlighting themesstatic/js/— the theme/accent/font toggles, lightbox, and SVG handlingstatic/fonts/— the bundled Latin Modern webfonts
To use the theme, point a Pelican site's THEME setting at this repository (or a submodule checkout of it).
Configuration
Beyond Pelican's standard settings, the theme reads a few of its own from pelicanconf.py:
SOCIAL— a tuple of(name, url, icon_slug)entries for the social/profile link row.icon_slugmust match an SVG file intemplates/icons/<icon_slug>.svg; currently bundled aregithub,linkedin,orcid,mastodon,bluesky, andmatrix. Add more by dropping in another icon file with a matching slug. LeaveSOCIALunset to omit the row entirely.SITE_COMMITandSITE_BRANCH— optional build identifiers shown as a small line in the footer (e.g. "Build abc1234 (main)"), linked to the commit on Gitea. Meant to be set from a CI environment rather than hand-written; the footer line is omitted ifSITE_COMMITis empty.
The sidebar sections can also be toggled individually, following the same convention as Pelican's default theme: DISPLAY_PAGES_ON_MENU and DISPLAY_CATEGORIES_ON_MENU (both off unless set to True), and DISPLAY_RECENT_ARTICLES_ON_MENU/DISPLAY_TAG_CLOUD_ON_MENU (both on by default). RECENT_ARTICLES_COUNT caps the recent-articles list (default 10).