Skip to main content

A tool to generate a static blog, with restructured text (or markdown) input files.

Project description

Pelican is a simple weblog generator, writen in python.

  • Write your weblog entries directly with your editor of choice (vim!) and directly in restructured text, or markdown.

  • A simple cli-tool to (re)generate the weblog.

  • Easy to interface with DVCSes and web hooks

  • Completely static output, so easy to host anywhere !

Files metadatas

Pelican tries to be smart enough to get the informations he needs from the filesystem (for instance, about the category of your articles), but you need to provide by hand some of those informations in your files.

You could provide the metadata in the restructured text files, using the following syntax (give your file the .rst extension):

My super title
##############

:date: 2010-10-03 10:20
:tags: thats, awesome
:category: yeah
:author: Alexis Metaireau

You can also use a mardown syntax (with a file ending in .md):

Date: 2010-12-03
Title: My super title

Put you content here.

Note that only the date metadata is mandatory, so you just have to add that in i your files. The category can also be determined by the directory where the rst file is. For instance, the category of python/foobar/myfoobar.rst is foobar.

Features

Pelican currently supports:

  • blog articles

  • comments, via an external service (disqus). Please notice that while it’s useful, it’s an external service, and you’ll not manage the comments by yourself. It could potentially eat your data.

  • theming support (themes are done using jinja2)

  • PDF generation of the articles/pages (optional).

Getting started — Generate your blog

Yeah? You’re ready? Let’s go ! You can install pelican in a lot of different ways, the simpler one is via pip:

$ pip install pelican

Then, you have just to launch pelican, like this:

$ pelican /path/to/your/content/

And… that’s all! You can see your weblog generated on the content/ folder.

This one will just generate a simple output, with the default theme. It’s not really sexy, as it’s a simple HTML output (without any style).

You can create your own style if you want, have a look to the help to see all the options you can use:

$ pelican --help

Settings

Pelican try to be configurable via a configuration file, that you can pass to the command line. Here are the settings you can use, with some basic description.

Please note that all the settings you put in this file will be passed to the templates as well.

  • SITEURL is the base URL of your website.

  • PATH is the path to look at for input files.

  • THEME: the theme to use to product the output. can be the complete static path to a theme folder, or choosed between the default pelican themes (see below)

  • OUTPUT_PATH: Where to output the generated files. Default to “output”

  • SITENAME: Your site name,

  • DISPLAY_PAGES_ON_MENU: Display or not the pages on the menu of the template. Templates can follow or not this settings.

  • PDF_PROCESSOR: Put True if you want to have PDF outputs as well as HTML pages,

  • DEFAULT_CATEGORY: The default category. misc by default.

  • FALLBACK_ON_FS_DATE: Choose to fallback on filesystem dates informations if any other way to retreive the date currrently exists.,

  • MARKUP: A list of available markup languages you want to use. At the moment, only available values are rst and md.

  • STATIC_PATHS: The static paths you want to copy under “static”

  • FEED: url to output the feed.,

  • CATEGORY_FEED: Where to put the categories feeds. default is feeds/%s.atom.xml

  • CSS_FILE: To specify the CSS file you want to load.

Themes

3 themes are available. You can specify them using the -t option:

  • notmyidea

  • default

  • martyalchin

You can define your own theme too, and specify it’s emplacement in the same way.

The notmyidea theme can make good use of the following settings:

  • GITHUB_URL = your github URL (if you have one)

  • DISQUS_SITENAME can handle disqus comments

  • LINKS is a list of tuples Title, Url, for links

  • SOCIAL ((‘twitter’, ‘yourtwitter complete url’),) and any other name/link you want to put under “social”

  • GOOGLE_ANALYTICS = ‘UA-XXXX-YYYY’ to activate google analytics.

In addition, you can use the “wide” version of the notmyidea theme, by adding that in your configuration:

CSS_FILE = "wide.css"

Why the name “Pelican” ?

Heh, you didnt noticed? “Pelican” is an anagram for “Calepin” ;)

Dependencies

At this time, pelican is dependent of the following python packages:

  • feedgenerator, to generate the ATOM feeds.

  • jinja2, for templating support.

  • pygments, to have syntactic colorization

  • docutils and Markdown

If you’re not using python 2.7, you will also need argparse.

All those dependencies will be processed automaticaly if you install pelican using setuptools/distribute or pip.

Source code

You can access the source code via mercurial at http://hg.notmyidea.org/pelican/ or via git on http://github.com/ametaireau/pelican/

Feedback !

If you want to see new features in Pelican, dont hesitate to tell me, to clone the repository, etc. That’s open source, dude!

Contact me at “alexis at notmyidea dot org” for any request/feedback !

FAQ

How can I specify the url of my website ?

Configure the SITEURL to your site base url, let’s say http://myswebsite.tld, in your settings file:

SITEURL = "http://mywebsite.tld"

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

pelican-2.5.0.tar.gz (27.2 kB view details)

Uploaded Source

Built Distribution

pelican-2.5.0-py2.py3-none-any.whl (61.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pelican-2.5.0.tar.gz.

File metadata

  • Download URL: pelican-2.5.0.tar.gz
  • Upload date:
  • Size: 27.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pelican-2.5.0.tar.gz
Algorithm Hash digest
SHA256 87ed8d610437722bed87416b4efdb0fe79ba4dc7286ea863a072b133f4bcafa4
MD5 8f8ef230d89ae79cc006f65301a80248
BLAKE2b-256 fd403bacc17a6eab75d926451efc3d9f6c96b003b9923b3d2b00ef74a3e9426a

See more details on using hashes here.

File details

Details for the file pelican-2.5.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pelican-2.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8d2b5bb1507887122c735b44322c0dee7a8f08c6d89e935ab8afc2fc75ab8840
MD5 bfcbf74cfbac81cf42e7b8775779892e
BLAKE2b-256 469c340097e1d5e655c0ec72aa3a38f4cfd5f9f1a4d706401879b89dcb7e79c9

See more details on using hashes here.

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