Static site generator that supports Markdown and reST syntax. Powered by Python.
  • Python 85.3%
  • CSS 8.7%
  • Jinja 6%
Find a file
Forest 0fe290c321 Make PAGE_EXCLUDES work with subdirs. Fixes #1500.
The old code was naively comparing the strings in PAGE_EXCLUDES to the
subdirectory names produced by os.walk(). (Same with ARTICLE_EXCLUDES.)
This had two surprising effects:

Setting PAGE_EXCLUDES=['foo'] would exclude all directories named foo,
regardless of whether they were in the top-level content directory or
nested deep within a directory whose contents should not be excluded.

Setting PAGE_EXCLUDES=['subdir/foo'] would never exclude any directories.

In other words, there is no way to exclude a subdirectory without risking
the accidental exclusion of other directories with the same name elsewhere
in the file system.

This change fixes the problem, so 'subdir/foo' and 'foo' will be distinct
and both work as expected. If anyone out there is depending on the old
behavior, they will have to update their settings. I don't expect it to
affect most users yet, since Pelican doesn't yet make nested directory
structures very useful. When it does, this fix will become important to
more people.
2014-11-01 17:38:20 -07:00
docs Make StaticGenerator skip content sources. Refs #1019. 2014-10-31 16:46:01 -07:00
pelican Make PAGE_EXCLUDES work with subdirs. Fixes #1500. 2014-11-01 17:38:20 -07:00
samples Fix test errors on OSX 2014-06-26 01:01:42 -04:00
.coveragerc [coveralls] Exclude tests from coverage 2014-06-24 22:29:36 +01:00
.gitattributes Fixed line ending problems by adding a .gitattributes file 2012-11-29 15:00:44 +01:00
.gitignore Port pelican to python 3. 2013-01-11 03:20:09 +01:00
.mailmap .mailmap: Add mappings to consolidate author names and emails 2013-04-12 10:51:48 -04:00
.travis.yml Remove AsciiDocReader from core. Fixes #1355 2014-06-14 02:17:43 -04:00
bumpr.rc Build binary wheels when publishing to PyPI 2014-07-01 12:16:45 -07:00
CONTRIBUTING.rst Change IRC webchat provider to Kiwi IRC 2014-06-30 18:48:46 -07:00
dev_requirements.txt Build binary wheels when publishing to PyPI 2014-07-01 12:16:45 -07:00
LICENSE Include the complete license rather than the short version. See #103 2011-04-26 13:46:02 +01:00
MANIFEST.in Don't include all the .py files in the root folder 2013-06-07 00:50:51 +02:00
README.rst README: Added Coveralls badge, refactor Travis badge 2014-09-19 10:47:31 -04:00
setup.cfg Revert setup.py changes. Ensure universal wheels. 2014-07-01 14:33:04 -07:00
setup.py Revert setup.py changes. Ensure universal wheels. 2014-07-01 14:33:04 -07:00
THANKS Document video support in Markdown and reST. 2013-10-25 10:52:13 +02:00
tox.ini Add python 3.4 to tox config. 2014-04-17 22:57:26 +02:00

Pelican |build-status| |coverage-status|
========================================

Pelican is a static site generator, written in Python_.

* Write your weblog entries directly with your editor of choice (vim!)
  in reStructuredText_ or Markdown_
* Includes a simple CLI tool to (re)generate the weblog
* Easy to interface with DVCSes and web hooks
* Completely static output is easy to host anywhere

Features
--------

Pelican currently supports:

* Blog articles and pages
* Comments, via an external service (Disqus). (Please note that while
  useful, Disqus is an external service, and thus the comment data will be
  somewhat outside of your control and potentially subject to data loss.)
* Theming support (themes are created using Jinja2_ templates)
* PDF generation of the articles/pages (optional)
* Publication of articles in multiple languages
* Atom/RSS feeds
* Code syntax highlighting
* Import from WordPress, Dotclear, or RSS feeds
* Integration with external tools: Twitter, Google Analytics, etc. (optional)
* Fast rebuild times thanks to content caching and selective output writing.

Have a look at the `Pelican documentation`_ for more information.

Why the name "Pelican"?
-----------------------

"Pelican" is an anagram for *calepin*, which means "notebook" in French. ;)

Source code
-----------

You can access the source code at: https://github.com/getpelican/pelican

If you feel hackish, have a look at the explanation of `Pelican's internals`_.

How to get help, contribute, or provide feedback
------------------------------------------------

See our `contribution submission and feedback guidelines <CONTRIBUTING.rst>`_.

.. Links

.. _Python: http://www.python.org/
.. _reStructuredText: http://docutils.sourceforge.net/rst.html
.. _Markdown: http://daringfireball.net/projects/markdown/
.. _Jinja2: http://jinja.pocoo.org/
.. _`Pelican documentation`: http://docs.getpelican.com/
.. _`Pelican's internals`: http://docs.getpelican.com/en/latest/internals.html

.. |build-status| image:: https://travis-ci.org/getpelican/pelican.svg?branch=master
   :target: https://travis-ci.org/getpelican/pelican
   :alt: Travis CI: continuous integration status
.. |coverage-status| image:: https://img.shields.io/coveralls/getpelican/pelican.svg
   :target: https://coveralls.io/r/getpelican/pelican
   :alt: Coveralls: code coverage status