├── pelican ├── tools │ ├── __init__.py │ └── templates │ │ ├── publishconf.py.jinja2 │ │ ├── pelicanconf.py.jinja2 │ │ └── develop_server.sh.jinja2 ├── tests │ ├── content │ │ ├── empty.md │ │ ├── empty_with_bom.md │ │ ├── bad_extension.mmd │ │ ├── article_with_uppercase_metadata.rst │ │ ├── article_with_markdown_markup_extensions.md │ │ ├── 2012-11-29_rst_w_filename_meta#foo-bar.rst │ │ ├── 2012-11-30_md_w_filename_meta#foo-bar.md │ │ ├── article_without_category.rst │ │ ├── TestCategory │ │ │ ├── article_without_category.rst │ │ │ └── article_with_category.rst │ │ ├── article.rst │ │ ├── article_with_uppercase_metadata.html │ │ ├── article_with_keywords.html │ │ ├── article_with_comments.html │ │ ├── article_with_multiple_authors.html │ │ ├── article_with_multiple_authors.rst │ │ ├── article_with_null_attributes.html │ │ ├── article_with_template.rst │ │ ├── article_with_markdown_and_summary_metadata_single.md │ │ ├── article_with_mkd_extension.mkd │ │ ├── article_with_mdown_extension.mdown │ │ ├── article_with_markdown_extension.markdown │ │ ├── article_with_multiple_authors_semicolon.rst │ │ ├── article_with_code_block.rst │ │ ├── article_with_metadata.unknownextension │ │ ├── article_with_md_extension.md │ │ ├── article_with_multiple_authors_list.rst │ │ ├── article_with_markdown_and_summary_metadata_multi.md │ │ ├── article_with_duplicate_tags_authors.md │ │ ├── article_with_nonconformant_meta_tags.html │ │ ├── article_with_attributes_containing_double_quotes.html │ │ ├── article_with_markdown_and_nonascii_summary.md │ │ ├── article_with_metadata.rst │ │ ├── article_with_metadata.html │ │ ├── article_with_metadata_and_contents.html │ │ └── article_with_markdown_and_footnote.md │ ├── mixed_content │ │ ├── fake_image.jpg │ │ ├── subdir │ │ │ └── subdir_fake_image.jpg │ │ └── short_page.md │ ├── output │ │ ├── custom │ │ │ ├── robots.txt │ │ │ ├── pictures │ │ │ │ ├── Sushi.jpg │ │ │ │ ├── Fat_Cat.jpg │ │ │ │ └── Sushi_Macro.jpg │ │ │ ├── theme │ │ │ │ ├── images │ │ │ │ │ └── icons │ │ │ │ │ │ ├── rss.png │ │ │ │ │ │ ├── vimeo.png │ │ │ │ │ │ ├── aboutme.png │ │ │ │ │ │ ├── facebook.png │ │ │ │ │ │ ├── github.png │ │ │ │ │ │ ├── gittip.png │ │ │ │ │ │ ├── lastfm.png │ │ │ │ │ │ ├── linkedin.png │ │ │ │ │ │ ├── reddit.png │ │ │ │ │ │ ├── twitter.png │ │ │ │ │ │ ├── youtube.png │ │ │ │ │ │ ├── bitbucket.png │ │ │ │ │ │ ├── delicious.png │ │ │ │ │ │ ├── gitorious.png │ │ │ │ │ │ ├── hackernews.png │ │ │ │ │ │ ├── slideshare.png │ │ │ │ │ │ ├── google-groups.png │ │ │ │ │ │ ├── google-plus.png │ │ │ │ │ │ ├── speakerdeck.png │ │ │ │ │ │ └── stackoverflow.png │ │ │ │ ├── fonts │ │ │ │ │ ├── Yanone_Kaffeesatz_400.eot │ │ │ │ │ ├── Yanone_Kaffeesatz_400.ttf │ │ │ │ │ ├── Yanone_Kaffeesatz_400.woff │ │ │ │ │ ├── Yanone_Kaffeesatz_400.woff2 │ │ │ │ │ └── font.css │ │ │ │ └── css │ │ │ │ │ ├── typogrify.css │ │ │ │ │ ├── fonts.css │ │ │ │ │ ├── wide.css │ │ │ │ │ └── reset.css │ │ │ └── feeds │ │ │ │ ├── yeah.rss.xml │ │ │ │ ├── bar.rss.xml │ │ │ │ ├── all-fr.atom.xml │ │ │ │ ├── bar.atom.xml │ │ │ │ ├── yeah.atom.xml │ │ │ │ ├── cat1.rss.xml │ │ │ │ └── cat1.atom.xml │ │ ├── custom_locale │ │ │ ├── robots.txt │ │ │ ├── pictures │ │ │ │ ├── Sushi.jpg │ │ │ │ ├── Fat_Cat.jpg │ │ │ │ └── Sushi_Macro.jpg │ │ │ ├── theme │ │ │ │ ├── images │ │ │ │ │ └── icons │ │ │ │ │ │ ├── rss.png │ │ │ │ │ │ ├── github.png │ │ │ │ │ │ ├── gittip.png │ │ │ │ │ │ ├── lastfm.png │ │ │ │ │ │ ├── reddit.png │ │ │ │ │ │ ├── vimeo.png │ │ │ │ │ │ ├── aboutme.png │ │ │ │ │ │ ├── facebook.png │ │ │ │ │ │ ├── linkedin.png │ │ │ │ │ │ ├── twitter.png │ │ │ │ │ │ ├── youtube.png │ │ │ │ │ │ ├── bitbucket.png │ │ │ │ │ │ ├── delicious.png │ │ │ │ │ │ ├── gitorious.png │ │ │ │ │ │ ├── google-plus.png │ │ │ │ │ │ ├── hackernews.png │ │ │ │ │ │ ├── slideshare.png │ │ │ │ │ │ ├── speakerdeck.png │ │ │ │ │ │ ├── google-groups.png │ │ │ │ │ │ └── stackoverflow.png │ │ │ │ ├── fonts │ │ │ │ │ ├── Yanone_Kaffeesatz_400.eot │ │ │ │ │ ├── Yanone_Kaffeesatz_400.ttf │ │ │ │ │ ├── Yanone_Kaffeesatz_400.woff │ │ │ │ │ ├── Yanone_Kaffeesatz_400.woff2 │ │ │ │ │ └── font.css │ │ │ │ └── css │ │ │ │ │ ├── typogrify.css │ │ │ │ │ ├── fonts.css │ │ │ │ │ ├── wide.css │ │ │ │ │ └── reset.css │ │ │ └── feeds │ │ │ │ ├── yeah.rss.xml │ │ │ │ ├── bar.rss.xml │ │ │ │ ├── all-fr.atom.xml │ │ │ │ ├── bar.atom.xml │ │ │ │ ├── yeah.atom.xml │ │ │ │ ├── cat1.rss.xml │ │ │ │ └── cat1.atom.xml │ │ └── basic │ │ │ ├── theme │ │ │ ├── images │ │ │ │ └── icons │ │ │ │ │ ├── rss.png │ │ │ │ │ ├── github.png │ │ │ │ │ ├── gittip.png │ │ │ │ │ ├── lastfm.png │ │ │ │ │ ├── reddit.png │ │ │ │ │ ├── vimeo.png │ │ │ │ │ ├── aboutme.png │ │ │ │ │ ├── bitbucket.png │ │ │ │ │ ├── delicious.png │ │ │ │ │ ├── facebook.png │ │ │ │ │ ├── gitorious.png │ │ │ │ │ ├── linkedin.png │ │ │ │ │ ├── twitter.png │ │ │ │ │ ├── youtube.png │ │ │ │ │ ├── google-plus.png │ │ │ │ │ ├── hackernews.png │ │ │ │ │ ├── slideshare.png │ │ │ │ │ ├── speakerdeck.png │ │ │ │ │ ├── google-groups.png │ │ │ │ │ └── stackoverflow.png │ │ │ ├── fonts │ │ │ │ ├── Yanone_Kaffeesatz_400.eot │ │ │ │ ├── Yanone_Kaffeesatz_400.ttf │ │ │ │ ├── Yanone_Kaffeesatz_400.woff │ │ │ │ ├── Yanone_Kaffeesatz_400.woff2 │ │ │ │ └── font.css │ │ │ └── css │ │ │ │ ├── typogrify.css │ │ │ │ ├── fonts.css │ │ │ │ ├── wide.css │ │ │ │ └── reset.css │ │ │ ├── feeds │ │ │ ├── all-fr.atom.xml │ │ │ ├── bar.atom.xml │ │ │ ├── alexis-metaireau.rss.xml │ │ │ ├── yeah.atom.xml │ │ │ ├── cat1.atom.xml │ │ │ └── alexis-metaireau.atom.xml │ │ │ ├── tag │ │ │ ├── oh.html │ │ │ └── baz.html │ │ │ ├── authors.html │ │ │ ├── categories.html │ │ │ ├── override │ │ │ └── index.html │ │ │ ├── pages │ │ │ ├── this-is-a-test-hidden-page.html │ │ │ └── this-is-a-test-page.html │ │ │ ├── tags.html │ │ │ ├── article-1.html │ │ │ ├── article-2.html │ │ │ ├── article-3.html │ │ │ ├── filename_metadata-example.html │ │ │ ├── drafts │ │ │ └── a-draft-article.html │ │ │ ├── second-article.html │ │ │ ├── second-article-fr.html │ │ │ └── a-markdown-powered-article.html │ ├── nested_content │ │ └── maindir │ │ │ ├── maindir.md │ │ │ └── subdir │ │ │ └── subdir.md │ ├── TestPages │ │ ├── page.rst │ │ ├── page_with_category_and_tag_links.md │ │ ├── page_used_for_sorting_test.rst │ │ ├── hidden_page.rst │ │ ├── bad_page.rst │ │ ├── page_markdown.md │ │ ├── page_with_template.rst │ │ ├── hidden_page_markdown.md │ │ └── hidden_page_with_template.rst │ ├── theme_overrides │ │ ├── level1 │ │ │ └── article.html │ │ └── level2 │ │ │ ├── article.html │ │ │ └── authors.html │ ├── test_testsuite.py │ ├── __init__.py │ ├── test_rstdirectives.py │ └── default_conf.py ├── themes │ ├── simple │ │ └── templates │ │ │ ├── tag.html │ │ │ ├── category.html │ │ │ ├── author.html │ │ │ ├── categories.html │ │ │ ├── translations.html │ │ │ ├── archives.html │ │ │ ├── period_archives.html │ │ │ ├── tags.html │ │ │ ├── authors.html │ │ │ ├── page.html │ │ │ ├── pagination.html │ │ │ ├── gosquared.html │ │ │ ├── index.html │ │ │ └── article.html │ └── notmyidea │ │ ├── templates │ │ ├── tag.html │ │ ├── author.html │ │ ├── category.html │ │ ├── comments.html │ │ ├── taglist.html │ │ ├── twitter.html │ │ ├── translations.html │ │ ├── archives.html │ │ ├── page.html │ │ ├── period_archives.html │ │ ├── tags.html │ │ ├── authors.html │ │ ├── github.html │ │ ├── disqus_script.html │ │ ├── article_infos.html │ │ ├── article.html │ │ ├── analytics.html │ │ └── index.html │ │ └── static │ │ ├── images │ │ └── icons │ │ │ ├── rss.png │ │ │ ├── vimeo.png │ │ │ ├── aboutme.png │ │ │ ├── github.png │ │ │ ├── gittip.png │ │ │ ├── lastfm.png │ │ │ ├── reddit.png │ │ │ ├── twitter.png │ │ │ ├── youtube.png │ │ │ ├── bitbucket.png │ │ │ ├── delicious.png │ │ │ ├── facebook.png │ │ │ ├── gitorious.png │ │ │ ├── hackernews.png │ │ │ ├── linkedin.png │ │ │ ├── slideshare.png │ │ │ ├── google-plus.png │ │ │ ├── speakerdeck.png │ │ │ ├── google-groups.png │ │ │ └── stackoverflow.png │ │ ├── fonts │ │ ├── Yanone_Kaffeesatz_400.eot │ │ ├── Yanone_Kaffeesatz_400.ttf │ │ ├── Yanone_Kaffeesatz_400.woff │ │ ├── Yanone_Kaffeesatz_400.woff2 │ │ └── font.css │ │ └── css │ │ ├── typogrify.css │ │ ├── fonts.css │ │ ├── wide.css │ │ ├── reset.css │ │ └── pygment.css ├── signals.py └── server.py ├── samples ├── kinda │ └── exciting │ │ ├── old │ │ └── new │ │ └── files │ │ └── zap! ├── theme_standard │ ├── a_template │ └── a_stylesheet ├── very │ └── exciting │ │ └── new │ │ └── files │ │ ├── bap! │ │ ├── boom! │ │ └── wow! ├── content │ ├── unwanted_file │ ├── extra │ │ └── robots.txt │ ├── cat1 │ │ ├── article2.rst │ │ ├── article3.rst │ │ ├── article1.rst │ │ └── markdown-article.md │ ├── pictures │ │ ├── Sushi.jpg │ │ ├── Fat_Cat.jpg │ │ └── Sushi_Macro.jpg │ ├── 2012-11-30_filename-metadata.rst │ ├── pages │ │ ├── jinja2_template.html │ │ ├── override_tag_oh.rst │ │ ├── hidden_page.rst │ │ ├── test_page.rst │ │ └── override_url_saveas.rst │ ├── another_super_article-fr.rst │ ├── article2.rst │ ├── draft_article.rst │ ├── article2-fr.rst │ ├── article_tag_baz.rst │ ├── another_super_article.rst │ ├── super_article.rst │ └── unbelievable.rst ├── pelican.conf.py └── pelican.conf_FR.py ├── setup.cfg ├── .coveragerc ├── requirements ├── style.pip ├── docs.pip ├── developer.pip ├── owner.pip └── test.pip ├── docs ├── _static │ ├── uml.jpg │ ├── overall.png │ ├── theme-basic.zip │ └── theme_overrides.css ├── conf.py ├── index.rst └── quickstart.rst ├── MANIFEST.in ├── .gitignore ├── .gitattributes ├── .travis.yml ├── bumpr.rc ├── tox.ini ├── .mailmap └── README.rst /pelican/tools/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /samples/kinda/exciting/old: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pelican/tests/content/empty.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /samples/theme_standard/a_template: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /samples/kinda/exciting/new/files/zap!: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /samples/theme_standard/a_stylesheet: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /samples/very/exciting/new/files/bap!: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /samples/very/exciting/new/files/boom!: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /samples/very/exciting/new/files/wow!: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pelican/tests/content/empty_with_bom.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pelican/tests/mixed_content/fake_image.jpg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pelican/themes/simple/templates/tag.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [bdist_wheel] 2 | universal = 1 3 | -------------------------------------------------------------------------------- /samples/content/unwanted_file: -------------------------------------------------------------------------------- 1 | not to be parsed 2 | -------------------------------------------------------------------------------- /.coveragerc: -------------------------------------------------------------------------------- 1 | [report] 2 | omit = pelican/tests/* 3 | 4 | -------------------------------------------------------------------------------- /pelican/tests/mixed_content/subdir/subdir_fake_image.jpg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /requirements/style.pip: -------------------------------------------------------------------------------- 1 | flake8 2 | flake8-import-order 3 | -------------------------------------------------------------------------------- /requirements/docs.pip: -------------------------------------------------------------------------------- 1 | sphinx==1.4.9 2 | sphinx_rtd_theme 3 | -------------------------------------------------------------------------------- /requirements/developer.pip: -------------------------------------------------------------------------------- 1 | -r test.pip 2 | -r docs.pip 3 | -r style.pip 4 | -------------------------------------------------------------------------------- /samples/content/extra/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: /pictures 3 | -------------------------------------------------------------------------------- /pelican/tests/output/custom/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: /pictures 3 | -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: /pictures 3 | -------------------------------------------------------------------------------- /docs/_static/uml.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/docs/_static/uml.jpg -------------------------------------------------------------------------------- /docs/_static/overall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/docs/_static/overall.png -------------------------------------------------------------------------------- /pelican/tests/mixed_content/short_page.md: -------------------------------------------------------------------------------- 1 | Title: Short Page 2 | 3 | This is a page with little text. 4 | -------------------------------------------------------------------------------- /requirements/owner.pip: -------------------------------------------------------------------------------- 1 | -r developer.pip 2 | 3 | # Release issuance 4 | tox 5 | bumpr==0.2.0 6 | wheel 7 | -------------------------------------------------------------------------------- /samples/content/cat1/article2.rst: -------------------------------------------------------------------------------- 1 | Article 2 2 | ######### 3 | 4 | :date: 2011-02-17 5 | 6 | Article 2 7 | -------------------------------------------------------------------------------- /samples/content/cat1/article3.rst: -------------------------------------------------------------------------------- 1 | Article 3 2 | ######### 3 | 4 | :date: 2011-02-17 5 | 6 | Article 3 7 | -------------------------------------------------------------------------------- /docs/_static/theme-basic.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/docs/_static/theme-basic.zip -------------------------------------------------------------------------------- /pelican/tests/nested_content/maindir/maindir.md: -------------------------------------------------------------------------------- 1 | Title: Main Dir Page 2 | 3 | This page lives in maindir. 4 | -------------------------------------------------------------------------------- /pelican/tests/nested_content/maindir/subdir/subdir.md: -------------------------------------------------------------------------------- 1 | Title: Subdir Page 2 | 3 | This page lives in maindir/subdir. 4 | -------------------------------------------------------------------------------- /samples/content/pictures/Sushi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/samples/content/pictures/Sushi.jpg -------------------------------------------------------------------------------- /requirements/test.pip: -------------------------------------------------------------------------------- 1 | # Tests 2 | mock 3 | 4 | # Optional Packages 5 | Markdown 6 | BeautifulSoup4 7 | lxml 8 | typogrify 9 | -------------------------------------------------------------------------------- /samples/content/cat1/article1.rst: -------------------------------------------------------------------------------- 1 | Article 1 2 | ######### 3 | 4 | :date: 2011-02-17 5 | :yeah: oh yeah ! 6 | 7 | Article 1 8 | -------------------------------------------------------------------------------- /samples/content/pictures/Fat_Cat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/samples/content/pictures/Fat_Cat.jpg -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/tag.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | {% block title %}{{ SITENAME }} - {{ tag }}{% endblock %} 3 | -------------------------------------------------------------------------------- /samples/content/2012-11-30_filename-metadata.rst: -------------------------------------------------------------------------------- 1 | FILENAME_METADATA example 2 | ######################### 3 | 4 | Some cool stuff! 5 | -------------------------------------------------------------------------------- /samples/content/pictures/Sushi_Macro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/samples/content/pictures/Sushi_Macro.jpg -------------------------------------------------------------------------------- /pelican/tests/TestPages/page.rst: -------------------------------------------------------------------------------- 1 | This is a test page 2 | ################### 3 | 4 | The quick brown fox jumped over the lazy dog's back. 5 | -------------------------------------------------------------------------------- /pelican/tests/content/bad_extension.mmd: -------------------------------------------------------------------------------- 1 | Title: Bad Extension 2 | 3 | This file shouldn't be included because its file extension is `.mmd`. 4 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/author.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | {% block title %}{{ SITENAME }} - {{ author }}{% endblock %} 3 | -------------------------------------------------------------------------------- /samples/content/pages/jinja2_template.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 | 4 | Some text 5 | 6 | {% endblock %} 7 | -------------------------------------------------------------------------------- /pelican/tests/output/custom/pictures/Sushi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/pictures/Sushi.jpg -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/category.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | {% block title %}{{ SITENAME }} - {{ category }}{% endblock %} 3 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_uppercase_metadata.rst: -------------------------------------------------------------------------------- 1 | 2 | This is a super article ! 3 | ######################### 4 | 5 | :Category: Yeah 6 | 7 | -------------------------------------------------------------------------------- /pelican/tests/output/custom/pictures/Fat_Cat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/pictures/Fat_Cat.jpg -------------------------------------------------------------------------------- /samples/content/another_super_article-fr.rst: -------------------------------------------------------------------------------- 1 | Trop bien ! 2 | ########### 3 | 4 | :lang: fr 5 | :slug: oh-yeah 6 | 7 | Et voila du contenu en français 8 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_markdown_markup_extensions.md: -------------------------------------------------------------------------------- 1 | Title: Test Markdown extensions 2 | 3 | [TOC] 4 | 5 | ## Level1 6 | 7 | ### Level2 8 | 9 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/rss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/rss.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/pictures/Sushi_Macro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/pictures/Sushi_Macro.jpg -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/rss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/rss.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/pictures/Sushi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/pictures/Sushi.jpg -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/rss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/rss.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/vimeo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/vimeo.png -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include *.rst 2 | recursive-include pelican *.html *.css *png *.in *.rst *.markdown *.md *.mkd *.xml *.py 3 | include LICENSE THANKS docs/changelog.rst 4 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/github.png -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/gittip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/gittip.png -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/lastfm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/lastfm.png -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/reddit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/reddit.png -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/vimeo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/vimeo.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/vimeo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/vimeo.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/pictures/Fat_Cat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/pictures/Fat_Cat.jpg -------------------------------------------------------------------------------- /pelican/tests/theme_overrides/level1/article.html: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /pelican/tests/theme_overrides/level2/article.html: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /pelican/tests/theme_overrides/level2/authors.html: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/aboutme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/aboutme.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/github.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/gittip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/gittip.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/lastfm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/lastfm.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/reddit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/reddit.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/twitter.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/youtube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/youtube.png -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/aboutme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/aboutme.png -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/bitbucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/bitbucket.png -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/delicious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/delicious.png -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/facebook.png -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/gitorious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/gitorious.png -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/linkedin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/linkedin.png -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/twitter.png -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/youtube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/youtube.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/aboutme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/aboutme.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/facebook.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/github.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/gittip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/gittip.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/lastfm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/lastfm.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/linkedin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/linkedin.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/reddit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/reddit.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/twitter.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/youtube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/youtube.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/pictures/Sushi_Macro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/pictures/Sushi_Macro.jpg -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/bitbucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/bitbucket.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/delicious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/delicious.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/facebook.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/gitorious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/gitorious.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/hackernews.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/hackernews.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/linkedin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/linkedin.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/slideshare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/slideshare.png -------------------------------------------------------------------------------- /pelican/tests/TestPages/page_with_category_and_tag_links.md: -------------------------------------------------------------------------------- 1 | Title: Page with a bunch of links 2 | 3 | My links: 4 | 5 | [Link 1]({tag}マック) 6 | 7 | [Link 2]({category}Yeah) 8 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/google-plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/google-plus.png -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/hackernews.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/hackernews.png -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/slideshare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/slideshare.png -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/speakerdeck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/speakerdeck.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/bitbucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/bitbucket.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/delicious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/delicious.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/gitorious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/gitorious.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/hackernews.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/hackernews.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/slideshare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/slideshare.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/rss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/rss.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/google-plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/google-plus.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/speakerdeck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/speakerdeck.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/comments.html: -------------------------------------------------------------------------------- 1 | {% if DISQUS_SITENAME %}

There are comments.

{% endif %} 2 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/fonts/Yanone_Kaffeesatz_400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/fonts/Yanone_Kaffeesatz_400.eot -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/fonts/Yanone_Kaffeesatz_400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/fonts/Yanone_Kaffeesatz_400.ttf -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/google-groups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/google-groups.png -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/images/icons/stackoverflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/images/icons/stackoverflow.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/google-groups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/google-groups.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/google-plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/google-plus.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/speakerdeck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/speakerdeck.png -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/images/icons/stackoverflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/images/icons/stackoverflow.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/github.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/gittip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/gittip.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/lastfm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/lastfm.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/reddit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/reddit.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/vimeo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/vimeo.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/fonts/Yanone_Kaffeesatz_400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/fonts/Yanone_Kaffeesatz_400.eot -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/fonts/Yanone_Kaffeesatz_400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/fonts/Yanone_Kaffeesatz_400.ttf -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/fonts/Yanone_Kaffeesatz_400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/fonts/Yanone_Kaffeesatz_400.woff -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/google-groups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/google-groups.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/images/icons/stackoverflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/images/icons/stackoverflow.png -------------------------------------------------------------------------------- /pelican/themes/simple/templates/category.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | {% block content_title %} 3 |

Articles in the {{ category }} category

4 | {% endblock %} 5 | 6 | -------------------------------------------------------------------------------- /pelican/tests/content/2012-11-29_rst_w_filename_meta#foo-bar.rst: -------------------------------------------------------------------------------- 1 | 2 | Rst with filename metadata 3 | ########################## 4 | 5 | :category: yeah 6 | :author: Alexis Métaireau 7 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/fonts/Yanone_Kaffeesatz_400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/fonts/Yanone_Kaffeesatz_400.woff -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/fonts/Yanone_Kaffeesatz_400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/basic/theme/fonts/Yanone_Kaffeesatz_400.woff2 -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/fonts/Yanone_Kaffeesatz_400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/fonts/Yanone_Kaffeesatz_400.eot -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/fonts/Yanone_Kaffeesatz_400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/fonts/Yanone_Kaffeesatz_400.ttf -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/fonts/Yanone_Kaffeesatz_400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/fonts/Yanone_Kaffeesatz_400.woff -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/aboutme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/aboutme.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/facebook.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/linkedin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/linkedin.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/twitter.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/youtube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/youtube.png -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/fonts/Yanone_Kaffeesatz_400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/themes/notmyidea/static/fonts/Yanone_Kaffeesatz_400.woff2 -------------------------------------------------------------------------------- /pelican/tests/content/2012-11-30_md_w_filename_meta#foo-bar.md: -------------------------------------------------------------------------------- 1 | category: yeah 2 | author: Alexis Métaireau 3 | 4 | Markdown with filename metadata 5 | =============================== 6 | 7 | -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/fonts/Yanone_Kaffeesatz_400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom/theme/fonts/Yanone_Kaffeesatz_400.woff2 -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/bitbucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/bitbucket.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/delicious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/delicious.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/gitorious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/gitorious.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/google-plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/google-plus.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/hackernews.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/hackernews.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/slideshare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/slideshare.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/speakerdeck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/speakerdeck.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/google-groups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/google-groups.png -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/images/icons/stackoverflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/images/icons/stackoverflow.png -------------------------------------------------------------------------------- /pelican/tests/content/article_without_category.rst: -------------------------------------------------------------------------------- 1 | 2 | This is an article without category ! 3 | ##################################### 4 | 5 | This article should be in the DEFAULT_CATEGORY. 6 | 7 | -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/fonts/Yanone_Kaffeesatz_400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/fonts/Yanone_Kaffeesatz_400.eot -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/fonts/Yanone_Kaffeesatz_400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/fonts/Yanone_Kaffeesatz_400.ttf -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/fonts/Yanone_Kaffeesatz_400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/fonts/Yanone_Kaffeesatz_400.woff -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/fonts/Yanone_Kaffeesatz_400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican/master/pelican/tests/output/custom_locale/theme/fonts/Yanone_Kaffeesatz_400.woff2 -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/taglist.html: -------------------------------------------------------------------------------- 1 | {% if article.tags %}

tags: {% for tag in article.tags %}{{ tag | escape }} {% endfor %}

{% endif %} 2 | -------------------------------------------------------------------------------- /pelican/tests/content/TestCategory/article_without_category.rst: -------------------------------------------------------------------------------- 1 | This is an article without category ! 2 | ##################################### 3 | 4 | This article should be in 'TestCategory' category. 5 | -------------------------------------------------------------------------------- /pelican/tests/content/article.rst: -------------------------------------------------------------------------------- 1 | Article title 2 | ############# 3 | 4 | THIS is some content. With some stuff to "typogrify"... 5 | 6 | Now with added support for :abbr:`TLA (three letter acronym)`. 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.egg-info 2 | .*.swp 3 | .*.swo 4 | *.pyc 5 | .DS_Store 6 | docs/_build 7 | docs/fr/_build 8 | build 9 | dist 10 | tags 11 | .tox 12 | .coverage 13 | htmlcov 14 | six-*.egg/ 15 | *.orig 16 | -------------------------------------------------------------------------------- /pelican/tests/TestPages/page_used_for_sorting_test.rst: -------------------------------------------------------------------------------- 1 | A Page (Test) for sorting 2 | ######################### 3 | 4 | :slug: zzzz 5 | 6 | When using title, should be first. When using slug, should be last. 7 | -------------------------------------------------------------------------------- /samples/content/article2.rst: -------------------------------------------------------------------------------- 1 | Second article 2 | ############## 3 | 4 | :tags: foo, bar, baz 5 | :date: 2012-02-29 6 | :lang: en 7 | :slug: second-article 8 | 9 | This is some article, in english 10 | -------------------------------------------------------------------------------- /samples/content/draft_article.rst: -------------------------------------------------------------------------------- 1 | A draft article 2 | ############### 3 | 4 | :status: draft 5 | 6 | This is a draft article, it should live under the /drafts/ folder and not be 7 | listed anywhere else. 8 | -------------------------------------------------------------------------------- /pelican/tests/TestPages/hidden_page.rst: -------------------------------------------------------------------------------- 1 | This is a test hidden page 2 | ########################## 3 | 4 | :status: hidden 5 | 6 | The quick brown fox jumped over the lazy dog's back. 7 | 8 | This page is hidden 9 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_uppercase_metadata.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | This is a super article ! 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /samples/content/article2-fr.rst: -------------------------------------------------------------------------------- 1 | Deuxième article 2 | ################ 3 | 4 | :tags: foo, bar, baz 5 | :date: 2012-02-29 6 | :lang: fr 7 | :slug: second-article 8 | 9 | Ceci est un article, en français. 10 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_keywords.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | This is a super article ! 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /samples/content/pages/override_tag_oh.rst: -------------------------------------------------------------------------------- 1 | Oh Oh Oh 2 | ######## 3 | 4 | :date: 2010-03-14 5 | :url: tag/oh.html 6 | :save_as: tag/oh.html 7 | 8 | This page overrides the listening of the articles under the *oh* tag. 9 | -------------------------------------------------------------------------------- /samples/content/article_tag_baz.rst: -------------------------------------------------------------------------------- 1 | The baz tag 2 | ########### 3 | 4 | :date: 2010-03-14 5 | :url: tag/baz.html 6 | :save_as: tag/baz.html 7 | 8 | This article overrides the listening of the articles under the *baz* tag. 9 | -------------------------------------------------------------------------------- /pelican/tests/content/TestCategory/article_with_category.rst: -------------------------------------------------------------------------------- 1 | This is an article with category ! 2 | ################################## 3 | 4 | :category: yeah 5 | :date: 1970-01-01 6 | 7 | This article should be in 'yeah' category. 8 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_comments.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Body content 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /pelican/tests/TestPages/bad_page.rst: -------------------------------------------------------------------------------- 1 | This is a test bad page 2 | ####################### 3 | 4 | :status: invalid 5 | 6 | The quick brown fox jumped over the lazy dog's back. 7 | 8 | The status here is invalid, the page should not render. 9 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/css/typogrify.css: -------------------------------------------------------------------------------- 1 | .caps {font-size:.92em;} 2 | .amp {color:#666; font-size:1.05em;font-family:"Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua",serif; font-style:italic;} 3 | .dquo {margin-left:-.38em;} 4 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/css/typogrify.css: -------------------------------------------------------------------------------- 1 | .caps {font-size:.92em;} 2 | .amp {color:#666; font-size:1.05em;font-family:"Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua",serif; font-style:italic;} 3 | .dquo {margin-left:-.38em;} 4 | -------------------------------------------------------------------------------- /pelican/themes/simple/templates/author.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | 3 | {% block title %}{{ SITENAME }} - Articles by {{ author }}{% endblock %} 4 | {% block content_title %} 5 |

Articles by {{ author }}

6 | {% endblock %} 7 | 8 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_multiple_authors.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | This is an article with multiple authors! 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/css/typogrify.css: -------------------------------------------------------------------------------- 1 | .caps {font-size:.92em;} 2 | .amp {color:#666; font-size:1.05em;font-family:"Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua",serif; font-style:italic;} 3 | .dquo {margin-left:-.38em;} 4 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_multiple_authors.rst: -------------------------------------------------------------------------------- 1 | This is an article with multiple authors! 2 | ######################################### 3 | 4 | :date: 2014-02-09 02:20 5 | :modified: 2014-02-09 02:20 6 | :authors: First Author, Second Author 7 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_null_attributes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ensure that empty attributes are copied properly. 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/css/typogrify.css: -------------------------------------------------------------------------------- 1 | .caps {font-size:.92em;} 2 | .amp {color:#666; font-size:1.05em;font-family:"Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua",serif; font-style:italic;} 3 | .dquo {margin-left:-.38em;} 4 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_template.rst: -------------------------------------------------------------------------------- 1 | Article with template 2 | ##################### 3 | 4 | :template: custom 5 | 6 | This article has a custom template to be called when rendered 7 | 8 | This is some content. With some stuff to "typogrify". 9 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_markdown_and_summary_metadata_single.md: -------------------------------------------------------------------------------- 1 | Title: Article with markdown and summary metadata single 2 | Date: 2012-10-30 3 | Summary: A single-line summary should be supported as well as **inline markup**. 4 | 5 | This is some content. 6 | -------------------------------------------------------------------------------- /pelican/tests/TestPages/page_markdown.md: -------------------------------------------------------------------------------- 1 | title: This is a markdown test page 2 | 3 | Test Markdown File Header 4 | ========================= 5 | 6 | Used for pelican test 7 | --------------------- 8 | 9 | The quick brown fox jumped over the lazy dog's back. 10 | -------------------------------------------------------------------------------- /samples/content/pages/hidden_page.rst: -------------------------------------------------------------------------------- 1 | This is a test hidden page 2 | ########################## 3 | 4 | :category: test 5 | :status: hidden 6 | 7 | This is great for things like error(404) pages 8 | Anyone can see this page but it's not linked to anywhere! 9 | 10 | -------------------------------------------------------------------------------- /samples/content/pages/test_page.rst: -------------------------------------------------------------------------------- 1 | This is a test page 2 | ################### 3 | 4 | :category: test 5 | 6 | Just an image. 7 | 8 | .. image:: |filename|/pictures/Fat_Cat.jpg 9 | :height: 450 px 10 | :width: 600 px 11 | :alt: alternate text 12 | 13 | -------------------------------------------------------------------------------- /pelican/themes/simple/templates/categories.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 | 8 | {% endblock %} 9 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Improve accuracy of GitHub's Linguist-powered language statistics 5 | pelican/tests/content/* linguist-vendored 6 | pelican/tests/output/* linguist-vendored 7 | samples/* linguist-vendored 8 | -------------------------------------------------------------------------------- /samples/content/cat1/markdown-article.md: -------------------------------------------------------------------------------- 1 | Title: A markdown powered article 2 | Date: 2011-04-20 3 | 4 | You're mutually oblivious. 5 | 6 | [a root-relative link to unbelievable](|filename|/unbelievable.rst) 7 | [a file-relative link to unbelievable](|filename|../unbelievable.rst) 8 | -------------------------------------------------------------------------------- /pelican/tests/TestPages/page_with_template.rst: -------------------------------------------------------------------------------- 1 | This is a test page with a preset template 2 | ########################################## 3 | 4 | :template: custom 5 | 6 | The quick brown fox jumped over the lazy dog's back. 7 | 8 | This article has a custom template to be called when rendered 9 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_mkd_extension.mkd: -------------------------------------------------------------------------------- 1 | title: Test mkd File 2 | category: test 3 | 4 | Test Markdown File Header 5 | ========================= 6 | 7 | Used for pelican test 8 | --------------------- 9 | 10 | This is another markdown test file. Uses the mkd extension. 11 | -------------------------------------------------------------------------------- /samples/content/pages/override_url_saveas.rst: -------------------------------------------------------------------------------- 1 | Override url/save_as 2 | #################### 3 | 4 | :date: 2012-12-07 5 | :url: override/ 6 | :save_as: override/index.html 7 | 8 | Test page which overrides save_as and url so that this page will be generated 9 | at a custom location. 10 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_mdown_extension.mdown: -------------------------------------------------------------------------------- 1 | title: Test mdown File 2 | category: test 3 | 4 | Test Markdown File Header 5 | ========================= 6 | 7 | Used for pelican test 8 | --------------------- 9 | 10 | This is another markdown test file. Uses the mdown extension. 11 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/twitter.html: -------------------------------------------------------------------------------- 1 | {% if TWITTER_USERNAME %} 2 | Tweet 3 | {% endif %} 4 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_markdown_extension.markdown: -------------------------------------------------------------------------------- 1 | title: Test markdown File 2 | category: test 3 | 4 | Test Markdown File Header 5 | ========================= 6 | 7 | Used for pelican test 8 | --------------------- 9 | 10 | This is another markdown test file. Uses the markdown extension. 11 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_multiple_authors_semicolon.rst: -------------------------------------------------------------------------------- 1 | This is an article with multiple authors in lastname, firstname format! 2 | ####################################################################### 3 | 4 | :date: 2014-02-09 02:20 5 | :modified: 2014-02-09 02:20 6 | :authors: Author, First; Author, Second 7 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_code_block.rst: -------------------------------------------------------------------------------- 1 | An Article With Code Block To Test Typogrify Ignore 2 | ################################################### 3 | 4 | An article with some code 5 | 6 | .. code-block:: python 7 | 8 | x & y 9 | 10 | A block quote: 11 | 12 | x & y 13 | 14 | Normal: 15 | x & y 16 | -------------------------------------------------------------------------------- /pelican/themes/simple/templates/translations.html: -------------------------------------------------------------------------------- 1 | {% macro translations_for(article) %} 2 | {% if article.translations %} 3 | Translations: 4 | {% for translation in article.translations %} 5 | {{ translation.lang }} 6 | {% endfor %} 7 | {% endif %} 8 | {% endmacro %} 9 | 10 | -------------------------------------------------------------------------------- /pelican/tests/TestPages/hidden_page_markdown.md: -------------------------------------------------------------------------------- 1 | title: This is a markdown test hidden page 2 | status: hidden 3 | 4 | Test Markdown File Header 5 | ========================= 6 | 7 | Used for pelican test 8 | --------------------- 9 | 10 | The quick brown fox jumped over the lazy dog's back. 11 | 12 | This page is hidden 13 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/translations.html: -------------------------------------------------------------------------------- 1 | {% macro translations_for(article) %} 2 | {% if article.translations %} 3 | Translations: 4 | {% for translation in article.translations %} 5 | {{ translation.lang }} 6 | {% endfor %} 7 | {% endif %} 8 | {% endmacro %} 9 | -------------------------------------------------------------------------------- /pelican/themes/simple/templates/archives.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 |

Archives for {{ SITENAME }}

4 | 5 |
6 | {% for article in dates %} 7 |
{{ article.locale_date }}
8 |
{{ article.title }}
9 | {% endfor %} 10 |
11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /pelican/tests/TestPages/hidden_page_with_template.rst: -------------------------------------------------------------------------------- 1 | This is a test hidden page with a custom template 2 | ################################################# 3 | 4 | :status: hidden 5 | :template: custom 6 | 7 | The quick brown fox jumped over the lazy dog's back. 8 | 9 | This page is hidden 10 | 11 | This page has a custom template to be called when rendered 12 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_metadata.unknownextension: -------------------------------------------------------------------------------- 1 | 2 | This is a super article ! 3 | ######################### 4 | 5 | :tags: foo, bar, foobar 6 | :date: 2010-12-02 10:14 7 | :category: yeah 8 | :author: Alexis Métaireau 9 | :summary: 10 | Multi-line metadata should be supported 11 | as well as **inline markup**. 12 | :custom_field: http://notmyidea.org 13 | -------------------------------------------------------------------------------- /pelican/themes/simple/templates/period_archives.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 |

Archives for {{ period | reverse | join(' ') }}

4 | 5 |
6 | {% for article in dates %} 7 |
{{ article.locale_date }}
8 |
{{ article.title }}
9 | {% endfor %} 10 |
11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /pelican/themes/simple/templates/tags.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}{{ SITENAME }} - Tags{% endblock %} 4 | 5 | {% block content %} 6 |

Tags for {{ SITENAME }}

7 | {%- for tag, articles in tags|sort %} 8 |
  • {{ tag }} ({{ articles|count }})
  • 9 | {% endfor %} 10 | {% endblock %} 11 | -------------------------------------------------------------------------------- /pelican/tests/test_testsuite.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import print_function, unicode_literals 3 | 4 | import warnings 5 | 6 | from pelican.tests.support import unittest 7 | 8 | 9 | class TestSuiteTest(unittest.TestCase): 10 | 11 | def test_error_on_warning(self): 12 | with self.assertRaises(UserWarning): 13 | warnings.warn('test warning') 14 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_md_extension.md: -------------------------------------------------------------------------------- 1 | Title: Test md File 2 | Category: test 3 | Tags: foo, bar, foobar 4 | Date: 2010-12-02 10:14 5 | Modified: 2010-12-02 10:20 6 | Summary: I have a lot to test 7 | 8 | Test Markdown File Header 9 | ========================= 10 | 11 | Used for pelican test 12 | --------------------- 13 | 14 | The quick brown fox jumped over the lazy dog's back. 15 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_multiple_authors_list.rst: -------------------------------------------------------------------------------- 1 | This is an article with multiple authors in list format! 2 | ######################################################## 3 | 4 | :date: 2014-02-09 02:20 5 | :modified: 2014-02-09 02:20 6 | :authors: - Author, First 7 | - Author, Second 8 | 9 | The author names are in last,first form to verify that 10 | they are not just getting split on commas. 11 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/archives.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 |
    4 |

    Archives for {{ SITENAME }}

    5 | 6 |
    7 | {% for article in dates %} 8 |
    {{ article.locale_date }}
    9 |
    {{ article.title }}
    10 | {% endfor %} 11 |
    12 |
    13 | {% endblock %} 14 | -------------------------------------------------------------------------------- /docs/_static/theme_overrides.css: -------------------------------------------------------------------------------- 1 | 2 | /* override table width restrictions */ 3 | .wy-table-responsive table td, .wy-table-responsive table th { 4 | /* !important prevents the common CSS stylesheets from 5 | overriding this as on RTD they are loaded after this stylesheet */ 6 | white-space: normal !important; 7 | } 8 | 9 | .wy-table-responsive { 10 | overflow: visible !important; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/page.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %}{{ page.title }}{% endblock %} 3 | {% block content %} 4 |
    5 |

    {{ page.title }}

    6 | {% import 'translations.html' as translations with context %} 7 | {{ translations.translations_for(page) }} 8 | {{ page.content }} 9 |
    10 | {% endblock %} 11 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_markdown_and_summary_metadata_multi.md: -------------------------------------------------------------------------------- 1 | Title: Article with markdown and summary metadata multi 2 | Date: 2012-10-31 3 | Summary: 4 | A multi-line summary should be supported 5 | as well as **inline markup**. 6 | custom_formatted_field: 7 | Multi-line metadata should also be supported 8 | as well as *inline markup* and stuff to "typogrify"... 9 | 10 | This is some content. 11 | -------------------------------------------------------------------------------- /pelican/themes/simple/templates/authors.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}{{ SITENAME }} - Authors{% endblock %} 4 | 5 | {% block content %} 6 |

    Authors on {{ SITENAME }}

    7 | 8 | 13 | {% endblock %} 14 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/period_archives.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 |
    4 |

    Archives for {{ period | reverse | join(' ') }}

    5 | 6 |
    7 | {% for article in dates %} 8 |
    {{ article.locale_date }}
    9 |
    {{ article.title }}
    10 | {% endfor %} 11 |
    12 |
    13 | {% endblock %} 14 | -------------------------------------------------------------------------------- /pelican/themes/simple/templates/page.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %}{{ page.title }}{%endblock%} 3 | {% block content %} 4 |

    {{ page.title }}

    5 | {% import 'translations.html' as translations with context %} 6 | {{ translations.translations_for(page) }} 7 | 8 | {{ page.content }} 9 | 10 | {% if page.modified %} 11 |

    12 | Last updated: {{ page.locale_modified }} 13 |

    14 | {% endif %} 15 | {% endblock %} 16 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/tags.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}{{ SITENAME }} - Tags{% endblock %} 4 | 5 | {% block content %} 6 | 7 |
    8 |

    Tags for {{ SITENAME }}

    9 | 14 |
    15 | 16 | {% endblock %} 17 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_duplicate_tags_authors.md: -------------------------------------------------------------------------------- 1 | Title: Test metadata duplicates 2 | Category: test 3 | Tags: foo, bar, foobar, foo, bar 4 | Authors: Author, First; Author, Second; Author, First 5 | Date: 2010-12-02 10:14 6 | Modified: 2010-12-02 10:20 7 | Summary: I have a lot to test 8 | 9 | Test Markdown File Header 10 | ========================= 11 | 12 | Used for pelican test 13 | --------------------- 14 | 15 | The quick brown fox jumped over the lazy dog's back. 16 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_nonconformant_meta_tags.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Article with Nonconformant HTML meta tags 6 | 7 | 8 | 9 | Multi-line metadata should be supported 10 | as well as inline markup. 11 | 12 | 13 | -------------------------------------------------------------------------------- /pelican/themes/simple/templates/pagination.html: -------------------------------------------------------------------------------- 1 | {% if DEFAULT_PAGINATION %} 2 |

    3 | {% if articles_page.has_previous() %} 4 | « 5 | {% endif %} 6 | Page {{ articles_page.number }} / {{ articles_paginator.num_pages }} 7 | {% if articles_page.has_next() %} 8 | » 9 | {% endif %} 10 |

    11 | {% endif %} 12 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/authors.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}{{ SITENAME }} - Authors{% endblock %} 4 | 5 | {% block content %} 6 | 7 |
    8 |

    Authors on {{ SITENAME }}

    9 | 14 |
    15 | 16 | {% endblock %} 17 | -------------------------------------------------------------------------------- /samples/content/another_super_article.rst: -------------------------------------------------------------------------------- 1 | Oh yeah ! 2 | ######### 3 | 4 | :tags: oh, bar, yeah 5 | :date: 2010-10-20 10:14 6 | :category: bar 7 | :author: Alexis Métaireau 8 | :slug: oh-yeah 9 | :license: WTFPL 10 | 11 | Why not ? 12 | ========= 13 | 14 | After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst ! 15 | YEAH ! 16 | 17 | .. image:: |filename|/pictures/Sushi.jpg 18 | :height: 450 px 19 | :width: 600 px 20 | :alt: alternate text 21 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_attributes_containing_double_quotes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ensure that if an attribute value contains a double quote, it is 6 | surrounded with single quotes, otherwise with double quotes. 7 | Span content 8 | Span content 9 | Span content 10 | 11 | 12 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_markdown_and_nonascii_summary.md: -------------------------------------------------------------------------------- 1 | Title: マックOS X 10.8でパイソンとVirtualenvをインストールと設定 2 | Slug: python-virtualenv-on-mac-osx-mountain-lion-10.8 3 | Date: 2012-12-20 4 | Modified: 2012-12-22 5 | Tags: パイソン, マック 6 | Category: 指導書 7 | Summary: パイソンとVirtualenvをまっくでインストールする方法について明確に説明します。 8 | 9 | Writing unicode is certainly fun. 10 | 11 | パイソンとVirtualenvをまっくでインストールする方法について明確に説明します。 12 | 13 | And let's mix languages. 14 | 15 | первый пост 16 | 17 | Now another. 18 | 19 | İlk yazı çok özel değil. 20 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/github.html: -------------------------------------------------------------------------------- 1 | {% if GITHUB_URL %} 2 | 3 | {% if GITHUB_POSITION != "left" %} 4 | Fork me on GitHub 5 | {% else %} 6 | Fork me on GitHub 7 | {% endif %} 8 | 9 | {% endif %} 10 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/disqus_script.html: -------------------------------------------------------------------------------- 1 | {% if DISQUS_SITENAME %} 2 | 11 | {% endif %} 12 | -------------------------------------------------------------------------------- /pelican/tests/__init__.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import warnings 3 | 4 | from pelican.log import log_warnings 5 | 6 | # redirect warnings modulole to use logging instead 7 | log_warnings() 8 | 9 | # setup warnings to log DeprecationWarning's and error on 10 | # warnings in pelican's codebase 11 | warnings.simplefilter("default", DeprecationWarning) 12 | warnings.filterwarnings("error", ".*", Warning, "pelican") 13 | 14 | # Add a NullHandler to silence warning about no available handlers 15 | logging.getLogger().addHandler(logging.NullHandler()) 16 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_metadata.rst: -------------------------------------------------------------------------------- 1 | 2 | This is a super article ! 3 | ######################### 4 | 5 | :tags: foo, bar, foobar 6 | :date: 2010-12-02 10:14 7 | :modified: 2010-12-02 10:20 8 | :category: yeah 9 | :author: Alexis Métaireau 10 | :summary: 11 | Multi-line metadata should be supported 12 | as well as **inline markup** and stuff to "typogrify"... 13 | :custom_field: http://notmyidea.org 14 | :custom_formatted_field: 15 | Multi-line metadata should also be supported 16 | as well as *inline markup* and stuff to "typogrify"... 17 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/fonts/font.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Yanone Kaffeesatz'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: 6 | local('Yanone Kaffeesatz Regular'), 7 | local('YanoneKaffeesatz-Regular'), 8 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLRTHiN2BPBirwIkMLKUspj4.woff */ 9 | url('Yanone_Kaffeesatz_400.woff') format('woff'), 10 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLfGwxTS8d1Q9KiDNCMKLFUM.woff2 */ 11 | url('Yanone_Kaffeesatz_400.woff2') format('woff2'); 12 | } 13 | -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/fonts/font.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Yanone Kaffeesatz'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: 6 | local('Yanone Kaffeesatz Regular'), 7 | local('YanoneKaffeesatz-Regular'), 8 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLRTHiN2BPBirwIkMLKUspj4.woff */ 9 | url('Yanone_Kaffeesatz_400.woff') format('woff'), 10 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLfGwxTS8d1Q9KiDNCMKLFUM.woff2 */ 11 | url('Yanone_Kaffeesatz_400.woff2') format('woff2'); 12 | } 13 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/fonts/font.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Yanone Kaffeesatz'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: 6 | local('Yanone Kaffeesatz Regular'), 7 | local('YanoneKaffeesatz-Regular'), 8 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLRTHiN2BPBirwIkMLKUspj4.woff */ 9 | url('Yanone_Kaffeesatz_400.woff') format('woff'), 10 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLfGwxTS8d1Q9KiDNCMKLFUM.woff2 */ 11 | url('Yanone_Kaffeesatz_400.woff2') format('woff2'); 12 | } 13 | -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/fonts/font.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Yanone Kaffeesatz'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: 6 | local('Yanone Kaffeesatz Regular'), 7 | local('YanoneKaffeesatz-Regular'), 8 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLRTHiN2BPBirwIkMLKUspj4.woff */ 9 | url('Yanone_Kaffeesatz_400.woff') format('woff'), 10 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLfGwxTS8d1Q9KiDNCMKLFUM.woff2 */ 11 | url('Yanone_Kaffeesatz_400.woff2') format('woff2'); 12 | } 13 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/css/fonts.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Yanone Kaffeesatz'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: 6 | local('Yanone Kaffeesatz Regular'), 7 | local('YanoneKaffeesatz-Regular'), 8 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLRTHiN2BPBirwIkMLKUspj4.woff */ 9 | url('../fonts/Yanone_Kaffeesatz_400.woff') format('woff'), 10 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLfGwxTS8d1Q9KiDNCMKLFUM.woff2 */ 11 | url('../fonts/Yanone_Kaffeesatz_400.woff2') format('woff2'); 12 | } 13 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/css/fonts.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Yanone Kaffeesatz'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: 6 | local('Yanone Kaffeesatz Regular'), 7 | local('YanoneKaffeesatz-Regular'), 8 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLRTHiN2BPBirwIkMLKUspj4.woff */ 9 | url('../fonts/Yanone_Kaffeesatz_400.woff') format('woff'), 10 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLfGwxTS8d1Q9KiDNCMKLFUM.woff2 */ 11 | url('../fonts/Yanone_Kaffeesatz_400.woff2') format('woff2'); 12 | } 13 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: python 2 | python: 3 | - "3.5" 4 | env: 5 | - TOX_ENV=docs 6 | - TOX_ENV=flake8 7 | - TOX_ENV=py27 8 | - TOX_ENV=py34 9 | - TOX_ENV=py35 10 | matrix: 11 | include: 12 | - python: 3.6 13 | env: 14 | - TOX_ENV=py36 15 | addons: 16 | apt_packages: 17 | - pandoc 18 | before_install: 19 | - sudo apt-get update -qq 20 | - sudo locale-gen fr_FR.UTF-8 tr_TR.UTF-8 21 | install: 22 | - pip install tox==2.5.0 23 | script: tox -e $TOX_ENV 24 | notifications: 25 | irc: 26 | channels: 27 | - "irc.freenode.org#pelican" 28 | on_success: change 29 | -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/css/fonts.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Yanone Kaffeesatz'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: 6 | local('Yanone Kaffeesatz Regular'), 7 | local('YanoneKaffeesatz-Regular'), 8 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLRTHiN2BPBirwIkMLKUspj4.woff */ 9 | url('../fonts/Yanone_Kaffeesatz_400.woff') format('woff'), 10 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLfGwxTS8d1Q9KiDNCMKLFUM.woff2 */ 11 | url('../fonts/Yanone_Kaffeesatz_400.woff2') format('woff2'); 12 | } 13 | -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/css/fonts.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Yanone Kaffeesatz'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: 6 | local('Yanone Kaffeesatz Regular'), 7 | local('YanoneKaffeesatz-Regular'), 8 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLRTHiN2BPBirwIkMLKUspj4.woff */ 9 | url('../fonts/Yanone_Kaffeesatz_400.woff') format('woff'), 10 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLfGwxTS8d1Q9KiDNCMKLFUM.woff2 */ 11 | url('../fonts/Yanone_Kaffeesatz_400.woff2') format('woff2'); 12 | } 13 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_metadata.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | This is a super article ! 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Multi-line metadata should be supported 13 | as well as inline markup. 14 | 15 | 16 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_metadata_and_contents.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | This is a super article ! 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Multi-line metadata should be supported 13 | as well as inline markup. 14 | 15 | 16 | -------------------------------------------------------------------------------- /pelican/tests/content/article_with_markdown_and_footnote.md: -------------------------------------------------------------------------------- 1 | Title: Article with markdown containing footnotes 2 | Date: 2012-10-31 3 | Modified: 2012-11-01 4 | Summary: Summary with **inline** markup *should* be supported. 5 | Multiline: Line Metadata should be handle properly. 6 | See syntax of Meta-Data extension of Python Markdown package: 7 | If a line is indented by 4 or more spaces, 8 | that line is assumed to be an additional line of the value 9 | for the previous keyword. 10 | A keyword may have as many lines as desired. 11 | 12 | This is some content[^1] with some footnotes[^footnote] 13 | 14 | [^1]: Numbered footnote 15 | [^footnote]: Named footnote 16 | -------------------------------------------------------------------------------- /pelican/themes/simple/templates/gosquared.html: -------------------------------------------------------------------------------- 1 | {% if GOSQUARED_SITENAME %} 2 | 14 | {% endif %} 15 | -------------------------------------------------------------------------------- /pelican/tools/templates/publishconf.py.jinja2: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- # 3 | from __future__ import unicode_literals 4 | 5 | # This file is only used if you use `make publish` or 6 | # explicitly specify it as your config file. 7 | 8 | import os 9 | import sys 10 | sys.path.append(os.curdir) 11 | from pelicanconf import * 12 | 13 | # If your site is available via HTTPS, make sure SITEURL begins with https:// 14 | SITEURL = '{{siteurl}}' 15 | RELATIVE_URLS = False 16 | 17 | FEED_ALL_ATOM = 'feeds/all.atom.xml' 18 | CATEGORY_FEED_ATOM = 'feeds/%s.atom.xml' 19 | 20 | DELETE_OUTPUT_DIRECTORY = True 21 | 22 | # Following items are often useful when publishing 23 | 24 | #DISQUS_SITENAME = "" 25 | #GOOGLE_ANALYTICS = "" 26 | -------------------------------------------------------------------------------- /bumpr.rc: -------------------------------------------------------------------------------- 1 | [bumpr] 2 | file = pelican/__init__.py 3 | vcs = git 4 | clean = 5 | python setup.py clean 6 | rm -rf *egg-info build dist 7 | tests = python -m unittest discover 8 | publish = python setup.py sdist bdist_wheel register upload 9 | files = 10 | README.rst 11 | setup.py 12 | 13 | [bump] 14 | unsuffix = true 15 | message = Bump version {version} 16 | 17 | [prepare] 18 | part = patch 19 | suffix = dev 20 | message = Prepare version {version} for next development cycle 21 | 22 | [changelog] 23 | file = docs/changelog.rst 24 | separator = = 25 | bump = {version} ({date:%Y-%m-%d}) 26 | prepare = Next release 27 | 28 | [readthedoc] 29 | url = http://docs.getpelican.com/{tag} 30 | 31 | [commands] 32 | bump = sed -i "" "s/last_stable[[:space:]]*=.*/last_stable = '{version}'/" docs/conf.py 33 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/feeds/all-fr.atom.xml: -------------------------------------------------------------------------------- 1 | 2 | A Pelican Blog/2012-02-29T00:00:00+00:00Deuxième article2012-02-29T00:00:00+00:002012-02-29T00:00:00+00:00tag:None,2012-02-29:/second-article-fr.html<p>Ceci est un article, en français.</p> 3 | <p>Ceci est un article, en français.</p> 4 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/css/wide.css: -------------------------------------------------------------------------------- 1 | @import url("main.css"); 2 | 3 | body { 4 | font:1.3em/1.3 "Hoefler Text","Georgia",Georgia,serif,sans-serif; 5 | } 6 | 7 | .post-info{ 8 | display: none; 9 | } 10 | 11 | #banner nav { 12 | display: none; 13 | -moz-border-radius: 0px; 14 | margin-bottom: 20px; 15 | overflow: hidden; 16 | font-size: 1em; 17 | background: #F5F4EF; 18 | } 19 | 20 | #banner nav ul{ 21 | padding-right: 50px; 22 | } 23 | 24 | #banner nav li{ 25 | float: right; 26 | color: #000; 27 | } 28 | 29 | #banner nav li a { 30 | color: #000; 31 | } 32 | 33 | #banner h1 { 34 | margin-bottom: -18px; 35 | } 36 | 37 | #featured, #extras { 38 | padding: 50px; 39 | } 40 | 41 | #featured { 42 | padding-top: 20px; 43 | } 44 | 45 | #extras { 46 | padding-top: 0px; 47 | padding-bottom: 0px; 48 | } 49 | -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/css/wide.css: -------------------------------------------------------------------------------- 1 | @import url("main.css"); 2 | 3 | body { 4 | font:1.3em/1.3 "Hoefler Text","Georgia",Georgia,serif,sans-serif; 5 | } 6 | 7 | .post-info{ 8 | display: none; 9 | } 10 | 11 | #banner nav { 12 | display: none; 13 | -moz-border-radius: 0px; 14 | margin-bottom: 20px; 15 | overflow: hidden; 16 | font-size: 1em; 17 | background: #F5F4EF; 18 | } 19 | 20 | #banner nav ul{ 21 | padding-right: 50px; 22 | } 23 | 24 | #banner nav li{ 25 | float: right; 26 | color: #000; 27 | } 28 | 29 | #banner nav li a { 30 | color: #000; 31 | } 32 | 33 | #banner h1 { 34 | margin-bottom: -18px; 35 | } 36 | 37 | #featured, #extras { 38 | padding: 50px; 39 | } 40 | 41 | #featured { 42 | padding-top: 20px; 43 | } 44 | 45 | #extras { 46 | padding-top: 0px; 47 | padding-bottom: 0px; 48 | } 49 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/css/wide.css: -------------------------------------------------------------------------------- 1 | @import url("main.css"); 2 | 3 | body { 4 | font:1.3em/1.3 "Hoefler Text","Georgia",Georgia,serif,sans-serif; 5 | } 6 | 7 | .post-info{ 8 | display: none; 9 | } 10 | 11 | #banner nav { 12 | display: none; 13 | -moz-border-radius: 0px; 14 | margin-bottom: 20px; 15 | overflow: hidden; 16 | font-size: 1em; 17 | background: #F5F4EF; 18 | } 19 | 20 | #banner nav ul{ 21 | padding-right: 50px; 22 | } 23 | 24 | #banner nav li{ 25 | float: right; 26 | color: #000; 27 | } 28 | 29 | #banner nav li a { 30 | color: #000; 31 | } 32 | 33 | #banner h1 { 34 | margin-bottom: -18px; 35 | } 36 | 37 | #featured, #extras { 38 | padding: 50px; 39 | } 40 | 41 | #featured { 42 | padding-top: 20px; 43 | } 44 | 45 | #extras { 46 | padding-top: 0px; 47 | padding-bottom: 0px; 48 | } 49 | -------------------------------------------------------------------------------- /pelican/tests/output/custom/feeds/yeah.rss.xml: -------------------------------------------------------------------------------- 1 | 2 | Alexis' log - yeahhttp://blog.notmyidea.org/A personal blog.Sun, 17 Nov 2013 23:29:00 +0100This is a super article !http://blog.notmyidea.org/this-is-a-super-article.html<p class="first last">Multi-line metadata should be supported 3 | as well as <strong>inline markup</strong>.</p> 4 | Alexis MétaireauThu, 02 Dec 2010 10:14:00 +0100tag:blog.notmyidea.org,2010-12-02:/this-is-a-super-article.htmlfoobarfoobar -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/css/wide.css: -------------------------------------------------------------------------------- 1 | @import url("main.css"); 2 | 3 | body { 4 | font:1.3em/1.3 "Hoefler Text","Georgia",Georgia,serif,sans-serif; 5 | } 6 | 7 | .post-info{ 8 | display: none; 9 | } 10 | 11 | #banner nav { 12 | display: none; 13 | -moz-border-radius: 0px; 14 | margin-bottom: 20px; 15 | overflow: hidden; 16 | font-size: 1em; 17 | background: #F5F4EF; 18 | } 19 | 20 | #banner nav ul{ 21 | padding-right: 50px; 22 | } 23 | 24 | #banner nav li{ 25 | float: right; 26 | color: #000; 27 | } 28 | 29 | #banner nav li a { 30 | color: #000; 31 | } 32 | 33 | #banner h1 { 34 | margin-bottom: -18px; 35 | } 36 | 37 | #featured, #extras { 38 | padding: 50px; 39 | } 40 | 41 | #featured { 42 | padding-top: 20px; 43 | } 44 | 45 | #extras { 46 | padding-top: 0px; 47 | padding-bottom: 0px; 48 | } 49 | -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/feeds/yeah.rss.xml: -------------------------------------------------------------------------------- 1 | 2 | Alexis' log - yeahhttp://blog.notmyidea.org/Sun, 17 Nov 2013 23:29:00 +0100This is a super article !http://blog.notmyidea.org/posts/2010/d%C3%A9cembre/02/this-is-a-super-article/<p class="first last">Multi-line metadata should be supported 3 | as well as <strong>inline markup</strong>.</p> 4 | Alexis MétaireauThu, 02 Dec 2010 10:14:00 +0100tag:blog.notmyidea.org,2010-12-02:/posts/2010/décembre/02/this-is-a-super-article/foobarfoobar -------------------------------------------------------------------------------- /samples/content/super_article.rst: -------------------------------------------------------------------------------- 1 | This is a super article ! 2 | ######################### 3 | 4 | :tags: foo, bar, foobar 5 | :date: 2010-12-02 10:14 6 | :modified: 2013-11-17 23:29 7 | :category: yeah 8 | :author: Alexis Métaireau 9 | :summary: 10 | Multi-line metadata should be supported 11 | as well as **inline markup**. 12 | 13 | Some content here ! 14 | 15 | This is a simple title 16 | ====================== 17 | 18 | And here comes the cool stuff_. 19 | 20 | .. image:: |filename|/pictures/Sushi.jpg 21 | :height: 450 px 22 | :width: 600 px 23 | :alt: alternate text 24 | 25 | .. image:: |filename|/pictures/Sushi_Macro.jpg 26 | :height: 450 px 27 | :width: 600 px 28 | :alt: alternate text 29 | 30 | :: 31 | 32 | >>> from ipdb import set_trace 33 | >>> set_trace() 34 | 35 | → And now try with some utf8 hell: ééé 36 | 37 | .. _stuff: http://books.couchdb.org/relax/design-documents/views 38 | -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- 1 | [tox] 2 | envlist = py{27,34,35,36},docs,flake8 3 | 4 | [testenv] 5 | basepython = 6 | py27: python2.7 7 | py34: python3.4 8 | py35: python3.5 9 | py36: python3.6 10 | passenv = * 11 | usedevelop=True 12 | deps = 13 | -rrequirements/test.pip 14 | nose 15 | nose-cov 16 | coveralls 17 | pygments==2.1.3 18 | 19 | commands = 20 | {envpython} --version 21 | nosetests -sv --with-coverage --cover-package=pelican pelican 22 | - coveralls 23 | 24 | [testenv:docs] 25 | basepython = python2.7 26 | deps = 27 | -rrequirements/docs.pip 28 | changedir = docs 29 | commands = 30 | sphinx-build -W -b html -d {envtmpdir}/doctrees . _build/html 31 | 32 | [flake8] 33 | application-import-names = pelican 34 | import-order-style = cryptography 35 | 36 | [testenv:flake8] 37 | basepython = python2.7 38 | deps = 39 | -rrequirements/style.pip 40 | commands = 41 | flake8 --version 42 | flake8 pelican 43 | -------------------------------------------------------------------------------- /pelican/tests/output/custom/feeds/bar.rss.xml: -------------------------------------------------------------------------------- 1 | 2 | Alexis' log - barhttp://blog.notmyidea.org/A personal blog.Wed, 20 Oct 2010 10:14:00 +0200Oh yeah !http://blog.notmyidea.org/oh-yeah.html<div class="section" id="why-not"> 3 | <h2>Why not ?</h2> 4 | <p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst ! 5 | YEAH !</p> 6 | <img alt="alternate text" src="http://blog.notmyidea.org/pictures/Sushi.jpg" style="width: 600px; height: 450px;" /> 7 | </div> 8 | Alexis MétaireauWed, 20 Oct 2010 10:14:00 +0200tag:blog.notmyidea.org,2010-10-20:/oh-yeah.htmlohbaryeah -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/feeds/bar.rss.xml: -------------------------------------------------------------------------------- 1 | 2 | Alexis' log - barhttp://blog.notmyidea.org/Wed, 20 Oct 2010 10:14:00 +0200Oh yeah !http://blog.notmyidea.org/posts/2010/octobre/20/oh-yeah/<div class="section" id="why-not"> 3 | <h2>Why not ?</h2> 4 | <p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst ! 5 | YEAH !</p> 6 | <img alt="alternate text" src="http://blog.notmyidea.org/pictures/Sushi.jpg" style="width: 600px; height: 450px;" /> 7 | </div> 8 | Alexis MétaireauWed, 20 Oct 2010 10:14:00 +0200tag:blog.notmyidea.org,2010-10-20:/posts/2010/octobre/20/oh-yeah/ohbaryeah -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/article_infos.html: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /pelican/tools/templates/pelicanconf.py.jinja2: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- # 3 | from __future__ import unicode_literals 4 | 5 | AUTHOR = {{author}} 6 | SITENAME = {{sitename}} 7 | SITEURL = '' 8 | 9 | PATH = 'content' 10 | 11 | TIMEZONE = {{timezone}} 12 | 13 | DEFAULT_LANG = {{lang}} 14 | 15 | # Feed generation is usually not desired when developing 16 | FEED_ALL_ATOM = None 17 | CATEGORY_FEED_ATOM = None 18 | TRANSLATION_FEED_ATOM = None 19 | AUTHOR_FEED_ATOM = None 20 | AUTHOR_FEED_RSS = None 21 | 22 | # Blogroll 23 | LINKS = (('Pelican', 'http://getpelican.com/'), 24 | ('Python.org', 'http://python.org/'), 25 | ('Jinja2', 'http://jinja.pocoo.org/'), 26 | ('You can modify those links in your config file', '#'),) 27 | 28 | # Social widget 29 | SOCIAL = (('You can add links in your config file', '#'), 30 | ('Another social link', '#'),) 31 | 32 | DEFAULT_PAGINATION = {{default_pagination}} 33 | 34 | # Uncomment following line if you want document-relative URLs when developing 35 | #RELATIVE_URLS = True 36 | -------------------------------------------------------------------------------- /.mailmap: -------------------------------------------------------------------------------- 1 | Alexis Métaireau 2 | Alexis Métaireau 3 | Alexis Métaireau 4 | Axel Haustant 5 | Axel Haustant 6 | Dave Mankoff 7 | Feth Arezki 8 | Guillaume 9 | Guillaume 10 | Guillaume B 11 | Guillermo López 12 | Guillermo López 13 | Jomel Imperio 14 | Justin Mayer 15 | Justin Mayer 16 | Marco Milanesi 17 | Massimo Santini 18 | Rémy HUBSCHER 19 | Simon Conseil 20 | Simon Liedtke 21 | Skami18 22 | Stuart Colville 23 | Stéphane Bunel 24 | tBunnyMan 25 | -------------------------------------------------------------------------------- /pelican/themes/simple/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 |
    4 | {% block content_title %} 5 |

    All articles

    6 | {% endblock %} 7 | 8 |
      9 | {% for article in articles_page.object_list %} 10 |
    1. 11 |

      {{ article.title }}

      12 |
      13 | 14 |
      By 15 | {% for author in article.authors %} 16 | {{ author }} 17 | {% endfor %} 18 |
      19 |
      20 |
      {{ article.summary }}
      21 |
    2. 22 | {% endfor %} 23 |
    24 | {% if articles_page.has_other_pages() %} 25 | {% include 'pagination.html' %} 26 | {% endif %} 27 |
    28 | {% endblock content %} 29 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/theme/css/reset.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Reset Stylesheet 3 | Description: Resets browser's default CSS 4 | Author: Eric Meyer 5 | Author URI: http://meyerweb.com/eric/tools/css/reset/ 6 | */ 7 | 8 | /* v1.0 | 20080212 */ 9 | html, body, div, span, applet, object, iframe, 10 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 11 | a, abbr, acronym, address, big, cite, code, 12 | del, dfn, em, font, img, ins, kbd, q, s, samp, 13 | small, strike, strong, sub, sup, tt, var, 14 | b, u, i, center, 15 | dl, dt, dd, ol, ul, li, 16 | fieldset, form, label, legend, 17 | table, caption, tbody, tfoot, thead, tr, th, td { 18 | background: transparent; 19 | border: 0; 20 | font-size: 100%; 21 | margin: 0; 22 | outline: 0; 23 | padding: 0; 24 | vertical-align: baseline; 25 | } 26 | 27 | body {line-height: 1;} 28 | 29 | ol, ul {list-style: none;} 30 | 31 | blockquote, q {quotes: none;} 32 | 33 | blockquote:before, blockquote:after, 34 | q:before, q:after { 35 | content: ''; 36 | content: none; 37 | } 38 | 39 | /* remember to define focus styles! */ 40 | :focus { 41 | outline: 0; 42 | } 43 | 44 | /* remember to highlight inserts somehow! */ 45 | ins {text-decoration: none;} 46 | del {text-decoration: line-through;} 47 | 48 | /* tables still need 'cellspacing="0"' in the markup */ 49 | table { 50 | border-collapse: collapse; 51 | border-spacing: 0; 52 | } -------------------------------------------------------------------------------- /pelican/tests/output/custom/theme/css/reset.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Reset Stylesheet 3 | Description: Resets browser's default CSS 4 | Author: Eric Meyer 5 | Author URI: http://meyerweb.com/eric/tools/css/reset/ 6 | */ 7 | 8 | /* v1.0 | 20080212 */ 9 | html, body, div, span, applet, object, iframe, 10 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 11 | a, abbr, acronym, address, big, cite, code, 12 | del, dfn, em, font, img, ins, kbd, q, s, samp, 13 | small, strike, strong, sub, sup, tt, var, 14 | b, u, i, center, 15 | dl, dt, dd, ol, ul, li, 16 | fieldset, form, label, legend, 17 | table, caption, tbody, tfoot, thead, tr, th, td { 18 | background: transparent; 19 | border: 0; 20 | font-size: 100%; 21 | margin: 0; 22 | outline: 0; 23 | padding: 0; 24 | vertical-align: baseline; 25 | } 26 | 27 | body {line-height: 1;} 28 | 29 | ol, ul {list-style: none;} 30 | 31 | blockquote, q {quotes: none;} 32 | 33 | blockquote:before, blockquote:after, 34 | q:before, q:after { 35 | content: ''; 36 | content: none; 37 | } 38 | 39 | /* remember to define focus styles! */ 40 | :focus { 41 | outline: 0; 42 | } 43 | 44 | /* remember to highlight inserts somehow! */ 45 | ins {text-decoration: none;} 46 | del {text-decoration: line-through;} 47 | 48 | /* tables still need 'cellspacing="0"' in the markup */ 49 | table { 50 | border-collapse: collapse; 51 | border-spacing: 0; 52 | } -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/css/reset.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Reset Stylesheet 3 | Description: Resets browser's default CSS 4 | Author: Eric Meyer 5 | Author URI: http://meyerweb.com/eric/tools/css/reset/ 6 | */ 7 | 8 | /* v1.0 | 20080212 */ 9 | html, body, div, span, applet, object, iframe, 10 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 11 | a, abbr, acronym, address, big, cite, code, 12 | del, dfn, em, font, img, ins, kbd, q, s, samp, 13 | small, strike, strong, sub, sup, tt, var, 14 | b, u, i, center, 15 | dl, dt, dd, ol, ul, li, 16 | fieldset, form, label, legend, 17 | table, caption, tbody, tfoot, thead, tr, th, td { 18 | background: transparent; 19 | border: 0; 20 | font-size: 100%; 21 | margin: 0; 22 | outline: 0; 23 | padding: 0; 24 | vertical-align: baseline; 25 | } 26 | 27 | body {line-height: 1;} 28 | 29 | ol, ul {list-style: none;} 30 | 31 | blockquote, q {quotes: none;} 32 | 33 | blockquote:before, blockquote:after, 34 | q:before, q:after { 35 | content: ''; 36 | content: none; 37 | } 38 | 39 | /* remember to define focus styles! */ 40 | :focus { 41 | outline: 0; 42 | } 43 | 44 | /* remember to highlight inserts somehow! */ 45 | ins {text-decoration: none;} 46 | del {text-decoration: line-through;} 47 | 48 | /* tables still need 'cellspacing="0"' in the markup */ 49 | table { 50 | border-collapse: collapse; 51 | border-spacing: 0; 52 | } -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/theme/css/reset.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Reset Stylesheet 3 | Description: Resets browser's default CSS 4 | Author: Eric Meyer 5 | Author URI: http://meyerweb.com/eric/tools/css/reset/ 6 | */ 7 | 8 | /* v1.0 | 20080212 */ 9 | html, body, div, span, applet, object, iframe, 10 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 11 | a, abbr, acronym, address, big, cite, code, 12 | del, dfn, em, font, img, ins, kbd, q, s, samp, 13 | small, strike, strong, sub, sup, tt, var, 14 | b, u, i, center, 15 | dl, dt, dd, ol, ul, li, 16 | fieldset, form, label, legend, 17 | table, caption, tbody, tfoot, thead, tr, th, td { 18 | background: transparent; 19 | border: 0; 20 | font-size: 100%; 21 | margin: 0; 22 | outline: 0; 23 | padding: 0; 24 | vertical-align: baseline; 25 | } 26 | 27 | body {line-height: 1;} 28 | 29 | ol, ul {list-style: none;} 30 | 31 | blockquote, q {quotes: none;} 32 | 33 | blockquote:before, blockquote:after, 34 | q:before, q:after { 35 | content: ''; 36 | content: none; 37 | } 38 | 39 | /* remember to define focus styles! */ 40 | :focus { 41 | outline: 0; 42 | } 43 | 44 | /* remember to highlight inserts somehow! */ 45 | ins {text-decoration: none;} 46 | del {text-decoration: line-through;} 47 | 48 | /* tables still need 'cellspacing="0"' in the markup */ 49 | table { 50 | border-collapse: collapse; 51 | border-spacing: 0; 52 | } -------------------------------------------------------------------------------- /pelican/tests/output/basic/feeds/bar.atom.xml: -------------------------------------------------------------------------------- 1 | 2 | A Pelican Blog - bar/2010-10-20T10:14:00+00:00Oh yeah !2010-10-20T10:14:00+00:002010-10-20T10:14:00+00:00Alexis Métaireautag:None,2010-10-20:/oh-yeah.html<div class="section" id="why-not"> 3 | <h2>Why not ?</h2> 4 | <p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst ! 5 | YEAH !</p> 6 | <img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" /> 7 | </div> 8 | <div class="section" id="why-not"> 9 | <h2>Why not ?</h2> 10 | <p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst ! 11 | YEAH !</p> 12 | <img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" /> 13 | </div> 14 | -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/feeds/all-fr.atom.xml: -------------------------------------------------------------------------------- 1 | 2 | Alexis' loghttp://blog.notmyidea.org/2012-03-02T14:01:01+01:00Trop bien !2012-03-02T14:01:01+01:002012-03-02T14:01:01+01:00Alexis Métaireautag:blog.notmyidea.org,2012-03-02:/oh-yeah-fr.html<p>Et voila du contenu en français</p> 3 | <p>Et voila du contenu en français</p> 4 | Deuxième article2012-02-29T00:00:00+01:002012-02-29T00:00:00+01:00Alexis Métaireautag:blog.notmyidea.org,2012-02-29:/second-article-fr.html<p>Ceci est un article, en français.</p> 5 | <p>Ceci est un article, en français.</p> 6 | -------------------------------------------------------------------------------- /pelican/tests/output/custom/feeds/all-fr.atom.xml: -------------------------------------------------------------------------------- 1 | 2 | Alexis' loghttp://blog.notmyidea.org/2012-03-02T14:01:01+01:00A personal blog.Trop bien !2012-03-02T14:01:01+01:002012-03-02T14:01:01+01:00Alexis Métaireautag:blog.notmyidea.org,2012-03-02:/oh-yeah-fr.html<p>Et voila du contenu en français</p> 3 | <p>Et voila du contenu en français</p> 4 | Deuxième article2012-02-29T00:00:00+01:002012-02-29T00:00:00+01:00Alexis Métaireautag:blog.notmyidea.org,2012-02-29:/second-article-fr.html<p>Ceci est un article, en français.</p> 5 | <p>Ceci est un article, en français.</p> 6 | -------------------------------------------------------------------------------- /pelican/tests/test_rstdirectives.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import print_function, unicode_literals 3 | 4 | from pelican.tests.support import unittest 5 | 6 | try: 7 | from unittest.mock import Mock 8 | except ImportError: 9 | try: 10 | from mock import Mock 11 | except ImportError: 12 | Mock = False 13 | 14 | 15 | @unittest.skipUnless(Mock, 'Needs Mock module') 16 | class Test_abbr_role(unittest.TestCase): 17 | def call_it(self, text): 18 | from pelican.rstdirectives import abbr_role 19 | rawtext = text 20 | lineno = 42 21 | inliner = Mock(name='inliner') 22 | nodes, system_messages = abbr_role( 23 | 'abbr', rawtext, text, lineno, inliner) 24 | self.assertEqual(system_messages, []) 25 | self.assertEqual(len(nodes), 1) 26 | return nodes[0] 27 | 28 | def test(self): 29 | node = self.call_it("Abbr (Abbreviation)") 30 | self.assertEqual(node.astext(), "Abbr") 31 | self.assertEqual(node['explanation'], "Abbreviation") 32 | 33 | def test_newlines_in_explanation(self): 34 | node = self.call_it("CUL (See you\nlater)") 35 | self.assertEqual(node.astext(), "CUL") 36 | self.assertEqual(node['explanation'], "See you\nlater") 37 | 38 | def test_newlines_in_abbr(self): 39 | node = self.call_it("US of\nA \n (USA)") 40 | self.assertEqual(node.astext(), "US of\nA") 41 | self.assertEqual(node['explanation'], "USA") 42 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/feeds/alexis-metaireau.rss.xml: -------------------------------------------------------------------------------- 1 | 2 | A Pelican Blog - Alexis Métaireau/Sun, 17 Nov 2013 23:29:00 +0000This is a super article !/this-is-a-super-article.html<p class="first last">Multi-line metadata should be supported 3 | as well as <strong>inline markup</strong>.</p> 4 | Alexis MétaireauThu, 02 Dec 2010 10:14:00 +0000tag:None,2010-12-02:/this-is-a-super-article.htmlfoobarfoobarOh yeah !/oh-yeah.html<div class="section" id="why-not"> 5 | <h2>Why not ?</h2> 6 | <p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst ! 7 | YEAH !</p> 8 | <img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" /> 9 | </div> 10 | Alexis MétaireauWed, 20 Oct 2010 10:14:00 +0000tag:None,2010-10-20:/oh-yeah.htmlohbaryeah -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/article.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %}{{ article.title|striptags }}{% endblock %} 3 | {% block content %} 4 |
    5 |
    6 |
    7 |

    8 | {{ article.title }}

    10 | {% include 'twitter.html' %} 11 |
    12 | 13 |
    14 | {% include 'article_infos.html' %} 15 | {{ article.content }} 16 |
    17 | {% if DISQUS_SITENAME and SITEURL and article.status != "draft" %} 18 |
    19 |

    Comments !

    20 |
    21 | 31 | 32 |
    33 | {% endif %} 34 | 35 |
    36 |
    37 | {% endblock %} 38 | -------------------------------------------------------------------------------- /pelican/themes/simple/templates/article.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block head %} 3 | {{ super() }} 4 | {% if article.description %} 5 | 6 | {% endif %} 7 | 8 | {% for tag in article.tags %} 9 | 10 | {% endfor %} 11 | 12 | {% endblock %} 13 | 14 | {% block content %} 15 |
    16 |
    17 |

    18 | {{ article.title }}

    20 | {% import 'translations.html' as translations with context %} 21 | {{ translations.translations_for(article) }} 22 |
    23 |
    24 | 27 | {% if article.modified %} 28 | 31 | {% endif %} 32 | {% if article.authors %} 33 |
    34 | By {% for author in article.authors %} 35 | {{ author }} 36 | {% endfor %} 37 |
    38 | {% endif %} 39 |
    40 |
    41 | {{ article.content }} 42 |
    43 |
    44 | {% endblock %} 45 | -------------------------------------------------------------------------------- /pelican/tests/default_conf.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import print_function, unicode_literals 3 | AUTHOR = 'Alexis Métaireau' 4 | SITENAME = "Alexis' log" 5 | SITEURL = 'http://blog.notmyidea.org' 6 | TIMEZONE = 'UTC' 7 | 8 | GITHUB_URL = 'http://github.com/ametaireau/' 9 | DISQUS_SITENAME = "blog-notmyidea" 10 | PDF_GENERATOR = False 11 | REVERSE_CATEGORY_ORDER = True 12 | DEFAULT_PAGINATION = 2 13 | 14 | FEED_RSS = 'feeds/all.rss.xml' 15 | CATEGORY_FEED_RSS = 'feeds/%s.rss.xml' 16 | 17 | LINKS = (('Biologeek', 'http://biologeek.org'), 18 | ('Filyb', "http://filyb.info/"), 19 | ('Libert-fr', "http://www.libert-fr.com"), 20 | ('N1k0', "http://prendreuncafe.com/blog/"), 21 | ('Tarek Ziadé', "http://ziade.org/blog"), 22 | ('Zubin Mithra', "http://zubin71.wordpress.com/"),) 23 | 24 | SOCIAL = (('twitter', 'http://twitter.com/ametaireau'), 25 | ('lastfm', 'http://lastfm.com/user/akounet'), 26 | ('github', 'http://github.com/ametaireau'),) 27 | 28 | # global metadata to all the contents 29 | DEFAULT_METADATA = {'yeah': 'it is'} 30 | 31 | # path-specific metadata 32 | EXTRA_PATH_METADATA = { 33 | 'extra/robots.txt': {'path': 'robots.txt'}, 34 | } 35 | 36 | # static paths will be copied without parsing their contents 37 | STATIC_PATHS = [ 38 | 'pictures', 39 | 'extra/robots.txt', 40 | ] 41 | 42 | FORMATTED_FIELDS = ['summary', 'custom_formatted_field'] 43 | 44 | # foobar will not be used, because it's not in caps. All configuration keys 45 | # have to be in caps 46 | foobar = "barbaz" 47 | -------------------------------------------------------------------------------- /pelican/tests/output/custom/feeds/bar.atom.xml: -------------------------------------------------------------------------------- 1 | 2 | Alexis' log - barhttp://blog.notmyidea.org/2010-10-20T10:14:00+02:00A personal blog.Oh yeah !2010-10-20T10:14:00+02:002010-10-20T10:14:00+02:00Alexis Métaireautag:blog.notmyidea.org,2010-10-20:/oh-yeah.html<div class="section" id="why-not"> 3 | <h2>Why not ?</h2> 4 | <p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst ! 5 | YEAH !</p> 6 | <img alt="alternate text" src="http://blog.notmyidea.org/pictures/Sushi.jpg" style="width: 600px; height: 450px;" /> 7 | </div> 8 | <div class="section" id="why-not"> 9 | <h2>Why not ?</h2> 10 | <p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst ! 11 | YEAH !</p> 12 | <img alt="alternate text" src="http://blog.notmyidea.org/pictures/Sushi.jpg" style="width: 600px; height: 450px;" /> 13 | </div> 14 | -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/feeds/bar.atom.xml: -------------------------------------------------------------------------------- 1 | 2 | Alexis' log - barhttp://blog.notmyidea.org/2010-10-20T10:14:00+02:00Oh yeah !2010-10-20T10:14:00+02:002010-10-20T10:14:00+02:00Alexis Métaireautag:blog.notmyidea.org,2010-10-20:/posts/2010/octobre/20/oh-yeah/<div class="section" id="why-not"> 3 | <h2>Why not ?</h2> 4 | <p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst ! 5 | YEAH !</p> 6 | <img alt="alternate text" src="http://blog.notmyidea.org/pictures/Sushi.jpg" style="width: 600px; height: 450px;" /> 7 | </div> 8 | <div class="section" id="why-not"> 9 | <h2>Why not ?</h2> 10 | <p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst ! 11 | YEAH !</p> 12 | <img alt="alternate text" src="http://blog.notmyidea.org/pictures/Sushi.jpg" style="width: 600px; height: 450px;" /> 13 | </div> 14 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/feeds/yeah.atom.xml: -------------------------------------------------------------------------------- 1 | 2 | A Pelican Blog - yeah/2013-11-17T23:29:00+00:00This is a super article !2010-12-02T10:14:00+00:002013-11-17T23:29:00+00:00Alexis Métaireautag:None,2010-12-02:/this-is-a-super-article.html<p class="first last">Multi-line metadata should be supported 3 | as well as <strong>inline markup</strong>.</p> 4 | <p>Some content here !</p> 5 | <div class="section" id="this-is-a-simple-title"> 6 | <h2>This is a simple title</h2> 7 | <p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p> 8 | <img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" /> 9 | <img alt="alternate text" src="|filename|/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" /> 10 | <pre class="literal-block"> 11 | &gt;&gt;&gt; from ipdb import set_trace 12 | &gt;&gt;&gt; set_trace() 13 | </pre> 14 | <p>→ And now try with some utf8 hell: ééé</p> 15 | </div> 16 | -------------------------------------------------------------------------------- /pelican/tests/output/custom/feeds/yeah.atom.xml: -------------------------------------------------------------------------------- 1 | 2 | Alexis' log - yeahhttp://blog.notmyidea.org/2013-11-17T23:29:00+01:00A personal blog.This is a super article !2010-12-02T10:14:00+01:002013-11-17T23:29:00+01:00Alexis Métaireautag:blog.notmyidea.org,2010-12-02:/this-is-a-super-article.html<p class="first last">Multi-line metadata should be supported 3 | as well as <strong>inline markup</strong>.</p> 4 | <p>Some content here !</p> 5 | <div class="section" id="this-is-a-simple-title"> 6 | <h2>This is a simple title</h2> 7 | <p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p> 8 | <img alt="alternate text" src="http://blog.notmyidea.org/pictures/Sushi.jpg" style="width: 600px; height: 450px;" /> 9 | <img alt="alternate text" src="http://blog.notmyidea.org/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" /> 10 | <pre class="literal-block"> 11 | &gt;&gt;&gt; from ipdb import set_trace 12 | &gt;&gt;&gt; set_trace() 13 | </pre> 14 | <p>→ And now try with some utf8 hell: ééé</p> 15 | </div> 16 | -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/feeds/yeah.atom.xml: -------------------------------------------------------------------------------- 1 | 2 | Alexis' log - yeahhttp://blog.notmyidea.org/2013-11-17T23:29:00+01:00This is a super article !2010-12-02T10:14:00+01:002013-11-17T23:29:00+01:00Alexis Métaireautag:blog.notmyidea.org,2010-12-02:/posts/2010/décembre/02/this-is-a-super-article/<p class="first last">Multi-line metadata should be supported 3 | as well as <strong>inline markup</strong>.</p> 4 | <p>Some content here !</p> 5 | <div class="section" id="this-is-a-simple-title"> 6 | <h2>This is a simple title</h2> 7 | <p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p> 8 | <img alt="alternate text" src="http://blog.notmyidea.org/pictures/Sushi.jpg" style="width: 600px; height: 450px;" /> 9 | <img alt="alternate text" src="http://blog.notmyidea.org/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" /> 10 | <pre class="literal-block"> 11 | &gt;&gt;&gt; from ipdb import set_trace 12 | &gt;&gt;&gt; set_trace() 13 | </pre> 14 | <p>→ And now try with some utf8 hell: ééé</p> 15 | </div> 16 | -------------------------------------------------------------------------------- /samples/pelican.conf.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | AUTHOR = 'Alexis Métaireau' 5 | SITENAME = "Alexis' log" 6 | SITESUBTITLE = 'A personal blog.' 7 | SITEURL = 'http://blog.notmyidea.org' 8 | TIMEZONE = "Europe/Paris" 9 | 10 | # can be useful in development, but set to False when you're ready to publish 11 | RELATIVE_URLS = True 12 | 13 | GITHUB_URL = 'http://github.com/ametaireau/' 14 | DISQUS_SITENAME = "blog-notmyidea" 15 | REVERSE_CATEGORY_ORDER = True 16 | LOCALE = "C" 17 | DEFAULT_PAGINATION = 4 18 | DEFAULT_DATE = (2012, 3, 2, 14, 1, 1) 19 | 20 | FEED_ALL_RSS = 'feeds/all.rss.xml' 21 | CATEGORY_FEED_RSS = 'feeds/%s.rss.xml' 22 | 23 | LINKS = (('Biologeek', 'http://biologeek.org'), 24 | ('Filyb', "http://filyb.info/"), 25 | ('Libert-fr', "http://www.libert-fr.com"), 26 | ('N1k0', "http://prendreuncafe.com/blog/"), 27 | ('Tarek Ziadé', "http://ziade.org/blog"), 28 | ('Zubin Mithra', "http://zubin71.wordpress.com/"),) 29 | 30 | SOCIAL = (('twitter', 'http://twitter.com/ametaireau'), 31 | ('lastfm', 'http://lastfm.com/user/akounet'), 32 | ('github', 'http://github.com/ametaireau'),) 33 | 34 | # global metadata to all the contents 35 | DEFAULT_METADATA = {'yeah': 'it is'} 36 | 37 | # path-specific metadata 38 | EXTRA_PATH_METADATA = { 39 | 'extra/robots.txt': {'path': 'robots.txt'}, 40 | } 41 | 42 | # static paths will be copied without parsing their contents 43 | STATIC_PATHS = [ 44 | 'pictures', 45 | 'extra/robots.txt', 46 | ] 47 | 48 | # custom page generated with a jinja2 template 49 | TEMPLATE_PAGES = {'pages/jinja2_template.html': 'jinja2_template.html'} 50 | 51 | # code blocks with line numbers 52 | PYGMENTS_RST_OPTIONS = {'linenos': 'table'} 53 | 54 | # foobar will not be used, because it's not in caps. All configuration keys 55 | # have to be in caps 56 | foobar = "barbaz" 57 | -------------------------------------------------------------------------------- /pelican/signals.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import print_function, unicode_literals 3 | 4 | from blinker import signal 5 | 6 | # Run-level signals: 7 | 8 | initialized = signal('pelican_initialized') 9 | get_generators = signal('get_generators') 10 | all_generators_finalized = signal('all_generators_finalized') 11 | get_writer = signal('get_writer') 12 | finalized = signal('pelican_finalized') 13 | 14 | # Reader-level signals 15 | 16 | readers_init = signal('readers_init') 17 | 18 | # Generator-level signals 19 | 20 | generator_init = signal('generator_init') 21 | 22 | article_generator_init = signal('article_generator_init') 23 | article_generator_pretaxonomy = signal('article_generator_pretaxonomy') 24 | article_generator_finalized = signal('article_generator_finalized') 25 | article_generator_write_article = signal('article_generator_write_article') 26 | article_writer_finalized = signal('article_writer_finalized') 27 | 28 | page_generator_init = signal('page_generator_init') 29 | page_generator_finalized = signal('page_generator_finalized') 30 | page_generator_write_page = signal('page_generator_write_page') 31 | page_writer_finalized = signal('page_writer_finalized') 32 | 33 | static_generator_init = signal('static_generator_init') 34 | static_generator_finalized = signal('static_generator_finalized') 35 | 36 | # Page-level signals 37 | 38 | article_generator_preread = signal('article_generator_preread') 39 | article_generator_context = signal('article_generator_context') 40 | 41 | page_generator_preread = signal('page_generator_preread') 42 | page_generator_context = signal('page_generator_context') 43 | 44 | static_generator_preread = signal('static_generator_preread') 45 | static_generator_context = signal('static_generator_context') 46 | 47 | content_object_init = signal('content_object_init') 48 | 49 | # Writers signals 50 | content_written = signal('content_written') 51 | feed_generated = signal('feed_generated') 52 | feed_written = signal('feed_written') 53 | -------------------------------------------------------------------------------- /pelican/tests/output/custom/feeds/cat1.rss.xml: -------------------------------------------------------------------------------- 1 | 2 | Alexis' log - cat1http://blog.notmyidea.org/A personal blog.Wed, 20 Apr 2011 00:00:00 +0200A markdown powered articlehttp://blog.notmyidea.org/a-markdown-powered-article.html<p>You're mutually oblivious.</p> 3 | <p><a href="http://blog.notmyidea.org/unbelievable.html">a root-relative link to unbelievable</a> 4 | <a href="http://blog.notmyidea.org/unbelievable.html">a file-relative link to unbelievable</a></p>Alexis MétaireauWed, 20 Apr 2011 00:00:00 +0200tag:blog.notmyidea.org,2011-04-20:/a-markdown-powered-article.htmlArticle 1http://blog.notmyidea.org/article-1.html<p>Article 1</p> 5 | Alexis MétaireauThu, 17 Feb 2011 00:00:00 +0100tag:blog.notmyidea.org,2011-02-17:/article-1.htmlArticle 2http://blog.notmyidea.org/article-2.html<p>Article 2</p> 6 | Alexis MétaireauThu, 17 Feb 2011 00:00:00 +0100tag:blog.notmyidea.org,2011-02-17:/article-2.htmlArticle 3http://blog.notmyidea.org/article-3.html<p>Article 3</p> 7 | Alexis MétaireauThu, 17 Feb 2011 00:00:00 +0100tag:blog.notmyidea.org,2011-02-17:/article-3.html -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/analytics.html: -------------------------------------------------------------------------------- 1 | {% if GOOGLE_ANALYTICS %} 2 | 11 | {% endif %} 12 | {% if GAUGES %} 13 | 26 | {% endif %} 27 | {% if PIWIK_URL and PIWIK_SITE_ID %} 28 | 45 | {% endif %} 46 | -------------------------------------------------------------------------------- /samples/pelican.conf_FR.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | AUTHOR = 'Alexis Métaireau' 5 | SITENAME = "Alexis' log" 6 | SITEURL = 'http://blog.notmyidea.org' 7 | TIMEZONE = "Europe/Paris" 8 | 9 | # can be useful in development, but set to False when you're ready to publish 10 | RELATIVE_URLS = True 11 | 12 | GITHUB_URL = 'http://github.com/ametaireau/' 13 | DISQUS_SITENAME = "blog-notmyidea" 14 | PDF_GENERATOR = False 15 | REVERSE_CATEGORY_ORDER = True 16 | LOCALE = "fr_FR.UTF-8" 17 | DEFAULT_PAGINATION = 4 18 | DEFAULT_DATE = (2012, 3, 2, 14, 1, 1) 19 | DEFAULT_DATE_FORMAT = '%d %B %Y' 20 | 21 | ARTICLE_URL = 'posts/{date:%Y}/{date:%B}/{date:%d}/{slug}/' 22 | ARTICLE_SAVE_AS = ARTICLE_URL + 'index.html' 23 | 24 | FEED_ALL_RSS = 'feeds/all.rss.xml' 25 | CATEGORY_FEED_RSS = 'feeds/%s.rss.xml' 26 | 27 | LINKS = (('Biologeek', 'http://biologeek.org'), 28 | ('Filyb', "http://filyb.info/"), 29 | ('Libert-fr', "http://www.libert-fr.com"), 30 | ('N1k0', "http://prendreuncafe.com/blog/"), 31 | ('Tarek Ziadé', "http://ziade.org/blog"), 32 | ('Zubin Mithra', "http://zubin71.wordpress.com/"),) 33 | 34 | SOCIAL = (('twitter', 'http://twitter.com/ametaireau'), 35 | ('lastfm', 'http://lastfm.com/user/akounet'), 36 | ('github', 'http://github.com/ametaireau'),) 37 | 38 | # global metadata to all the contents 39 | DEFAULT_METADATA = {'yeah': 'it is'} 40 | 41 | # path-specific metadata 42 | EXTRA_PATH_METADATA = { 43 | 'extra/robots.txt': {'path': 'robots.txt'}, 44 | } 45 | 46 | # static paths will be copied without parsing their contents 47 | STATIC_PATHS = [ 48 | 'pictures', 49 | 'extra/robots.txt', 50 | ] 51 | 52 | # custom page generated with a jinja2 template 53 | TEMPLATE_PAGES = {'pages/jinja2_template.html': 'jinja2_template.html'} 54 | 55 | # code blocks with line numbers 56 | PYGMENTS_RST_OPTIONS = {'linenos': 'table'} 57 | 58 | # foobar will not be used, because it's not in caps. All configuration keys 59 | # have to be in caps 60 | foobar = "barbaz" 61 | -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/feeds/cat1.rss.xml: -------------------------------------------------------------------------------- 1 | 2 | Alexis' log - cat1http://blog.notmyidea.org/Wed, 20 Apr 2011 00:00:00 +0200A markdown powered articlehttp://blog.notmyidea.org/posts/2011/avril/20/a-markdown-powered-article/<p>You're mutually oblivious.</p> 3 | <p><a href="http://blog.notmyidea.org/posts/2010/octobre/15/unbelievable/">a root-relative link to unbelievable</a> 4 | <a href="http://blog.notmyidea.org/posts/2010/octobre/15/unbelievable/">a file-relative link to unbelievable</a></p>Alexis MétaireauWed, 20 Apr 2011 00:00:00 +0200tag:blog.notmyidea.org,2011-04-20:/posts/2011/avril/20/a-markdown-powered-article/Article 1http://blog.notmyidea.org/posts/2011/f%C3%A9vrier/17/article-1/<p>Article 1</p> 5 | Alexis MétaireauThu, 17 Feb 2011 00:00:00 +0100tag:blog.notmyidea.org,2011-02-17:/posts/2011/février/17/article-1/Article 2http://blog.notmyidea.org/posts/2011/f%C3%A9vrier/17/article-2/<p>Article 2</p> 6 | Alexis MétaireauThu, 17 Feb 2011 00:00:00 +0100tag:blog.notmyidea.org,2011-02-17:/posts/2011/février/17/article-2/Article 3http://blog.notmyidea.org/posts/2011/f%C3%A9vrier/17/article-3/<p>Article 3</p> 7 | Alexis MétaireauThu, 17 Feb 2011 00:00:00 +0100tag:blog.notmyidea.org,2011-02-17:/posts/2011/février/17/article-3/ -------------------------------------------------------------------------------- /pelican/tests/output/basic/feeds/cat1.atom.xml: -------------------------------------------------------------------------------- 1 | 2 | A Pelican Blog - cat1/2011-04-20T00:00:00+00:00A markdown powered article2011-04-20T00:00:00+00:002011-04-20T00:00:00+00:00tag:None,2011-04-20:/a-markdown-powered-article.html<p>You're mutually oblivious.</p> 3 | <p><a href="/unbelievable.html">a root-relative link to unbelievable</a> 4 | <a href="/unbelievable.html">a file-relative link to unbelievable</a></p><p>You're mutually oblivious.</p> 5 | <p><a href="/unbelievable.html">a root-relative link to unbelievable</a> 6 | <a href="/unbelievable.html">a file-relative link to unbelievable</a></p>Article 12011-02-17T00:00:00+00:002011-02-17T00:00:00+00:00tag:None,2011-02-17:/article-1.html<p>Article 1</p> 7 | <p>Article 1</p> 8 | Article 22011-02-17T00:00:00+00:002011-02-17T00:00:00+00:00tag:None,2011-02-17:/article-2.html<p>Article 2</p> 9 | <p>Article 2</p> 10 | Article 32011-02-17T00:00:00+00:002011-02-17T00:00:00+00:00tag:None,2011-02-17:/article-3.html<p>Article 3</p> 11 | <p>Article 3</p> 12 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/tag/oh.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Oh Oh Oh 6 | 7 | 8 | 9 | 10 | 11 | 23 |
    24 |

    Oh Oh Oh

    25 | 26 |

    This page overrides the listening of the articles under the oh tag.

    27 | 28 |
    29 |
    30 | 37 |
    38 | 39 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/authors.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | A Pelican Blog - Authors 6 | 7 | 8 | 9 | 10 | 11 | 23 | 24 |
    25 |

    Authors on A Pelican Blog

    26 | 29 |
    30 | 31 |
    32 | 39 |
    40 | 41 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/categories.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | A Pelican Blog 6 | 7 | 8 | 9 | 10 | 11 | 23 | 29 |
    30 | 37 |
    38 | 39 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/override/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Override url/save_as 6 | 7 | 8 | 9 | 10 | 11 | 23 |
    24 |

    Override url/save_as

    25 | 26 |

    Test page which overrides save_as and url so that this page will be generated 27 | at a custom location.

    28 | 29 |
    30 |
    31 | 38 |
    39 | 40 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/pages/this-is-a-test-hidden-page.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | This is a test hidden page 6 | 7 | 8 | 9 | 10 | 11 | 23 |
    24 |

    This is a test hidden page

    25 | 26 |

    This is great for things like error(404) pages 27 | Anyone can see this page but it's not linked to anywhere!

    28 | 29 |
    30 |
    31 | 38 |
    39 | 40 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/pages/this-is-a-test-page.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | This is a test page 6 | 7 | 8 | 9 | 10 | 11 | 23 |
    24 |

    This is a test page

    25 | 26 |

    Just an image.

    27 | alternate text 28 | 29 |
    30 |
    31 | 38 |
    39 | 40 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | Pelican |build-status| |pypi-version| 2 | ===================================== 3 | 4 | Pelican is a static site generator, written in Python_. 5 | 6 | * Write content in reStructuredText_ or Markdown_ using your editor of choice 7 | * Includes a simple command line tool to (re)generate site files 8 | * Easy to interface with version control systems and web hooks 9 | * Completely static output is simple to host anywhere 10 | 11 | 12 | Features 13 | -------- 14 | 15 | Pelican currently supports: 16 | 17 | * Chronological content (e.g., articles, blog posts) as well as static pages 18 | * Integration with external services (e.g., Google Analytics and Disqus) 19 | * Site themes (created using Jinja2_ templates) 20 | * Publication of articles in multiple languages 21 | * Generation of Atom and RSS feeds 22 | * Syntax highlighting via Pygments_ 23 | * Importing existing content from WordPress, Dotclear, and other services 24 | * Fast rebuild times due to content caching and selective output writing 25 | 26 | Check out `Pelican's documentation`_ for further information. 27 | 28 | 29 | How to get help, contribute, or provide feedback 30 | ------------------------------------------------ 31 | 32 | See our `contribution submission and feedback guidelines `_. 33 | 34 | 35 | Source code 36 | ----------- 37 | 38 | Pelican's source code is `hosted on GitHub`_. If you feel like hacking, 39 | take a look at `Pelican's internals`_. 40 | 41 | 42 | Why the name "Pelican"? 43 | ----------------------- 44 | 45 | "Pelican" is an anagram of *calepin*, which means "notebook" in French. 46 | 47 | 48 | .. Links 49 | 50 | .. _Python: http://www.python.org/ 51 | .. _reStructuredText: http://docutils.sourceforge.net/rst.html 52 | .. _Markdown: http://daringfireball.net/projects/markdown/ 53 | .. _Jinja2: http://jinja.pocoo.org/ 54 | .. _Pygments: http://pygments.org/ 55 | .. _`Pelican's documentation`: http://docs.getpelican.com/ 56 | .. _`Pelican's internals`: http://docs.getpelican.com/en/latest/internals.html 57 | .. _`hosted on GitHub`: https://github.com/getpelican/pelican 58 | 59 | .. |build-status| image:: https://img.shields.io/travis/getpelican/pelican/master.svg 60 | :target: https://travis-ci.org/getpelican/pelican 61 | :alt: Travis CI: continuous integration status 62 | .. |pypi-version| image:: https://img.shields.io/pypi/v/pelican.svg 63 | :target: https://pypi.python.org/pypi/pelican 64 | :alt: PyPI: the Python Package Index 65 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/tags.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | A Pelican Blog - Tags 6 | 7 | 8 | 9 | 10 | 11 | 23 | 24 |
    25 |

    Tags for A Pelican Blog

    26 | 34 |
    35 | 36 |
    37 | 44 |
    45 | 46 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content_title %}{% endblock %} 3 | {% block content %} 4 | {% if articles %} 5 | {% for article in articles_page.object_list %} 6 | 7 | {# First item #} 8 | {% if loop.first and not articles_page.has_previous() %} 9 | 15 | {% if loop.length > 1 %} 16 |
    17 |

    Other articles

    18 |
    19 |
      20 | {% endif %} 21 | {# other items #} 22 | {% else %} 23 | {% if loop.first %} 24 |
      25 |
        26 | {% endif %} 27 |
      1. 28 |
        29 |

        {{ article.title }}

        31 |
        32 | 33 |
        34 | {% include 'article_infos.html' %} 35 | {{ article.summary }} 36 | read more 37 | {% include 'comments.html' %} 38 |
        39 |
      2. 40 | {% endif %} 41 | {% if loop.last %} 42 | {% if loop.length > 1 or articles_page.has_other_pages() %} 43 |
      44 | {% if articles_page.has_other_pages() %} 45 | {% include 'pagination.html' %} 46 | {% endif %} 47 |
      48 | {% endif %} 49 | {% endif %} 50 | {% endfor %} 51 | {% else %} 52 |
      53 |

      Pages

      54 | {% for page in pages %} 55 |
    1. {{ page.title }}
    2. 56 | {% endfor %} 57 |
      58 | {% endif %} 59 | {% endblock content %} 60 | -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | import os 5 | import sys 6 | 7 | from pelican import __version__ 8 | 9 | on_rtd = os.environ.get('READTHEDOCS', None) == 'True' 10 | 11 | sys.path.append(os.path.abspath(os.pardir)) 12 | 13 | # -- General configuration ---------------------------------------------------- 14 | templates_path = ['_templates'] 15 | extensions = ['sphinx.ext.autodoc', 16 | 'sphinx.ext.ifconfig', 17 | 'sphinx.ext.extlinks'] 18 | source_suffix = '.rst' 19 | master_doc = 'index' 20 | project = 'Pelican' 21 | copyright = '2010, Alexis Metaireau and contributors' 22 | exclude_patterns = ['_build'] 23 | release = __version__ 24 | version = '.'.join(release.split('.')[:1]) 25 | last_stable = '3.7.1' 26 | rst_prolog = ''' 27 | .. |last_stable| replace:: :pelican-doc:`{0}` 28 | '''.format(last_stable) 29 | 30 | # The name of the Pygments (syntax highlighting) style to use. 31 | pygments_style = 'sphinx' 32 | 33 | extlinks = { 34 | 'pelican-doc': ('http://docs.getpelican.com/%s/', '') 35 | } 36 | 37 | # -- Options for HTML output -------------------------------------------------- 38 | 39 | html_theme = 'default' 40 | if not on_rtd: 41 | try: 42 | import sphinx_rtd_theme 43 | html_theme = 'sphinx_rtd_theme' 44 | html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] 45 | except ImportError: 46 | pass 47 | 48 | html_static_path = ['_static'] 49 | 50 | # Output file base name for HTML help builder. 51 | htmlhelp_basename = 'Pelicandoc' 52 | 53 | html_use_smartypants = True 54 | 55 | # If false, no module index is generated. 56 | html_use_modindex = False 57 | 58 | # If false, no index is generated. 59 | html_use_index = False 60 | 61 | # If true, links to the reST sources are added to the pages. 62 | html_show_sourcelink = False 63 | 64 | 65 | def setup(app): 66 | # overrides for wide tables in RTD theme 67 | app.add_stylesheet('theme_overrides.css') # path relative to _static 68 | 69 | 70 | # -- Options for LaTeX output ------------------------------------------------- 71 | latex_documents = [ 72 | ('index', 'Pelican.tex', 'Pelican Documentation', 'Alexis Métaireau', 73 | 'manual'), 74 | ] 75 | 76 | # -- Options for manual page output ------------------------------------------- 77 | man_pages = [ 78 | ('index', 'pelican', 'pelican documentation', 79 | ['Alexis Métaireau'], 1), 80 | ('pelican-themes', 'pelican-themes', 'A theme manager for Pelican', 81 | ['Mickaël Raybaud'], 1), 82 | ('themes', 'pelican-theming', 'How to create themes for Pelican', 83 | ['The Pelican contributors'], 1) 84 | ] 85 | -------------------------------------------------------------------------------- /pelican/tests/output/custom/feeds/cat1.atom.xml: -------------------------------------------------------------------------------- 1 | 2 | Alexis' log - cat1http://blog.notmyidea.org/2011-04-20T00:00:00+02:00A personal blog.A markdown powered article2011-04-20T00:00:00+02:002011-04-20T00:00:00+02:00Alexis Métaireautag:blog.notmyidea.org,2011-04-20:/a-markdown-powered-article.html<p>You're mutually oblivious.</p> 3 | <p><a href="http://blog.notmyidea.org/unbelievable.html">a root-relative link to unbelievable</a> 4 | <a href="http://blog.notmyidea.org/unbelievable.html">a file-relative link to unbelievable</a></p><p>You're mutually oblivious.</p> 5 | <p><a href="http://blog.notmyidea.org/unbelievable.html">a root-relative link to unbelievable</a> 6 | <a href="http://blog.notmyidea.org/unbelievable.html">a file-relative link to unbelievable</a></p>Article 12011-02-17T00:00:00+01:002011-02-17T00:00:00+01:00Alexis Métaireautag:blog.notmyidea.org,2011-02-17:/article-1.html<p>Article 1</p> 7 | <p>Article 1</p> 8 | Article 22011-02-17T00:00:00+01:002011-02-17T00:00:00+01:00Alexis Métaireautag:blog.notmyidea.org,2011-02-17:/article-2.html<p>Article 2</p> 9 | <p>Article 2</p> 10 | Article 32011-02-17T00:00:00+01:002011-02-17T00:00:00+01:00Alexis Métaireautag:blog.notmyidea.org,2011-02-17:/article-3.html<p>Article 3</p> 11 | <p>Article 3</p> 12 | -------------------------------------------------------------------------------- /pelican/server.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import print_function, unicode_literals 3 | 4 | import logging 5 | import os 6 | import sys 7 | 8 | try: 9 | from magic import from_file as magic_from_file 10 | except ImportError: 11 | magic_from_file = None 12 | 13 | from six.moves import SimpleHTTPServer as srvmod 14 | from six.moves import socketserver 15 | 16 | 17 | class ComplexHTTPRequestHandler(srvmod.SimpleHTTPRequestHandler): 18 | SUFFIXES = ['', '.html', '/index.html'] 19 | 20 | def do_GET(self): 21 | # cut off a query string 22 | if '?' in self.path: 23 | self.path, _ = self.path.split('?', 1) 24 | 25 | # Try to detect file by applying various suffixes 26 | for suffix in self.SUFFIXES: 27 | if not hasattr(self, 'original_path'): 28 | self.original_path = self.path 29 | 30 | self.path = self.original_path + suffix 31 | path = self.translate_path(self.path) 32 | 33 | if os.path.exists(path): 34 | srvmod.SimpleHTTPRequestHandler.do_GET(self) 35 | logging.info("Found `%s`." % self.path) 36 | break 37 | 38 | logging.info("Tried to find `%s`, but it doesn't exist.", 39 | self.path) 40 | else: 41 | # Fallback if there were no matches 42 | logging.warning("Unable to find `%s` or variations.", 43 | self.original_path) 44 | 45 | def guess_type(self, path): 46 | """Guess at the mime type for the specified file. 47 | """ 48 | mimetype = srvmod.SimpleHTTPRequestHandler.guess_type(self, path) 49 | 50 | # If the default guess is too generic, try the python-magic library 51 | if mimetype == 'application/octet-stream' and magic_from_file: 52 | mimetype = magic_from_file(path, mime=True) 53 | 54 | return mimetype 55 | 56 | 57 | if __name__ == '__main__': 58 | PORT = len(sys.argv) in (2, 3) and int(sys.argv[1]) or 8000 59 | SERVER = len(sys.argv) == 3 and sys.argv[2] or "" 60 | 61 | socketserver.TCPServer.allow_reuse_address = True 62 | try: 63 | httpd = socketserver.TCPServer( 64 | (SERVER, PORT), ComplexHTTPRequestHandler) 65 | except OSError as e: 66 | logging.error("Could not listen on port %s, server %s.", PORT, SERVER) 67 | sys.exit(getattr(e, 'exitcode', 1)) 68 | 69 | logging.info("Serving at port %s, server %s.", PORT, SERVER) 70 | try: 71 | httpd.serve_forever() 72 | except KeyboardInterrupt as e: 73 | logging.info("Shutting down server.") 74 | httpd.socket.close() 75 | -------------------------------------------------------------------------------- /samples/content/unbelievable.rst: -------------------------------------------------------------------------------- 1 | Unbelievable ! 2 | ############## 3 | 4 | :date: 2010-10-15 20:30 5 | 6 | Or completely awesome. Depends the needs. 7 | 8 | `a root-relative link to markdown-article <|filename|/cat1/markdown-article.md>`_ 9 | `a file-relative link to markdown-article <|filename|cat1/markdown-article.md>`_ 10 | 11 | Testing sourcecode directive 12 | ---------------------------- 13 | 14 | .. sourcecode:: python 15 | :linenos: 16 | 17 | formatter = self.options and VARIANTS[self.options.keys()[0]] 18 | 19 | 20 | Testing another case 21 | -------------------- 22 | 23 | This will now have a line number in 'custom' since it's the default in 24 | pelican.conf, it will have nothing in default. 25 | 26 | .. sourcecode:: python 27 | 28 | formatter = self.options and VARIANTS[self.options.keys()[0]] 29 | 30 | 31 | Lovely. 32 | 33 | Testing more sourcecode directives 34 | ---------------------------------- 35 | 36 | .. sourcecode:: python 37 | :anchorlinenos: 38 | :classprefix: testing 39 | :hl_lines: 10,11,12 40 | :lineanchors: foo 41 | :linenos: inline 42 | :linenospecial: 2 43 | :linenostart: 8 44 | :linenostep: 2 45 | :lineseparator:
      46 | :linespans: foo 47 | :nobackground: 48 | 49 | def run(self): 50 | self.assert_has_content() 51 | try: 52 | lexer = get_lexer_by_name(self.arguments[0]) 53 | except ValueError: 54 | # no lexer found - use the text one instead of an exception 55 | lexer = TextLexer() 56 | 57 | if ('linenos' in self.options and 58 | self.options['linenos'] not in ('table', 'inline')): 59 | self.options['linenos'] = 'table' 60 | 61 | for flag in ('nowrap', 'nobackground', 'anchorlinenos'): 62 | if flag in self.options: 63 | self.options[flag] = True 64 | 65 | # noclasses should already default to False, but just in case... 66 | formatter = HtmlFormatter(noclasses=False, **self.options) 67 | parsed = highlight('\n'.join(self.content), lexer, formatter) 68 | return [nodes.raw('', parsed, format='html')] 69 | 70 | 71 | Lovely. 72 | 73 | Testing even more sourcecode directives 74 | --------------------------------------- 75 | 76 | .. sourcecode:: python 77 | :linenos: table 78 | :nowrap: 79 | 80 | 81 | formatter = self.options and VARIANTS[self.options.keys()[0]] 82 | 83 | 84 | Lovely. 85 | 86 | Testing overriding config defaults 87 | ---------------------------------- 88 | 89 | Even if the default is line numbers, we can override it here 90 | 91 | .. sourcecode:: python 92 | :linenos: none 93 | 94 | 95 | formatter = self.options and VARIANTS[self.options.keys()[0]] 96 | 97 | 98 | Lovely. 99 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/article-1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Article 1 6 | 7 | 8 | 9 | 10 | 11 | 23 |
      24 |
      25 |
      26 |

      27 | Article 1

      29 |
      30 | 31 |
      32 |
      33 | 34 | Published: Thu 17 February 2011 35 | 36 | 37 |

      In cat1.

      38 | 39 |

      Article 1

      40 | 41 |
      42 | 43 |
      44 |
      45 |
      46 | 53 |
      54 | 55 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/article-2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Article 2 6 | 7 | 8 | 9 | 10 | 11 | 23 |
      24 |
      25 |
      26 |

      27 | Article 2

      29 |
      30 | 31 |
      32 |
      33 | 34 | Published: Thu 17 February 2011 35 | 36 | 37 |

      In cat1.

      38 | 39 |

      Article 2

      40 | 41 |
      42 | 43 |
      44 |
      45 |
      46 | 53 |
      54 | 55 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/article-3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Article 3 6 | 7 | 8 | 9 | 10 | 11 | 23 |
      24 |
      25 |
      26 |

      27 | Article 3

      29 |
      30 | 31 |
      32 |
      33 | 34 | Published: Thu 17 February 2011 35 | 36 | 37 |

      In cat1.

      38 | 39 |

      Article 3

      40 | 41 |
      42 | 43 |
      44 |
      45 |
      46 | 53 |
      54 | 55 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- 1 | Pelican |release| 2 | ================= 3 | 4 | 5 | .. ifconfig:: release.endswith('.dev') 6 | 7 | .. warning:: 8 | 9 | This documentation is for the version of Pelican currently under development. 10 | Were you looking for version |last_stable| documentation? 11 | 12 | 13 | Pelican is a static site generator, written in Python_. Highlights include: 14 | 15 | * Write your content directly with your editor of choice 16 | in reStructuredText_ or Markdown_ formats 17 | * Includes a simple CLI tool to (re)generate your site 18 | * Easy to interface with distributed version control systems and web hooks 19 | * Completely static output is easy to host anywhere 20 | 21 | Ready to get started? Check out the :doc:`Quickstart` guide. 22 | 23 | Features 24 | -------- 25 | 26 | Pelican |version| currently supports: 27 | 28 | * Articles (e.g., blog posts) and pages (e.g., "About", "Projects", "Contact") 29 | * Comments, via an external service (Disqus). If you prefer to have more 30 | control over your comment data, self-hosted comments are another option. 31 | Check out the `Pelican Plugins`_ repository for more details. 32 | * Theming support (themes are created using Jinja2_ templates) 33 | * Publication of articles in multiple languages 34 | * Atom/RSS feeds 35 | * Code syntax highlighting 36 | * Import from WordPress, Dotclear, or RSS feeds 37 | * Integration with external tools: Twitter, Google Analytics, etc. (optional) 38 | * Fast rebuild times thanks to content caching and selective output writing 39 | 40 | Why the name "Pelican"? 41 | ----------------------- 42 | 43 | "Pelican" is an anagram for *calepin*, which means "notebook" in French. ;) 44 | 45 | Source code 46 | ----------- 47 | 48 | You can access the source code at: https://github.com/getpelican/pelican 49 | 50 | How to get help, contribute, or provide feedback 51 | ------------------------------------------------ 52 | 53 | See our :doc:`feedback and contribution submission guidelines `. 54 | 55 | Documentation 56 | ------------- 57 | 58 | .. toctree:: 59 | :maxdepth: 2 60 | 61 | quickstart 62 | install 63 | content 64 | publish 65 | settings 66 | themes 67 | plugins 68 | pelican-themes 69 | importer 70 | faq 71 | tips 72 | contribute 73 | internals 74 | report 75 | changelog 76 | 77 | .. Links 78 | 79 | .. _Python: http://www.python.org/ 80 | .. _reStructuredText: http://docutils.sourceforge.net/rst.html 81 | .. _Markdown: http://daringfireball.net/projects/markdown/ 82 | .. _Jinja2: http://jinja.pocoo.org/ 83 | .. _`Pelican documentation`: http://docs.getpelican.com/latest/ 84 | .. _`Pelican's internals`: http://docs.getpelican.com/en/latest/internals.html 85 | .. _`Pelican plugins`: https://github.com/getpelican/pelican-plugins 86 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/feeds/alexis-metaireau.atom.xml: -------------------------------------------------------------------------------- 1 | 2 | A Pelican Blog - Alexis Métaireau/2013-11-17T23:29:00+00:00This is a super article !2010-12-02T10:14:00+00:002013-11-17T23:29:00+00:00Alexis Métaireautag:None,2010-12-02:/this-is-a-super-article.html<p class="first last">Multi-line metadata should be supported 3 | as well as <strong>inline markup</strong>.</p> 4 | <p>Some content here !</p> 5 | <div class="section" id="this-is-a-simple-title"> 6 | <h2>This is a simple title</h2> 7 | <p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p> 8 | <img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" /> 9 | <img alt="alternate text" src="|filename|/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" /> 10 | <pre class="literal-block"> 11 | &gt;&gt;&gt; from ipdb import set_trace 12 | &gt;&gt;&gt; set_trace() 13 | </pre> 14 | <p>→ And now try with some utf8 hell: ééé</p> 15 | </div> 16 | Oh yeah !2010-10-20T10:14:00+00:002010-10-20T10:14:00+00:00Alexis Métaireautag:None,2010-10-20:/oh-yeah.html<div class="section" id="why-not"> 17 | <h2>Why not ?</h2> 18 | <p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst ! 19 | YEAH !</p> 20 | <img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" /> 21 | </div> 22 | <div class="section" id="why-not"> 23 | <h2>Why not ?</h2> 24 | <p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst ! 25 | YEAH !</p> 26 | <img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" /> 27 | </div> 28 | -------------------------------------------------------------------------------- /pelican/tools/templates/develop_server.sh.jinja2: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | ## 3 | # This section should match your Makefile 4 | ## 5 | PY={{py_v}} 6 | PELICAN=${PELICAN:-pelican} 7 | PELICANOPTS={{pelicanopts}} 8 | 9 | BASEDIR=$(pwd) 10 | INPUTDIR=$BASEDIR/content 11 | OUTPUTDIR=$BASEDIR/output 12 | CONFFILE=$BASEDIR/pelicanconf.py 13 | 14 | ### 15 | # Don't change stuff below here unless you are sure 16 | ### 17 | 18 | SRV_PID=$BASEDIR/srv.pid 19 | PELICAN_PID=$BASEDIR/pelican.pid 20 | 21 | function usage(){ 22 | echo "usage: $0 (stop) (start) (restart) [port]" 23 | echo "This starts Pelican in debug and reload mode and then launches" 24 | echo "an HTTP server to help site development. It doesn't read" 25 | echo "your Pelican settings, so if you edit any paths in your Makefile" 26 | echo "you will need to edit your settings as well." 27 | exit 3 28 | } 29 | 30 | function alive() { 31 | kill -0 $1 >/dev/null 2>&1 32 | } 33 | 34 | function shut_down(){ 35 | PID=$(cat $SRV_PID) 36 | if [[ $? -eq 0 ]]; then 37 | if alive $PID; then 38 | echo "Stopping HTTP server" 39 | kill $PID 40 | else 41 | echo "Stale PID, deleting" 42 | fi 43 | rm $SRV_PID 44 | else 45 | echo "HTTP server PIDFile not found" 46 | fi 47 | 48 | PID=$(cat $PELICAN_PID) 49 | if [[ $? -eq 0 ]]; then 50 | if alive $PID; then 51 | echo "Killing Pelican" 52 | kill $PID 53 | else 54 | echo "Stale PID, deleting" 55 | fi 56 | rm $PELICAN_PID 57 | else 58 | echo "Pelican PIDFile not found" 59 | fi 60 | } 61 | 62 | function start_up(){ 63 | local port=$1 64 | echo "Starting up Pelican and HTTP server" 65 | shift 66 | $PELICAN --debug --autoreload -r $INPUTDIR -o $OUTPUTDIR -s $CONFFILE $PELICANOPTS & 67 | pelican_pid=$! 68 | echo $pelican_pid > $PELICAN_PID 69 | mkdir -p $OUTPUTDIR && cd $OUTPUTDIR 70 | $PY -m pelican.server $port & 71 | srv_pid=$! 72 | echo $srv_pid > $SRV_PID 73 | cd $BASEDIR 74 | sleep 1 75 | if ! alive $pelican_pid ; then 76 | echo "Pelican didn't start. Is the Pelican package installed?" 77 | return 1 78 | elif ! alive $srv_pid ; then 79 | echo "The HTTP server didn't start. Is there another service using port" $port "?" 80 | return 1 81 | fi 82 | echo 'Pelican and HTTP server processes now running in background.' 83 | } 84 | 85 | ### 86 | # MAIN 87 | ### 88 | [[ ($# -eq 0) || ($# -gt 2) ]] && usage 89 | port='' 90 | [[ $# -eq 2 ]] && port=$2 91 | 92 | if [[ $1 == "stop" ]]; then 93 | shut_down 94 | elif [[ $1 == "restart" ]]; then 95 | shut_down 96 | start_up $port 97 | elif [[ $1 == "start" ]]; then 98 | if ! start_up $port; then 99 | shut_down 100 | fi 101 | else 102 | usage 103 | fi 104 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/tag/baz.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The baz tag 6 | 7 | 8 | 9 | 10 | 11 | 23 |
      24 |
      25 |
      26 |

      27 | The baz tag

      29 |
      30 | 31 |
      32 |
      33 | 34 | Published: Sun 14 March 2010 35 | 36 | 37 |

      In misc.

      38 | 39 |

      This article overrides the listening of the articles under the baz tag.

      40 | 41 |
      42 | 43 |
      44 |
      45 |
      46 | 53 |
      54 | 55 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/filename_metadata-example.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | FILENAME_METADATA example 6 | 7 | 8 | 9 | 10 | 11 | 23 |
      24 |
      25 |
      26 |

      27 | FILENAME_METADATA example

      29 |
      30 | 31 |
      32 |
      33 | 34 | Published: Fri 30 November 2012 35 | 36 | 37 |

      In misc.

      38 | 39 |

      Some cool stuff!

      40 | 41 |
      42 | 43 |
      44 |
      45 |
      46 | 53 |
      54 | 55 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /pelican/tests/output/custom_locale/feeds/cat1.atom.xml: -------------------------------------------------------------------------------- 1 | 2 | Alexis' log - cat1http://blog.notmyidea.org/2011-04-20T00:00:00+02:00A markdown powered article2011-04-20T00:00:00+02:002011-04-20T00:00:00+02:00Alexis Métaireautag:blog.notmyidea.org,2011-04-20:/posts/2011/avril/20/a-markdown-powered-article/<p>You're mutually oblivious.</p> 3 | <p><a href="http://blog.notmyidea.org/posts/2010/octobre/15/unbelievable/">a root-relative link to unbelievable</a> 4 | <a href="http://blog.notmyidea.org/posts/2010/octobre/15/unbelievable/">a file-relative link to unbelievable</a></p><p>You're mutually oblivious.</p> 5 | <p><a href="http://blog.notmyidea.org/posts/2010/octobre/15/unbelievable/">a root-relative link to unbelievable</a> 6 | <a href="http://blog.notmyidea.org/posts/2010/octobre/15/unbelievable/">a file-relative link to unbelievable</a></p>Article 12011-02-17T00:00:00+01:002011-02-17T00:00:00+01:00Alexis Métaireautag:blog.notmyidea.org,2011-02-17:/posts/2011/février/17/article-1/<p>Article 1</p> 7 | <p>Article 1</p> 8 | Article 22011-02-17T00:00:00+01:002011-02-17T00:00:00+01:00Alexis Métaireautag:blog.notmyidea.org,2011-02-17:/posts/2011/février/17/article-2/<p>Article 2</p> 9 | <p>Article 2</p> 10 | Article 32011-02-17T00:00:00+01:002011-02-17T00:00:00+01:00Alexis Métaireautag:blog.notmyidea.org,2011-02-17:/posts/2011/février/17/article-3/<p>Article 3</p> 11 | <p>Article 3</p> 12 | -------------------------------------------------------------------------------- /docs/quickstart.rst: -------------------------------------------------------------------------------- 1 | Quickstart 2 | ########## 3 | 4 | Reading through all the documentation is highly recommended, but for the truly 5 | impatient, following are some quick steps to get started. 6 | 7 | Installation 8 | ------------ 9 | 10 | Install Pelican (and optionally Markdown if you intend to use it) on Python 11 | 2.7.x or Python 3.3+ by running the following command in your preferred 12 | terminal, prefixing with ``sudo`` if permissions warrant:: 13 | 14 | pip install pelican markdown 15 | 16 | Create a project 17 | ---------------- 18 | 19 | First, choose a name for your project, create an appropriately-named directory 20 | for your site, and switch to that directory:: 21 | 22 | mkdir -p ~/projects/yoursite 23 | cd ~/projects/yoursite 24 | 25 | Create a skeleton project via the ``pelican-quickstart`` command, which begins 26 | by asking some questions about your site:: 27 | 28 | pelican-quickstart 29 | 30 | For questions that have default values denoted in brackets, feel free to use 31 | the Return key to accept those default values [#tzlocal_fn]_. When asked for 32 | your URL prefix, enter your domain name as indicated (e.g., 33 | ``http://example.com``). 34 | 35 | Create an article 36 | ----------------- 37 | 38 | You cannot run Pelican until you have created some content. Use your preferred 39 | text editor to create your first article with the following content:: 40 | 41 | Title: My First Review 42 | Date: 2010-12-03 10:20 43 | Category: Review 44 | 45 | Following is a review of my favorite mechanical keyboard. 46 | 47 | Given that this example article is in Markdown format, save it as 48 | ``~/projects/yoursite/content/keyboard-review.md``. 49 | 50 | Generate your site 51 | ------------------ 52 | 53 | From your site directory, run the ``pelican`` command to generate your site:: 54 | 55 | pelican content 56 | 57 | Your site has now been generated inside the ``output`` directory. (You may see a 58 | warning related to feeds, but that is normal when developing locally and can be 59 | ignored for now.) 60 | 61 | Preview your site 62 | ----------------- 63 | 64 | Open a new terminal session and run the following commands to switch to your 65 | ``output`` directory and launch Pelican's web server:: 66 | 67 | cd ~/projects/yoursite/output 68 | python -m pelican.server 69 | 70 | Preview your site by navigating to http://localhost:8000/ in your browser. 71 | 72 | Continue reading the other documentation sections for more detail, and check out 73 | the Pelican wiki's Tutorials_ page for links to community-published tutorials. 74 | 75 | .. _Tutorials: https://github.com/getpelican/pelican/wiki/Tutorials 76 | 77 | Footnotes 78 | --------- 79 | 80 | .. [#tzlocal_fn] You can help localize default fields by installing the 81 | optional `tzlocal `_ 82 | module. 83 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/drafts/a-draft-article.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | A draft article 6 | 7 | 8 | 9 | 10 | 11 | 23 |
      24 |
      25 |
      26 |

      27 | A draft article

      29 |
      30 | 31 |
      32 |
      33 | 34 | Published: 35 | 36 | 37 |

      In misc.

      38 | 39 |

      This is a draft article, it should live under the /drafts/ folder and not be 40 | listed anywhere else.

      41 | 42 |
      43 | 44 |
      45 |
      46 |
      47 | 54 |
      55 | 56 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/second-article.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Second article 6 | 7 | 8 | 9 | 10 | 11 | 23 |
      24 |
      25 |
      26 |

      27 | Second article

      29 |
      30 | 31 |
      32 |
      33 | 34 | Published: Wed 29 February 2012 35 | 36 | 37 |

      In misc.

      38 |

      tags: foo bar baz

      Translations: 39 | fr 40 | 41 |

      This is some article, in english

      42 | 43 |
      44 | 45 |
      46 |
      47 |
      48 | 55 |
      56 | 57 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/second-article-fr.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Deuxième article 6 | 7 | 8 | 9 | 10 | 11 | 23 |
      24 |
      25 |
      26 |

      27 | Deuxième article

      29 |
      30 | 31 |
      32 |
      33 | 34 | Published: Wed 29 February 2012 35 | 36 | 37 |

      In misc.

      38 |

      tags: foo bar baz

      Translations: 39 | en 40 | 41 |

      Ceci est un article, en français.

      42 | 43 |
      44 | 45 |
      46 |
      47 |
      48 | 55 |
      56 | 57 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /pelican/themes/notmyidea/static/css/pygment.css: -------------------------------------------------------------------------------- 1 | .hll { 2 | background-color:#eee; 3 | } 4 | .c { 5 | color:#408090; 6 | font-style:italic; 7 | } 8 | .err { 9 | border:1px solid #FF0000; 10 | } 11 | .k { 12 | color:#007020; 13 | font-weight:bold; 14 | } 15 | .o { 16 | color:#666666; 17 | } 18 | .cm { 19 | color:#408090; 20 | font-style:italic; 21 | } 22 | .cp { 23 | color:#007020; 24 | } 25 | .c1 { 26 | color:#408090; 27 | font-style:italic; 28 | } 29 | .cs { 30 | background-color:#FFF0F0; 31 | color:#408090; 32 | } 33 | .gd { 34 | color:#A00000; 35 | } 36 | .ge { 37 | font-style:italic; 38 | } 39 | .gr { 40 | color:#FF0000; 41 | } 42 | .gh { 43 | color:#000080; 44 | font-weight:bold; 45 | } 46 | .gi { 47 | color:#00A000; 48 | } 49 | .go { 50 | color:#303030; 51 | } 52 | .gp { 53 | color:#C65D09; 54 | font-weight:bold; 55 | } 56 | .gs { 57 | font-weight:bold; 58 | } 59 | .gu { 60 | color:#800080; 61 | font-weight:bold; 62 | } 63 | .gt { 64 | color:#0040D0; 65 | } 66 | .kc { 67 | color:#007020; 68 | font-weight:bold; 69 | } 70 | .kd { 71 | color:#007020; 72 | font-weight:bold; 73 | } 74 | .kn { 75 | color:#007020; 76 | font-weight:bold; 77 | } 78 | .kp { 79 | color:#007020; 80 | } 81 | .kr { 82 | color:#007020; 83 | font-weight:bold; 84 | } 85 | .kt { 86 | color:#902000; 87 | } 88 | .m { 89 | color:#208050; 90 | } 91 | .s { 92 | color:#4070A0; 93 | } 94 | .na { 95 | color:#4070A0; 96 | } 97 | .nb { 98 | color:#007020; 99 | } 100 | .nc { 101 | color:#0E84B5; 102 | font-weight:bold; 103 | } 104 | .no { 105 | color:#60ADD5; 106 | } 107 | .nd { 108 | color:#555555; 109 | font-weight:bold; 110 | } 111 | .ni { 112 | color:#D55537; 113 | font-weight:bold; 114 | } 115 | .ne { 116 | color:#007020; 117 | } 118 | .nf { 119 | color:#06287E; 120 | } 121 | .nl { 122 | color:#002070; 123 | font-weight:bold; 124 | } 125 | .nn { 126 | color:#0E84B5; 127 | font-weight:bold; 128 | } 129 | .nt { 130 | color:#062873; 131 | font-weight:bold; 132 | } 133 | .nv { 134 | color:#BB60D5; 135 | } 136 | .ow { 137 | color:#007020; 138 | font-weight:bold; 139 | } 140 | .w { 141 | color:#BBBBBB; 142 | } 143 | .mf { 144 | color:#208050; 145 | } 146 | .mh { 147 | color:#208050; 148 | } 149 | .mi { 150 | color:#208050; 151 | } 152 | .mo { 153 | color:#208050; 154 | } 155 | .sb { 156 | color:#4070A0; 157 | } 158 | .sc { 159 | color:#4070A0; 160 | } 161 | .sd { 162 | color:#4070A0; 163 | font-style:italic; 164 | } 165 | .s2 { 166 | color:#4070A0; 167 | } 168 | .se { 169 | color:#4070A0; 170 | font-weight:bold; 171 | } 172 | .sh { 173 | color:#4070A0; 174 | } 175 | .si { 176 | color:#70A0D0; 177 | font-style:italic; 178 | } 179 | .sx { 180 | color:#C65D09; 181 | } 182 | .sr { 183 | color:#235388; 184 | } 185 | .s1 { 186 | color:#4070A0; 187 | } 188 | .ss { 189 | color:#517918; 190 | } 191 | .bp { 192 | color:#007020; 193 | } 194 | .vc { 195 | color:#BB60D5; 196 | } 197 | .vg { 198 | color:#BB60D5; 199 | } 200 | .vi { 201 | color:#BB60D5; 202 | } 203 | .il { 204 | color:#208050; 205 | } 206 | -------------------------------------------------------------------------------- /pelican/tests/output/basic/a-markdown-powered-article.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | A markdown powered article 6 | 7 | 8 | 9 | 10 | 11 | 23 |
      24 | 45 |
      46 |
      47 | 54 |
      55 | 56 | 63 | 64 | 65 | --------------------------------------------------------------------------------