Static site generator that supports Markdown and reST syntax. Powered by Python.
  • Python 85.3%
  • CSS 8.7%
  • Jinja 6%
Find a file
Justin Mayer e9fec3b1dc Remove "clean" task from "make html"; fixes #637
This change removes the "clean" task from the "html" and "regenerate"
tasks in the default Makefile generated by pelican-quickstart. The
previous behavior ignored whether the DELETE_OUTPUT_DIRECTORY
setting was set to True or not and deleted everything in the output
directory every time the "make html" or "make regenerate" task was run.
In addition to violating the Principle of Least Astonishment, there was
also the potential for data loss if the user wasn't careful when
defining the output directory location in the Makefile.

The new behavior therefore relies primarily on the
DELETE_OUTPUT_DIRECTORY setting to control if and when the output
directory is cleaned. The default settings and Makefile generated by the
pelican-quickstart command, for example, no longer clean the output
directory when the "make html" task is run. If the user wants to change
this behavior and have the output directory cleaned on every "make html"
run, the recommended method would be to set DELETE_OUTPUT_DIRECTORY to
True in pelicanconf.py. Alternatively, the user can manually run "make
clean", with the caveat that the output directory and its contents will
be entirely destroyed, including any otherwise to-be-retained files or
folders specified in the OUTPUT_RETENTION setting. It is for that reason
that relying on the DELETE_OUTPUT_DIRECTORY setting is instead
recommended.

As before, DELETE_OUTPUT_DIRECTORY is set to True in the publishconf.py
settings file generated by the pelican-quickstart script. This way, any
potentially old and irrelevant files will be automatically removed
before the latest version of the site is transferred to the production
server environment.

In summary, this change allows for the sanest possible default settings,
while still allowing end users to customize output cleaning to their
preferred behavior with a minimum of confusion.
2013-06-24 13:05:00 -07:00
docs Update changelog 2013-06-15 12:24:48 -07:00
pelican Remove "clean" task from "make html"; fixes #637 2013-06-24 13:05:00 -07:00
samples samples: Remove EXTRA_PATH_METADATA entries for pictures 2013-06-15 20:52:16 -04: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
.hgignore Little changes to the hgignore file. 2010-10-16 20:03:06 +01:00
.hgtags Added tag 2.5.3 for changeset 1f9dd44b5464 2010-12-19 01:30:18 +00:00
.mailmap .mailmap: Add mappings to consolidate author names and emails 2013-04-12 10:51:48 -04:00
.travis.yml PyPI now has CDN; Travis shouldn't use mirrors 2013-06-16 08:53:45 -07:00
CONTRIBUTING.rst Drop python 3.2 support and move to python 3.3. 2013-06-02 16:23:36 +02:00
dev_requirements.txt remove plugins, update docs and update dependecies 2013-04-12 23:39:39 -04: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 Cleanup tox and remove mentions of webassets. 2013-04-14 00:36:29 +02:00
setup.py Drop python 3.2 support and move to python 3.3. 2013-06-02 16:23:36 +02:00
THANKS Add new contributors to THANKS 2013-04-23 08:09:50 -07:00
tox.ini Added lxml to the list of dependencies for the tox tests. 2013-06-08 23:40:16 +01:00

Pelican
=======

.. image:: https://secure.travis-ci.org/getpelican/pelican.png?branch=master
   :target: http://travis-ci.org/getpelican/pelican
   :alt: Travis-ci: continuous integration 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)

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`_.

Feedback / Contact us
---------------------

If you want to see new features in Pelican, don't hesitate to offer
suggestions, clone the repository, etc. There are many ways to contribute_.
That's open source, dude!

Send a message to "authors at getpelican dot com" with any requests/feedback! You
can also join the team at `#pelican on Freenode`_ (or if you don't have an IRC
client handy, use the webchat_ for quick feedback.

.. 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/latest/
.. _`Pelican's internals`: http://docs.getpelican.com/en/latest/internals.html
.. _`#pelican on Freenode`: irc://irc.freenode.net/pelican
.. _webchat: http://webchat.freenode.net/?channels=pelican&uio=d4
.. _contribute: http://docs.getpelican.com/en/latest/contribute.html