Collection of plugins for the Pelican static site generator
Python HTML Jupyter Notebook CSS JavaScript Smarty Other
Latest commit 76a8be9 Feb 19, 2017 @justinmayer justinmayer committed on GitHub Merge pull request #859 from mlissner/adds-private-var
sitemap: Add ability to mark individual pages as private
Failed to load latest commit information.
ace_editor @ f43b8a9 Increment to the last Ace Editor : migration of Version 1.2.1 (2015.1… Feb 5, 2017
always_modified Fix formatting in always_modified ReadMe Jun 21, 2015
asciidoc_reader Add AsciiDoc example Sep 19, 2016
assets Update plugins that use JINJA_ENTENSIONS to the Pelican 3.7 setting J… Dec 15, 2016
autopages support pages for categories and tags, too May 7, 2015
backreftranslate @ 19727da Adding Backref Translate plugin Oct 6, 2015
better_code_samples @ 91717a2 Fixed Python 3.4 compatibility Sep 11, 2016
better_codeblock_line_numbering Added files for new Codeblock Line Numbering Pelican plugin. Sep 23, 2014
better_figures_and_images Duplicate file Feb 2, 2017
better_tables Improve Better Tables plugin ReadMe Feb 8, 2016
bootstrap-rst @ 1366f7c Update bootstrap-rst plugin Jun 3, 2016
bootstrapify @ bc4e0a1 Fixed Python 3.4 compatibility Sep 11, 2016
category_meta Only apply workaround for issue 1547 if core exhibits the bug. Mar 12, 2015
category_order @ 0f1a86e add category_order plugin Oct 16, 2015
cjk-auto-spacing @ 9234659 Fixed Python 3.4 compatibility Sep 11, 2016
clean_summary Improve Clean Summary plugin ReadME Feb 8, 2016
code_include Python3 compatibility for code_include Sep 29, 2015
collate_content Added collate_content plugin. Jun 8, 2014
creole_reader Creole reader: add source code highlighting support. Apr 30, 2014
custom_article_urls custom_article_urls: correctly handle draft status Feb 1, 2016
dateish Have Dateish support multiple dates per field Nov 11, 2014
deadlinks @ 2689d7e Upgrade deadlinks plugin. Dec 31, 2016
disqus_static fix invalid name for & add unicode_literals import Jul 19, 2014
encrypt-content @ aafaf57 Add Encrypt Content plugin as submodule Sep 26, 2015
events Events: make the handling of the i18n_subsites case a bit saner May 3, 2016
extract_toc [extract_toc] Fix pandoc_reader Issue Jun 5, 2016
feed_summary Fix feed_summary plugin for python3. Sep 25, 2014
figure-ref @ 40e04d3 Updated figure-ref, pdf-img, and pelican-cite plugins to be able to w… Dec 21, 2015
filetime_from_git Import zip_longest via six.moves for py2 and py3 compatibility Sep 23, 2016
filetime_from_hg Fixes #740. Changed 'updated' to 'modified'. Jun 22, 2016
footer_insert update README. Sep 25, 2014
ga_page_view @ f09eaae Add ga_page_view Plgin Oct 21, 2015
gallery Unhardcode gallery path. Nov 18, 2015
gist_directive Add gist directive plugin. Feb 7, 2015
github_activity Allow for an optional maximum number of entries to display. Feb 10, 2014
global_license Update article_generate_context to article_generator_context Aug 10, 2013
glossary fix memoization issue and update readme Aug 9, 2016
goodreads_activity Update article_generate_context to article_generator_context Aug 10, 2013
googleplus_comments first implementation of google plus comments Sep 28, 2013
gravatar Improve Gravatar plugin ReadMe Mar 7, 2016
gzip_cache Excluding internally-compressed woff2 Feb 1, 2017
headerid Add config option to choose the anchor target. Sep 27, 2015
html_entity Create html_entity plugin Aug 9, 2013
html_rst_directive import plugins from core and restructure repo Apr 12, 2013
i18n_subsites Update plugins that use JINJA_ENTENSIONS to the Pelican 3.7 setting J… Dec 15, 2016
ical Update signal names for Pelican 3.2+ Sep 27, 2013
image_process @ 5f319ce Sync all submodules to latest commits. Jun 19, 2016
interlinks Improve Interlinks plugin ReadMe Mar 7, 2016
jinja2content Fix settings and extensions parsing proposed in #818 Dec 16, 2016
just_table @ d057adc Sync all submodules to latest commits. Jun 19, 2016
libravatar libravatar: Encode email address before hashing May 22, 2015
lightbox @ 3674ad4 Sync all submodules to latest commits. Jun 19, 2016
linker Add new plugin: linker Feb 2, 2016
liquid_tags liquid_tags: make it pelican 3.7 compatible Dec 14, 2016
loadcsv @ 54b191c Add loadcsv plugin as submodule Jul 15, 2015
md-metayaml @ 7ee32ea Rename pelican-md-yaml plugin to md-metayaml Oct 3, 2015
md_inline_extension Updated documentation and fixed a bug Apr 7, 2015
members Improve ReadMe for Members plugin Jan 6, 2016
multi_neighbors @ 1ce0526 Update Multi Neighbors to latest. Aug 21, 2014
multi_part The multi_part plugin has been set as deprecated Nov 2, 2014
multimarkdown_reader @ d6b0746 update submodules Nov 19, 2015
neighbors fixed conditionals in usage example Aug 5, 2014
optimize_images Proper logging in optimize_images Jul 10, 2013
org_pandoc_reader @ bf06b72 update submodules Nov 19, 2015
org_reader Update org_reader's Feb 22, 2016
pandoc_reader @ 9ef0197 update of pandoc_reader: Dec 6, 2014
panorama @ 777b4b8 update submodules Nov 19, 2015
pdf-img @ aa734a8 Updated figure-ref, pdf-img, and pelican-cite plugins to be able to w… Dec 21, 2015
pdf Update the pdf plugin's documentation Nov 23, 2015
pelican-cite @ d3974f2 Updated figure-ref, pdf-img, and pelican-cite plugins to be able to w… Dec 21, 2015
pelican-flickr @ e1b6ddd Add pelican-flickr plugin. Apr 2, 2014
pelican-genealogy @ 99a76a5 Add pelican-genealogy plugin as submodule Feb 10, 2015
pelican-gist @ 4cce3da Fixed Python 3.4 compatibility Sep 11, 2016
pelican-githubprojects @ f55b497 Fixed Python 3.4 compatibility Sep 11, 2016
pelican-ipynb @ e13915a Add pelican-ipynb as submodule Oct 2, 2016
pelican-jinja2content @ 9adc69f Fixed Python 3.4 compatibility Sep 11, 2016
pelican-langcategory @ 94fc0bc Fixed Python 3.4 compatibility Sep 11, 2016
pelican-linkclass @ 60dba66 Add Link Class plugin as submodule Nov 2, 2015
pelican-mboxreader @ 10f7cf8 Sync all submodules to latest commits. Jun 19, 2016
pelican-open_graph @ 9101b33 Sync all submodules to latest commits. Jun 19, 2016
pelican-page-hierarchy @ f11b533 Fixed Python 3.4 compatibility Sep 11, 2016
pelican-page-order @ 1e3ee85 Add pelican-page-order plugin Aug 5, 2014
pelican-toc @ 29ab161 update submodules Nov 19, 2015
pelican-version @ 0aa4bc8 add pelican-version plugin Apr 3, 2016
pelican_comment_system [pelican_comment_system] Fix link to import comments Jan 13, 2017
pelican_javascript @ 58e7335 update submodules Nov 19, 2015
pelican_vimeo @ d18f1dd Fixed Python 3.4 compatibility Sep 11, 2016
pelican_youtube @ 045c43d Fixed Python 3.4 compatibility Sep 11, 2016
pelicanfly @ 265865f Fixed Python 3.4 compatibility Sep 11, 2016
pelicanthemes-generator @ 916f5a5 Fixed Python 3.4 compatibility Sep 11, 2016
permalinks Add permalinks plugin Sep 21, 2016
photos Update inline photo replacement with a lightbox option. Jan 1, 2017
pin_to_top @ 4c022ec Fixed Python 3.4 compatibility Sep 11, 2016
plantuml Fixed Python 3.4 compatibility Sep 11, 2016
post_revision @ 1e42ac2 Update for submodule post_revision Feb 15, 2016
post_stats Always specify parser for Beautiful Soup; fixes extraneous tags Jul 18, 2015
random_article import plugins from core and restructure repo Apr 12, 2013
read_more_link Have relevant plugins use all_generators_finalized signal Jul 12, 2015
related_posts Also fill related_posts for draft articles (against published article… May 2, 2016
render_math Merge pull request #787 from Krastanov/patch-1 Jan 22, 2017
replacer @ f123acb Re-add Replacer plugin as submodule. Refs #444. Mar 22, 2015
representative_image Make representative_image Py3 compatible Aug 14, 2016
rmd_reader knitr object was renamed to KNITR so make it all around Sep 12, 2016
section_number Improve ReadMe for Section Number plugin Nov 28, 2015
series Fixed typo Mar 25, 2015
share_post share_post: fire on all_generators_finalized so that links resolve Nov 8, 2015
show_source Summary: Show Source plugin complete. Dec 13, 2016
simple_footnotes Fix unicode errors triggered by latest version of html5lib. Dec 8, 2016
sitemap Adds ability to mark individual pages as private. Feb 16, 2017
slim Always specify parser for Beautiful Soup; fixes extraneous tags Jul 18, 2015
static_comments add static_comments plugin Mar 4, 2014
sub_parts Improve Sub-parts plugin's ReadMe Dec 6, 2015
subcategory Subcategory: Add support for folder-based subcategories. Dec 6, 2016
summary Clean div tags from summary Jul 23, 2016
tag_cloud documentation of optionnal setting "TAG_CLOUD_BADGE" Nov 29, 2015
test_data teach plugins with dependencies to behave Apr 12, 2013
textile_reader Add textile_reader plugin Feb 10, 2015
thumbnailer Improve Thumbnailer plugin ReadMe Mar 7, 2016
tipue_search Merge pull request #574 from trovao/master Oct 2, 2015
touch Update timestamps of generated feeds as well Aug 28, 2014
twitter_bootstrap_rst_directives Update Sep 5, 2014
txt2tags_reader Added a txt2tags reader plugin. Jun 4, 2015
video_privacy_enhancer Updated documentation. Jul 19, 2015
w3c_validate adds instruction to w3c_validate Jan 13, 2015
yuicompressor Modifications on YUICompressor plugin Mar 31, 2016
.gitignore Fixed Python 3.4 compatibility Sep 11, 2016
.gitmodules Merge pull request #772 from aqw/master Dec 13, 2016
.travis.yml teach plugins with dependencies to behave Apr 12, 2013
Contributing.rst Work around reST's unintuitive syntax Jun 1, 2015
LICENSE Also update the LICENSE file May 17, 2013
Readme.rst Summary: Show Source plugin complete. Dec 13, 2016
latex moved latex to render_math; latex now symbolic link Feb 22, 2014


Pelican Plugins

Beginning with version 3.0, Pelican supports plugins. Plugins are a way to add features to Pelican without having to directly modify the Pelican core. Starting with 3.2, all plugins (including the ones previously in the core) have been moved to this repository, so this is the central place for all plugins.

How to use plugins

The easiest way to install and use these plugins is to clone this repo:

git clone --recursive

and activate the ones you want in your settings file:

PLUGIN_PATHS = ['path/to/pelican-plugins']
PLUGINS = ['assets', 'sitemap', 'gravatar']

PLUGIN_PATHS can be a path relative to your settings file or an absolute path.

Alternatively, if plugins are in an importable path, you can omit PLUGIN_PATHS and list them:

PLUGINS = ['assets', 'sitemap', 'gravatar']

or you can import the plugin directly and give that:

import my_plugin
PLUGINS = [my_plugin, 'assets']

Plugin descriptions

Plugin Description
Ace Editor Replace default <code> by an Ace code editor with settings configure on
Always modified Copy created date metadata into modified date for easy "latest updates" indexes
AsciiDoc reader Use AsciiDoc to write your posts.
Asset management Use the Webassets module to manage assets such as CSS and JS files.
Auto Pages Generate custom content for generated Author, Category, and Tag pages (e.g. author biography)
Backref Translate Add a new attribute (is_translation_of) to every article/page (which is a translation) pointing back to the original article/page which is being translated
Better code line numbers Allow code blocks with line numbers to wrap
Better code samples Wraps table blocks with div > .hilitewrapper > .codehilitetable class attribute, allowing for scrollable code blocks.
Better figures/samples Adds a style="width: ???px; height: auto;" attribute to any <img> tags in the content
bootstrap-rst Provides most (though not all) of Bootstrap's features as rst directives
bootstrapify Automatically add bootstraps default classes to your content
Category Order Order categories (and tags) by the number of articles in that category (or tag).
CJK auto spacing Inserts spaces between Chinese/Japanese/Korean characters and English words
Clean summary Cleans your summary of excess images
Code include Includes Pygments highlighted code in reStructuredText
Collate content Makes categories of content available to the template as lists through a collations attribute
Creole reader Allows you to write your posts using the wikicreole syntax
Custom article URLs Adds support for defining different default URLs for different categories
Dateish Treat arbitrary metadata fields as datetime objects
Dead Links Manage dead links (website not available, errors such as 403, 404)
Disqus static comments Adds a disqus_comments property to all articles. Comments are fetched at generation time using disqus API
Encrypt content Password protect pages and articles
Events Add event start, duration, and location info to post metadata to generate an iCalendar file
Extract table of content Extracts table of contents (ToC) from article.content
Feed Summary Allows article summaries to be used in ATOM and RSS feeds instead of the entire article
Figure References Provides a system to number and references figures
Filetime from Git Uses Git commit to determine page date
Filetime from Hg Uses Mercurial commit to determine page date
Footer Insert Add standardized footer (e.g., author information) at end of every article
GA Page View Display Google Analytics page views on individual articles and pages
Gallery Allows an article to contain an album of pictures
Gist directive This plugin adds a gist reStructuredText directive.
GitHub activity On the template side, you just have to iterate over the github_activity variable
Global license Allows you to define a LICENSE setting and adds the contents of that license variable to the article's context
Glossary Adds a variable containing definitions extracted from definition lists in articles and pages. This variable is visible to all page templates.
Goodreads activity Lists books from your Goodreads shelves
GooglePlus comments Adds GooglePlus comments to Pelican
Gravatar Assigns the author_gravatar variable to the Gravatar URL and makes the variable available within the article's context
Gzip cache Enables certain web servers (e.g., Nginx) to use a static cache of gzip-compressed files to prevent the server from compressing files during an HTTP call
Headerid This plugin adds an anchor to each heading so you can deeplink to headers in reStructuredText articles.
HTML entities Allows you to enter HTML entities such as &copy;, &lt;, &#149; inline in a RST document
HTML tags for rST Allows you to use HTML tags from within reST documents
I18N Sub-sites Extends the translations functionality by creating internationalized sub-sites for the default site
ical Looks for and parses an .ics file if it is defined in a given page's calendar metadata.
Image Process Automates the processing of images based on their class attributes
Interlinks Lets you add frequently used URLs to your markup using short keywords
Jinja2 Content Allows the use of Jinja2 template code in articles, including include and import statements. Replacement for pelican-jinja2content.
Just table Easily create tables in articles
Libravatar Allows inclusion of user profile pictures from
Link Class Allows the insertion of class attributes into generated <a> elements (Markdown only)
Linker Allows the definition of custom linker commands in analogy to the builtin {filename}, {attach}, {category}, {tag}, {author}, and {index} syntax
Liquid-style tags Allows liquid-style tags to be inserted into markdown within Pelican documents
Load CSV Adds csv Jinja tag to display the contents of a CSV file as an HTML table
Markdown Inline Extend Enables you to add customize inline patterns to your markdown
Markdown-metaYAML Pelican reader to enable YAML-style metadata in markdown articles
Math Render Gives pelican the ability to render mathematics
Mbox Reader Generate articles automatically via email, given a path to a Unix mbox
Multi parts posts Allows you to write multi-part posts
Neighbor articles Adds next_article (newer) and prev_article (older) variables to the article's context
Open graph Generates Open Graph tags for your articles
Optimize images Applies lossless compression on JPEG and PNG images
Org Reader Create posts via Emacs Orgmode files
Page View Pull page view count from Google Analytics.
Panorama Creates charts from posts metadata
PDF generator Automatically exports articles and pages as PDF files
PDF Images If an img tag contains a PDF, EPS or PS file as a source, this plugin generates a PNG preview which will then act as a link to the original file.
Pelican Cite Produces inline citations and a bibliography in articles and pages, using a BibTeX file.
Pelican Comment System Allows you to add static comments to your articles
Pelican-flickr Brings your Flickr photos & sets into your static website
Pelican Genealogy Add surnames and people so metadata and context can be accessed from within a theme to provide surname and person pages
Pelican Gist tag Easily embed GitHub Gists in your Pelican articles
Pelican Github Projects Embed a list of your public GitHub projects in your pages
pelican_javascript Allows you to embed Javascript and CSS files into individual articles
Pelican Jinja2Content Allows the use of Jinja2 template code in articles, including include and import statements
Pelican Link Class Set class attribute of <a> elements according to whether the link is external or internal
Pelican Page Hierarchy Creates a URL hierarchy for pages that matches the filesystem hierarchy of their sources
Pelican Page Order Adds a page_order attribute to all pages if one is not defined.
Pelican Themes Generator Generates theme screenshots from the Pelican Themes repository
pelican-toc Generates a Table of Contents and make it available to the theme via article.toc
Pelican Vimeo Enables you to embed Vimeo videos in your pages and articles
Pelican YouTube Enables you to embed YouTube videos in your pages and articles
pelicanfly Lets you type things like i ♥ :fa-coffee: in your Markdown documents and have it come out as little Font Awesome icons in the browser
Photos Add a photo or a gallery of photos to an article, or include photos in the body text. Resize photos as needed.
permalink Enables a kind of permalink using html redirects.
Pin to top Pin Pelican's article(s) to top "Sticky article"
PlantUML Allows you to define UML diagrams directly into rst documents using the great PlantUML tool
Post Revision Extract article and page revision information from Git commit history
Post statistics Calculates various statistics about a post and store them in an article.stats dictionary
Random article Generates a html file which redirect to a random article
Read More link Inserts an inline "read more" or "continue" link into the last html element of the object summary
Related posts Adds the related_posts variable to the article's context
Render Math Render mathematics in content via the MathJax Javascript engine
Replacer Replace a text of a generated HTML
Representative image Extracts a representative image (i.e, featured image) from the article's summary or content
RMD Reader Create posts via knitr RMarkdown files
Section number Adds section numbers for article headers, in the form of 2.3.3
Series Groups related articles into a series
Share post Creates share URLs of article
Show Source Place a link to the source text of your posts.
Simple footnotes Adds footnotes to blog posts
Sitemap Generates plain-text or XML sitemaps
Slim Render theme template files via Plim, a Python port of Slim, instead of Jinja
Static comments Allows you to add static comments to an article
Subcategory Adds support for subcategories
Sub parts Break a very long article in parts, without polluting the timeline with lots of small articles.
Summary Allows easy, variable length summaries directly embedded into the body of your articles
tag_cloud Provides a tag_cloud
Textile Reader Adds support for Textile markup
Thumbnailer Creates thumbnails for all of the images found under a specific directory
Tipue Search Serializes generated HTML to JSON that can be used by jQuery plugin - Tipue Search
Touch Does a touch on your generated files using the date metadata from the content
Twitter Bootstrap Defines some rst directive that enable a clean usage of the twitter bootstrap CSS and Javascript components
txt2tags_reader Reader that renders txt2tags markup in content
Video Privacy Enhancer Increases user privacy by stopping YouTube, Google, et al from placing cookies via embedded video
W3C validate Submits generated HTML content to the W3C Markup Validation Service
Yuicompressor Minify CSS and JS files on building step

Please refer to the Readme file in a plugin's folder for detailed information about that plugin.

Contributing a plugin

Please refer to the Contributing file.