mirror of
https://github.com/getpelican/pelican.git
synced 2025-10-15 20:28:56 +02:00
Static site generator that supports Markdown and reST syntax. Powered by Python.
- Python 85.3%
- CSS 8.7%
- Jinja 6%
This change partially addresses issue #1019, by teaching Pelican to distinguish between static files and content source files. A user can now safely add the same directory to both STATIC_PATHS and PAGE_PATHS (or ARTICLE_PATHS). Pelican will then process the content source files in that directory normally, and treat the remaining files as static, without copying the raw content source files to the output directory. (The OUTPUT_SOURCES setting still works.) In other words, images and markdown/reST files can now safely live together. To keep those files together in the generated site, STATIC_SAVE_AS and PAGE_SAVE_AS (or ARTICLE_SAVE_AS) should point to the same output directory. There are two new configuration settings: STATIC_EXCLUDES=[] # This works just like PAGE_EXCLUDES and ARTICLE_EXCLUDES. STATIC_EXCLUDE_SOURCES=True # Set this to False to get the old behavior. Two small but noteworthy internal changes: StaticGenerator now runs after all the other generators. This allows it to see which files are meant to be processed by other generators, and avoid them. Generators now include files that they fail to process (e.g. those with missing mandatory metadata) along with all the other paths in context['filenames']. This allows such files to be excluded from StaticGenerator's file list, so they won't end up accidentally published. Since these files have no Content object, their value in context['filenames'] is None. The code that uses that dict has been updated accordingly. |
||
|---|---|---|
| docs | ||
| pelican | ||
| samples | ||
| .coveragerc | ||
| .gitattributes | ||
| .gitignore | ||
| .mailmap | ||
| .travis.yml | ||
| bumpr.rc | ||
| CONTRIBUTING.rst | ||
| dev_requirements.txt | ||
| LICENSE | ||
| MANIFEST.in | ||
| README.rst | ||
| setup.cfg | ||
| setup.py | ||
| THANKS | ||
| tox.ini | ||
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