Permalink
Browse files

Merge pull request #270 from bbinet/plugins

Plugins
  • Loading branch information...
2 parents c522ce7 + 50d4901 commit 97d8d0daa65442d06facf0241eb0e90f9179004d @almet almet committed Mar 22, 2012
Showing with 2,795 additions and 1,102 deletions.
  1. +2 −0 .gitignore
  2. +13 −0 .travis.yml
  3. +100 −0 CHANGELOG
  4. +1 −0 MANIFEST.in
  5. +31 −25 README.rst
  6. +1 −0 THANKS
  7. +2 −1 TODO
  8. +0 −3 bin/pelican
  9. +6 −4 dev_requirements.txt
  10. BIN docs/_static/overall.png
  11. BIN docs/_static/theme-basic.zip
  12. BIN docs/_static/uml.jpg
  13. +9 −6 docs/conf.py
  14. +28 −18 docs/contribute.rst
  15. +35 −22 docs/faq.rst
  16. +1 −0 docs/fr/index.rst
  17. +0 −16 docs/fr/themes.rst
  18. +101 −66 docs/getting_started.rst
  19. +57 −0 docs/importer.rst
  20. +28 −20 docs/index.rst
  21. +49 −45 docs/internals.rst
  22. +7 −7 docs/pelican-themes.rst
  23. +15 −26 docs/plugins.rst
  24. +122 −0 docs/report.rst
  25. +233 −141 docs/settings.rst
  26. +185 −73 docs/themes.rst
  27. +33 −0 docs/tips.rst
  28. +94 −38 pelican/__init__.py
  29. +116 −27 pelican/contents.py
  30. +126 −82 pelican/generators.py
  31. +40 −38 pelican/log.py
  32. +2 −1 pelican/paginator.py
  33. +9 −9 pelican/plugins/gravatar.py
  34. +3 −3 pelican/plugins/html_rst_directive.py
  35. +68 −43 pelican/readers.py
  36. +1 −0 pelican/rstdirectives.py
  37. +44 −14 pelican/settings.py
  38. +0 −52 pelican/tests/test_contents.py
  39. +0 −27 pelican/tests/test_readers.py
  40. +0 −34 pelican/tests/test_settings.py
  41. +2 −1 pelican/themes/notmyidea/static/css/main.css
  42. +3 −0 pelican/themes/notmyidea/static/css/typogrify.css
  43. +1 −1 pelican/themes/notmyidea/templates/archives.html
  44. +1 −1 pelican/themes/notmyidea/templates/article.html
  45. +2 −2 pelican/themes/notmyidea/templates/article_infos.html
  46. +2 −0 pelican/themes/notmyidea/templates/author.html
  47. 0 pelican/{tests/__init__.py → themes/notmyidea/templates/authors.html}
  48. +2 −5 pelican/themes/notmyidea/templates/base.html
  49. +1 −1 pelican/themes/notmyidea/templates/categories.html
  50. +1 −1 pelican/themes/notmyidea/templates/comments.html
  51. +1 −1 pelican/themes/notmyidea/templates/index.html
  52. +2 −0 pelican/themes/notmyidea/templates/pagination.html
  53. +0 −14 pelican/themes/notmyidea/templates/skribit_tab_script.html
  54. +0 −8 pelican/themes/notmyidea/templates/skribit_widget_script.html
  55. +1 −1 pelican/themes/notmyidea/templates/taglist.html
  56. +2 −2 pelican/themes/simple/templates/archives.html
  57. +2 −2 pelican/themes/simple/templates/article.html
  58. +7 −0 pelican/themes/simple/templates/author.html
  59. +19 −8 pelican/themes/simple/templates/base.html
  60. +1 −1 pelican/themes/simple/templates/categories.html
  61. +2 −2 pelican/themes/simple/templates/index.html
  62. 0 pelican/tools/__init__.py
  63. +295 −0 pelican/tools/pelican_import.py
  64. +264 −0 pelican/tools/pelican_quickstart.py
  65. +11 −12 tools/pelican-themes → pelican/tools/pelican_themes.py
  66. +39 −25 pelican/utils.py
  67. +49 −41 pelican/writers.py
  68. +9 −0 samples/content/article2-fr.rst
  69. +9 −0 samples/content/article2.rst
  70. +1 −1 samples/content/super_article.rst
  71. +3 −1 samples/pelican.conf.py
  72. +18 −9 setup.py
  73. 0 tests/__init__.py
  74. +4 −0 tests/content/article.rst
  75. +12 −0 tests/content/article_with_metadata.rst
  76. +6 −0 tests/content/article_with_uppercase_metadata.rst
  77. +39 −0 tests/default_conf.py
  78. +26 −0 tests/support.py
  79. +129 −0 tests/test_contents.py
  80. +28 −0 tests/test_generators.py
  81. +31 −0 tests/test_pelican.py
  82. +65 −0 tests/test_readers.py
  83. +37 −0 tests/test_settings.py
  84. +93 −0 tests/test_utils.py
  85. +0 −121 tools/importer.py
  86. +13 −0 tox.ini
View
@@ -7,3 +7,5 @@ docs/fr/_build
build
dist
output
+tags
+.tox
View
@@ -0,0 +1,13 @@
+language: python
+python:
+ - "2.6"
+ - "2.7"
+install:
+ - pip install nose unittest2 mock --use-mirrors
+ - pip install . --use-mirrors
+script: nosetests -s tests
+notifications:
+ irc:
+ channels:
+ - "irc.freenode.org#pelican"
+ on_success: change
View
@@ -0,0 +1,100 @@
+X.X
+
+* Refactored the way URL are handled.
+* Improved the english documentation
+* Fixed packaging using setuptools entrypoints
+* Added typogrify support
+* Added a way to disable feed generation
+
+2.8
+
+* dotclear importer
+* Allow the usage of markdown extensions
+* Themes are now easily extensible
+* Don't output pagination information if there is only one page.
+* Add a page per author, with all their articles
+* Improved the test suite
+* Made the themes more easy to extend
+* Removed Skribit support
+* Added a "pelican-quickstart" script
+* Fixed timezone-related issues
+* Add some scripts for windows support
+* Date can be specified in seconds
+* Never fail when generating posts (skip and continue)
+* Allow the use of future dates
+* Support having different timezones per languages.
+* Enhanced the documentation
+
+2.7
+
+* Uses logging rather than echoing to stdout
+* Support custom jinja filters
+* Compatibility with python 2.5
+* Add a theme manager
+* Packaged for debian
+* Add draft support
+
+2.6
+
+* changes in the output directory structure
+* makes templates easier to work with / create
+* Add RSS support (was only atom previously)
+* Add tag support for the feeds
+* Enhance the documentation
+* Add another theme (brownstone)
+* Add translations
+* Add a way to use "cleaner urls" with a rewrite url module (or equivalent)
+* Add a tag cloud
+* Add an autoreloading feature: the blog is automatically regenerated each time a modification is detected
+* Translate the documentation in french
+* import a blog from an rss feed
+* Pagination support
+* Add skribit support
+
+2.5
+
+* import from wordpress
+* add some new themes (martyalchin / wide-notmyidea)
+* first bug report !
+* linkedin support
+* added a FAQ
+* google analytics support
+* twitter support
+* use relative urls not static ones
+
+2.4
+
+* minor themes changes
+* add disqus support (so we have comments)
+* another code refactoring
+* add config settings about pages
+* blog entries can also be generated in pdf
+
+2.3
+
+* markdown support
+
+2.2
+
+* Prettify output
+* Manages static pages as well
+
+2.1
+
+* Put the notmyidea theme by default
+
+2.0
+
+* Refactoring to be more extensible
+* Change into the setting variables
+
+1.2
+
+* Add a debug option
+* Add feeds per category
+* Use filsystem to get dates if no metadata provided
+* Add pygment support
+
+1.1:
+
+* first working version
View
@@ -1,3 +1,4 @@
include *.rst
+global-include *.py
recursive-include pelican *.html *.css *png
include LICENSE
View
@@ -1,53 +1,59 @@
Pelican
#######
+.. image:: https://secure.travis-ci.org/ametaireau/pelican.png?branch=master
+
Pelican is a simple weblog generator, written in `Python <http://www.python.org/>`_.
-* Write your weblog entries directly with your editor of choice (vim!) and
- directly in `reStructuredText <http://docutils.sourceforge.net/rst.html>`_, or `Markdown <http://daringfireball.net/projects/markdown/>`_.
-* A simple cli-tool to (re)generate the weblog.
+* Write your weblog entries directly with your editor of choice (vim!)
+ in `reStructuredText <http://docutils.sourceforge.net/rst.html>`_ or `Markdown <http://daringfireball.net/projects/markdown/>`_
+* Includes 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 !
+* Completely static output is easy to host anywhere
Features
--------
Pelican currently supports:
-* blog articles and pages
-* 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).
-* Translations
-* Syntactic recognition
-
-Have a look to `the documentation <http://alexis.notmyidea.org/pelican/>`_ for
-more informations.
-
-Why the name "Pelican" ?
+* 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 <http://jinja.pocoo.org/>`_)
+* 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 documentation <http://pelican.notmyidea.org/en/latest/>`_ for
+more information.
+
+Why the name "Pelican"?
------------------------
-Heh, you didn't noticed? "Pelican" is an anagram for "Calepin" ;)
+Heh, you didn't notice? "Pelican" is an anagram for « Calepin » ;)
Source code
-----------
-You can access the source code via git on http://github.com/ametaireau/pelican/
+You can access the source code via git at: https://github.com/ametaireau/pelican
-If you feel hackish, have a look to the `pelican's internals explanations
-<http://alexis.notmyidea.org/pelican/internals.html>`_.
+If you feel hackish, have a look at the explanation of `Pelican's internals
+<http://pelican.notmyidea.org/en/latest/internals.html>`_.
Feedback / Contact us
-=====================
+---------------------
-If you want to see new features in Pelican, dont hesitate to tell me, to clone
-the repository, etc. That's open source, dude!
+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
+<http://pelican.notmyidea.org/en/latest/contribute.html>`_. That's open source, dude!
Contact me at "alexis at notmyidea dot org" for any request/feedback! You can
also join the team at `#pelican on irc.freenode.org
<irc://irc.freenode.net/pelican>`_
-(or if you don't have any IRC client, using `the webchat
+(or if you don't have any IRC client, use `the webchat
<http://webchat.freenode.net/?channels=pelican&uio=d4>`_)
for quick feedback.
View
@@ -16,3 +16,4 @@ bugs or giving ideas. Thanks to them !
- Marcus Fredriksson
- Günter Kolousek
- Simon Liedtke
+- Manuel F. Viera
View
@@ -1,8 +1,9 @@
* Add a way to support pictures (see how sphinx makes that)
-* Find a way to extend the existing templates instead of rewriting all from scratch.
* Make the program support UTF8-encoded files as input (and later: any encoding?)
* Add status support (draft, published, hidden)
* Add a serve + automatic generation behaviour.
* Recompile only the changed files, not all.
* Add a way to make the coffee (or not)
* Add a sitemap generator.
+* read templates from the templates folder per default
+* add support of github via ghg import
View
@@ -1,3 +0,0 @@
-#!/usr/bin/env python
-from pelican import main
-main()
View
@@ -1,5 +1,7 @@
-Jinja2==2.5.5
-Pygments==1.4
-docutils==0.7
-feedgenerator==1.2.1
+Jinja2
+Pygments
+docutils
+feedgenerator
unittest2
+pytz
+mock
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
@@ -1,6 +1,10 @@
# -*- coding: utf-8 -*-
import sys, os
+sys.path.append(os.path.abspath('..'))
+
+from pelican import __version__, __major__
+
# -- General configuration -----------------------------------------------------
templates_path = ['_templates']
extensions = ['sphinx.ext.autodoc',]
@@ -9,12 +13,11 @@
project = u'Pelican'
copyright = u'2010, Alexis Metaireau and contributors'
exclude_patterns = ['_build']
-version = "2"
-release = version
+version = __version__
+release = __major__
# -- Options for HTML output ---------------------------------------------------
-sys.path.append(os.path.abspath('_themes'))
html_theme_path = ['_themes']
html_theme = 'pelican'
@@ -40,7 +43,7 @@
('index', 'pelican', u'pelican documentation',
[u'Alexis Métaireau'], 1),
('pelican-themes', 'pelican-themes', u'A theme manager for Pelican',
- [u'Mickaël Raybaud'], 'en.1'),
- ('fr/pelican-themes', 'pelican-themes', u'Un gestionnaire de thèmes pour Pelican',
- [u'Mickaël Raybaud'], 'fr.1')
+ [u'Mickaël Raybaud'], 1),
+ ('themes', 'pelican-theming', u'How to create themes for Pelican',
+ [u'The Pelican contributors'], 1)
]
View
@@ -1,39 +1,49 @@
-How to contribute ?
+How to contribute?
###################
-There are many ways to contribute to pelican. You can enhance the
-documentation, add missing features, fix bugs or just report them.
+There are many ways to contribute to Pelican. You can enhance the
+documentation, add missing features, and fix bugs (or just report them).
-Don't hesitate to fork and make a pull request on github.
+Don't hesitate to fork and make a pull request on GitHub.
-Set up the development environment
-==================================
+Setting up the development environment
+======================================
-You're free to setup up the environment in any way you like. Here is a way
-using virtualenv and virtualenvwrapper. If you don't have them, you can install
-them using::
+You're free to set up your development environment any way you like. Here is a
+way using virtualenv and virtualenvwrapper. If you don't have them, you can
+install these packages via::
$ pip install virtualenvwrapper
-Virtual environments allow you to work on an installation of python which is
-not the one installed on your system. Especially, it will install the different
-projects under a different location.
+Virtual environments allow you to work on Python projects which are isolated
+from one another so you can use different packages (and package versions) with
+different projects.
-To create the virtualenv environment, you have to do::
+To create a virtual environment, use the following syntax::
- $ mkvirtualenv pelican --no-site-package
+ $ mkvirtualenv pelican
-Then you would have to install all the dependencies::
+To manually install the dependencies::
$ pip install -r dev_requirements.txt
+ $ python setup.py develop
Running the test suite
======================
Each time you add a feature, there are two things to do regarding tests:
-checking that the tests run in a right way, and be sure that you add tests for
-the feature you are working on or the bug you're fixing.
+checking that the existing tests pass, and adding tests for your new feature
+or for the bug you're fixing.
-The tests leaves under "pelican/tests" and you can run them using the
+The tests live in "pelican/tests" and you can run them using the
"discover" feature of unittest2::
$ unit2 discover
+
+Coding standards
+================
+
+Try to respect what is described in the PEP8
+(http://www.python.org/dev/peps/pep-0008/) when providing patches. This can be
+eased by the pep8 tool (http://pypi.python.org/pypi/pep8) or by Flake8, which
+will give you some other cool hints about what's good or wrong
+(http://pypi.python.org/pypi/flake8/)
Oops, something went wrong.

0 comments on commit 97d8d0d

Please sign in to comment.