1
0
Fork 0
forked from github/pelican
pelican-theme/README.rst

207 lines
7.7 KiB
ReStructuredText
Raw Permalink Normal View History

2010-08-14 05:45:16 +02:00
Pelican
#######
2010-08-17 22:59:59 +02:00
Pelican is a simple weblog generator, writen in python.
2010-10-14 01:18:50 +01:00
2010-08-17 22:59:59 +02:00
* Write your weblog entries directly with your editor of choice (vim!) and
2010-10-31 01:15:35 +00:00
directly in restructured text, or markdown.
2010-08-17 22:59:59 +02:00
* A simple cli-tool to (re)generate the weblog.
* Easy to interface with DVCSes and web hooks
2010-10-14 01:18:08 +01:00
* Completely static output, so easy to host anywhere !
2010-08-17 22:59:59 +02:00
2010-11-20 19:57:22 +00:00
Files metadata
--------------
2010-08-17 22:59:59 +02:00
Pelican tries to be smart enough to get the informations he needs from the
2010-11-20 19:57:22 +00:00
file system (for instance, about the category of your articles), but you need to
2010-10-30 16:47:35 +01:00
provide by hand some of those informations in your files.
2010-08-17 22:59:59 +02:00
You could provide the metadata in the restructured text files, using the
following syntax (give your file the `.rst` extension)::
2010-08-17 22:59:59 +02:00
My super title
##############
:date: 2010-10-03 10:20
:tags: thats, awesome
:category: yeah
:author: Alexis Metaireau
2010-08-17 22:59:59 +02:00
2010-10-31 01:15:35 +00:00
2010-11-20 19:57:22 +00:00
You can also use a markdown syntax (with a file ending in `.md`)::
2010-10-31 01:15:35 +00:00
Date: 2010-12-03
Title: My super title
Put you content here.
2010-11-20 19:57:22 +00:00
Note that none of those are mandatory: if the date is not specified, pelican will
2010-12-05 19:15:02 +00:00
rely on the mtime of your file, and 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`.
2010-10-30 16:47:35 +01:00
Features
--------
Pelican currently supports:
* blog articles
2010-12-05 19:15:02 +00:00
* 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 <http://jinjna.pocoo.org>`_)
* PDF generation of the articles/pages (optional).
2010-10-30 16:47:35 +01:00
Getting started — Generate your blog
-------------------------------------
2010-12-05 19:15:02 +00:00
You're ready? Let's go ! You can install pelican in a lot of different ways,
2010-11-20 19:57:22 +00:00
the simpler one is via `pip <http://pip.openplans.org/>`_::
2010-10-30 16:47:35 +01:00
$ 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.
2010-10-30 16:47:35 +01:00
This one will just generate a simple output, with the default theme. It's not
2010-12-05 19:15:02 +00:00
really sexy, as it's a simple HTML output (without any style).
2010-10-30 16:47:35 +01:00
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
2010-12-12 19:47:36 +00:00
Pages
-----
If you create a folder named `pages`, all the files in it will be used to
generate static pages.
2010-11-12 02:38:43 +00:00
Settings
--------
Pelican is configurable thanks a configuration file, that you can pass to
the command line::
$ pelican -s path/to/your/settingsfile.py path
2010-12-05 19:15:02 +00:00
Here are the available settings. Please note that all the settings you put in
this file will be passed to the templates as well.
======================= =======================================================
Setting name what it does ?
======================= =======================================================
`SITEURL` base URL of your website.
`PATH` path to look at for input files.
`THEME` theme to use to product the output. can be the
2010-11-20 19:57:22 +00:00
complete static path to a theme folder, or chosen
between the list of default themes (see below)
`OUTPUT_PATH` Where to output the generated files. Default to
"output"
`SITENAME` Your site name,
2010-12-05 19:15:02 +00:00
`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 versions of your
documents. You will need to install `rst2pdf`.
`DEFAULT_CATEGORY` The default category to fallback on. `misc` by default.
2010-11-20 19:57:22 +00:00
`FALLBACK_ON_FS_DATE` If True, pelican will use the file system dates infos
(mtime) if it can't get informations from the
2010-11-20 19:57:22 +00:00
metadata?
`MARKUP` A list of available markup languages you want to use.
moment, only available values are `rst` and `md`.
2010-12-05 19:15:02 +00:00
`STATIC_PATHS` The static paths you want to have accessible on the
output path "static". By default, pelican will copy
the 'images' folder to the output folder.
`STATIC_THEME_PATHS` Static theme paths you want to copy. Default values
is `static`, but if your theme have others static paths,
you can put them here.
`FEED` relative url to output the atom feed. Default is
`feeds/all.atom.xml`
2010-12-05 19:15:02 +00:00
`FEED_RSS` relative url to output the rss feed. Default is
None (no rss)
`CATEGORY_FEED` Where to put the atom categories feeds. default is
`feeds/%s.atom.xml`, where %s is the name of the
category.
`CATEGORY_FEED_RSS` Where to put the categories rss feeds. default is None
(no rss)
`CSS_FILE` To specify the CSS file you want to load, if it's not
the default one ('main.css')
======================= =======================================================
2010-11-12 02:38:43 +00:00
Themes
------
3 themes are available. You can specify them using the `-t` option:
* notmyidea
* simple (a synonym for "full text" :)
2010-12-05 19:15:02 +00:00
* martyalchin
2010-11-12 02:38:43 +00:00
You can define your own theme too, and specify it's emplacement in the same
way (be sure to specify the full absolute path to it).
2010-12-05 19:15:02 +00:00
Here is `a guide on how to create your theme
<http://alexis.notmyidea.org/pelican/themes.html>`_
2010-11-20 19:57:22 +00:00
The `notmyidea` theme can make good use of the following settings. I recommend
to use them too in your themes.
======================= =======================================================
Setting name what it does ?
======================= =======================================================
`GITHUB_URL` Your github URL (if you have one), it will then
use it to create a github ribbon.
`DISQUS_SITENAME` Pelican can handle disqus comments, specify the
sitename you've filled in on disqus
`LINKS` A list of tuples (Title, Url) for links to appear on
the header.
`SOCIAL` A list of tuples (Title, Url) to appear in the "social"
2010-12-05 19:15:02 +00:00
section.
`GOOGLE_ANALYTICS` 'UA-XXXX-YYYY' to activate google analytics.
======================= =======================================================
2010-11-12 02:38:43 +00:00
2010-11-20 16:01:17 +00:00
In addition, you can use the "wide" version of the `notmyidea` theme, by
adding that in your configuration::
CSS_FILE = "wide.css"
2010-08-14 05:45:16 +02:00
Why the name "Pelican" ?
------------------------
2010-11-20 19:57:22 +00:00
Heh, you didn't noticed? "Pelican" is an anagram for "Calepin" ;)
2010-08-17 22:59:59 +02:00
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`.
2010-11-20 19:57:22 +00:00
All those dependencies will be processed automatically if you install pelican
using setuptools/distribute or pip.
2010-10-30 16:47:35 +01:00
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/
If you feel hackish, have a look to the `pelican's internals explanations
<http://alexis.notmyidea.org/pelican/internals.html>`_.
2010-08-17 22:59:59 +02:00
Feedback !
----------
2010-08-14 05:45:16 +02:00
2010-08-17 22:59:59 +02:00
If you want to see new features in Pelican, dont hesitate to tell me, to clone
the repository, etc. That's open source, dude!
2010-10-30 16:47:35 +01:00
Contact me at "alexis at notmyidea dot org" for any request/feedback !