├── docs ├── sphinx │ ├── manual.txt │ ├── theming.txt │ ├── extending.txt │ ├── internals.txt │ ├── creating-a-site.txt │ ├── social_buttons.txt │ ├── upgrading-to-v6.txt │ ├── creating-a-theme.txt │ └── index.txt └── man │ └── nikola.1 ├── nikola ├── data │ ├── themes │ │ ├── base │ │ │ ├── engine │ │ │ ├── messages │ │ │ │ ├── messages_cz.py │ │ │ │ ├── messages_sl_si.py │ │ │ │ ├── messages_tr.py │ │ │ │ ├── messages_zh_cn.py │ │ │ │ ├── messages_ja.py │ │ │ │ ├── messages_en.py │ │ │ │ ├── messages_ur.py │ │ │ │ ├── messages_ca.py │ │ │ │ ├── messages_nb.py │ │ │ │ ├── messages_sl.py │ │ │ │ ├── messages_es.py │ │ │ │ ├── messages_cs.py │ │ │ │ ├── messages_fa.py │ │ │ │ ├── messages_pl.py │ │ │ │ ├── messages_pt_br.py │ │ │ │ ├── messages_hr.py │ │ │ │ ├── messages_ru.py │ │ │ │ ├── messages_et.py │ │ │ │ ├── messages_fr.py │ │ │ │ ├── messages_nl.py │ │ │ │ ├── messages_de.py │ │ │ │ ├── messages_tr_tr.py │ │ │ │ ├── messages_it.py │ │ │ │ ├── messages_eu.py │ │ │ │ ├── messages_fi.py │ │ │ │ ├── messages_bg.py │ │ │ │ ├── messages_eo.py │ │ │ │ └── messages_el.py │ │ │ ├── assets │ │ │ │ ├── css │ │ │ │ │ └── theme.css │ │ │ │ └── js │ │ │ │ │ └── mathjax.js │ │ │ ├── templates │ │ │ │ ├── tagindex.tmpl │ │ │ │ ├── crumbs.tmpl │ │ │ │ ├── mustache-comment-form.tmpl │ │ │ │ ├── moot_helper.tmpl │ │ │ │ ├── list.tmpl │ │ │ │ ├── list_post.tmpl │ │ │ │ ├── post_list_directive.tmpl │ │ │ │ ├── listing.tmpl │ │ │ │ ├── googleplus_helper.tmpl │ │ │ │ ├── story.tmpl │ │ │ │ ├── annotation_helper.tmpl │ │ │ │ ├── isso_helper.tmpl │ │ │ │ ├── tags.tmpl │ │ │ │ ├── index_helper.tmpl │ │ │ │ ├── intensedebate_helper.tmpl │ │ │ │ ├── slides.tmpl │ │ │ │ ├── gallery.tmpl │ │ │ │ ├── index.tmpl │ │ │ │ ├── base.tmpl │ │ │ │ ├── livefyre_helper.tmpl │ │ │ │ ├── tag.tmpl │ │ │ │ ├── post.tmpl │ │ │ │ ├── facebook_helper.tmpl │ │ │ │ └── disqus_helper.tmpl │ │ │ ├── bundles │ │ │ └── README.md │ │ ├── bootstrap │ │ │ ├── engine │ │ │ ├── parent │ │ │ ├── assets │ │ │ │ ├── css │ │ │ │ │ ├── images │ │ │ │ │ │ ├── border.png │ │ │ │ │ │ ├── loading.gif │ │ │ │ │ │ ├── overlay.png │ │ │ │ │ │ ├── controls.png │ │ │ │ │ │ └── loading_background.png │ │ │ │ │ └── theme.css │ │ │ │ └── img │ │ │ │ │ ├── glyphicons-halflings.png │ │ │ │ │ └── glyphicons-halflings-white.png │ │ │ ├── bundles │ │ │ ├── templates │ │ │ │ └── slides.tmpl │ │ │ └── README.md │ │ └── bootstrap3 │ │ │ ├── parent │ │ │ ├── assets │ │ │ ├── css │ │ │ │ ├── images │ │ │ │ │ └── ie6 │ │ │ │ │ │ ├── borderTopCenter.png │ │ │ │ │ │ ├── borderTopLeft.png │ │ │ │ │ │ ├── borderTopRight.png │ │ │ │ │ │ ├── borderBottomLeft.png │ │ │ │ │ │ ├── borderBottomRight.png │ │ │ │ │ │ ├── borderMiddleLeft.png │ │ │ │ │ │ ├── borderMiddleRight.png │ │ │ │ │ │ └── borderBottomCenter.png │ │ │ │ └── theme.css │ │ │ └── fonts │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ └── glyphicons-halflings-regular.woff │ │ │ ├── bundles │ │ │ ├── README.md │ │ │ └── templates │ │ │ ├── list.tmpl │ │ │ ├── list_post.tmpl │ │ │ ├── listing.tmpl │ │ │ ├── tags.tmpl │ │ │ ├── slides.tmpl │ │ │ └── post.tmpl │ └── samplesite │ │ ├── galleries │ │ └── demo │ │ │ ├── exclude.meta │ │ │ ├── tesla2_lg.jpg │ │ │ ├── tesla4_lg.jpg │ │ │ ├── tesla_tower1_lg.jpg │ │ │ ├── tesla_conducts_lg.jpg │ │ │ ├── tesla_lightning1_lg.jpg │ │ │ ├── tesla_lightning2_lg.jpg │ │ │ └── index.txt │ │ ├── stories │ │ ├── manual.rst │ │ ├── theming.rst │ │ ├── extending.txt │ │ ├── internals.txt │ │ ├── creating-a-theme.rst │ │ ├── social_buttons.txt │ │ ├── upgrading-to-v6.txt │ │ ├── listings-demo.rst │ │ ├── 1.rst │ │ ├── slides-demo.rst │ │ └── charts.txt │ │ ├── files │ │ ├── favicon.ico │ │ └── images │ │ │ └── biohazard.png │ │ ├── listings │ │ └── hello.py │ │ ├── README.txt │ │ └── posts │ │ └── 1.rst ├── plugins │ ├── __init__.py │ ├── compile │ │ ├── rest │ │ │ ├── vimeo.plugin │ │ │ ├── youtube.plugin │ │ │ ├── template.txt │ │ │ ├── gist.plugin │ │ │ ├── slides.plugin │ │ │ ├── chart.plugin │ │ │ ├── listing.plugin │ │ │ ├── soundcloud.plugin │ │ │ ├── media.plugin │ │ │ ├── doc.plugin │ │ │ ├── post_list.plugin │ │ │ ├── soundcloud.py │ │ │ └── slides.py │ │ ├── rest.plugin │ │ ├── wiki.plugin │ │ ├── bbcode.plugin │ │ ├── asciidoc.plugin │ │ ├── html.plugin │ │ ├── markdown.plugin │ │ ├── textile.plugin │ │ ├── txt2tags.plugin │ │ ├── ipynb.plugin │ │ ├── pandoc.plugin │ │ ├── php.plugin │ │ ├── misaka.plugin │ │ ├── __init__.py │ │ ├── ipynb │ │ │ └── README.txt │ │ └── markdown │ │ │ └── mdx_nikola.py │ ├── task │ │ ├── localsearch │ │ │ ├── files │ │ │ │ ├── assets │ │ │ │ │ ├── css │ │ │ │ │ │ └── img │ │ │ │ │ │ │ ├── loader.gif │ │ │ │ │ │ │ └── search.png │ │ │ │ │ └── js │ │ │ │ │ │ └── tipuesearch_set.js │ │ │ │ └── tipue_search.html │ │ │ └── MIT-LICENSE.txt │ │ ├── rss.plugin │ │ ├── gzip.plugin │ │ ├── redirect.plugin │ │ ├── sitemap.plugin │ │ ├── pages.plugin │ │ ├── tags.plugin │ │ ├── bundles.plugin │ │ ├── posts.plugin │ │ ├── archive.plugin │ │ ├── build_less.plugin │ │ ├── copy_assets.plugin │ │ ├── indexes.plugin │ │ ├── listings.plugin │ │ ├── sources.plugin │ │ ├── copy_files.plugin │ │ ├── galleries.plugin │ │ ├── mustache.plugin │ │ ├── localsearch.plugin │ │ ├── build_sass.plugin │ │ ├── mustache │ │ │ ├── mustache-template.html │ │ │ └── mustache.html │ │ ├── __init__.py │ │ └── copy_files.py │ ├── command │ │ ├── init.plugin │ │ ├── deploy.plugin │ │ ├── serve.plugin │ │ ├── version.plugin │ │ ├── check.plugin │ │ ├── new_post.plugin │ │ ├── planetoid.plugin │ │ ├── mincss.plugin │ │ ├── orphans.plugin │ │ ├── console.plugin │ │ ├── import_blogger.plugin │ │ ├── install_theme.plugin │ │ ├── auto.plugin │ │ ├── import_feed.plugin │ │ ├── install_plugin.plugin │ │ ├── import_wordpress.plugin │ │ ├── bootswatch_theme.plugin │ │ ├── __init__.py │ │ ├── version.py │ │ └── orphans.py │ ├── loghandler │ │ ├── smtp.plugin │ │ ├── stderr.plugin │ │ ├── __init__.py │ │ ├── smtp.py │ │ └── stderr.py │ └── template │ │ ├── mako.plugin │ │ ├── jinja.plugin │ │ └── __init__.py └── __init__.py ├── scripts ├── nikola.bat ├── getpyver.py ├── theme_snapshot ├── nikola ├── set_version.py └── import_po.py ├── setup.cfg ├── tests ├── data │ └── translated_titles │ │ └── stories │ │ ├── 1.txt.pl │ │ └── 1.txt ├── test_plugin_importing.py ├── __init__.py └── import_wordpress_and_build_workflow.py ├── requirements-tests.txt ├── MANIFEST.in ├── requirements.txt ├── .tx └── config ├── requirements-full.txt ├── .gitignore ├── .coveragerc ├── LICENSE.txt ├── .travis.yml ├── translations └── nikola.messages │ ├── en.po │ ├── nb.po │ ├── zh_CN.po │ ├── ur.po │ ├── ca.po │ ├── cs.po │ ├── es.po │ ├── eu.po │ ├── ja.po │ ├── hr.po │ ├── nl.po │ ├── bg.po │ ├── fi.po │ ├── eo.po │ ├── fa.po │ ├── et.po │ ├── sl.po │ ├── tr_TR.po │ ├── it.po │ ├── ru.po │ ├── pl.po │ ├── el.po │ ├── pt_BR.po │ └── fr.po └── README.rst /docs/sphinx/manual.txt: -------------------------------------------------------------------------------- 1 | ../manual.txt -------------------------------------------------------------------------------- /docs/sphinx/theming.txt: -------------------------------------------------------------------------------- 1 | ../theming.txt -------------------------------------------------------------------------------- /docs/sphinx/extending.txt: -------------------------------------------------------------------------------- 1 | ../extending.txt -------------------------------------------------------------------------------- /docs/sphinx/internals.txt: -------------------------------------------------------------------------------- 1 | ../internals.txt -------------------------------------------------------------------------------- /nikola/data/themes/base/engine: -------------------------------------------------------------------------------- 1 | mako 2 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap/engine: -------------------------------------------------------------------------------- 1 | mako 2 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap/parent: -------------------------------------------------------------------------------- 1 | base 2 | -------------------------------------------------------------------------------- /docs/sphinx/creating-a-site.txt: -------------------------------------------------------------------------------- 1 | ../creating-a-site.txt -------------------------------------------------------------------------------- /docs/sphinx/social_buttons.txt: -------------------------------------------------------------------------------- 1 | ../social_buttons.txt -------------------------------------------------------------------------------- /docs/sphinx/upgrading-to-v6.txt: -------------------------------------------------------------------------------- 1 | ../upgrading-to-v6.txt -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/parent: -------------------------------------------------------------------------------- 1 | bootstrap 2 | -------------------------------------------------------------------------------- /scripts/nikola.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | python "%~dpn0" %* -------------------------------------------------------------------------------- /docs/sphinx/creating-a-theme.txt: -------------------------------------------------------------------------------- 1 | ../creating-a-theme.txt -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_cz.py: -------------------------------------------------------------------------------- 1 | messages_cs.py -------------------------------------------------------------------------------- /nikola/data/samplesite/galleries/demo/exclude.meta: -------------------------------------------------------------------------------- 1 | tesla2_lg.jpg 2 | -------------------------------------------------------------------------------- /nikola/data/samplesite/stories/manual.rst: -------------------------------------------------------------------------------- 1 | ../../../../docs/manual.txt -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_sl_si.py: -------------------------------------------------------------------------------- 1 | messages_sl.py -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_tr.py: -------------------------------------------------------------------------------- 1 | messages_tr_tr.py -------------------------------------------------------------------------------- /nikola/data/samplesite/stories/theming.rst: -------------------------------------------------------------------------------- 1 | ../../../../docs/theming.txt -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [wheel] 2 | universal = 1 3 | 4 | [flake8] 5 | ignore=E501 6 | -------------------------------------------------------------------------------- /nikola/data/samplesite/stories/extending.txt: -------------------------------------------------------------------------------- 1 | ../../../../docs/extending.txt -------------------------------------------------------------------------------- /nikola/data/samplesite/stories/internals.txt: -------------------------------------------------------------------------------- 1 | ../../../../docs/internals.txt -------------------------------------------------------------------------------- /nikola/data/samplesite/stories/creating-a-theme.rst: -------------------------------------------------------------------------------- 1 | ../../../../docs/creating-a-theme.txt -------------------------------------------------------------------------------- /nikola/data/samplesite/stories/social_buttons.txt: -------------------------------------------------------------------------------- 1 | ../../../../docs/social_buttons.txt -------------------------------------------------------------------------------- /nikola/data/samplesite/stories/upgrading-to-v6.txt: -------------------------------------------------------------------------------- 1 | ../../../../docs/upgrading-to-v6.txt -------------------------------------------------------------------------------- /nikola/data/themes/base/assets/css/theme.css: -------------------------------------------------------------------------------- 1 | /* This file intentionally left blank. */ 2 | -------------------------------------------------------------------------------- /tests/data/translated_titles/stories/1.txt.pl: -------------------------------------------------------------------------------- 1 | .. title: Bar 2 | .. slug: 1 3 | 4 | Bar 5 | -------------------------------------------------------------------------------- /nikola/plugins/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import absolute_import 3 | -------------------------------------------------------------------------------- /requirements-tests.txt: -------------------------------------------------------------------------------- 1 | -r requirements-full.txt 2 | coverage 3 | nose 4 | freezegun 5 | python-coveralls 6 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/tagindex.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%inherit file="index.tmpl"/> 3 | -------------------------------------------------------------------------------- /tests/data/translated_titles/stories/1.txt: -------------------------------------------------------------------------------- 1 | .. title: Foo 2 | .. slug: 1 3 | .. date: 2001/01/01 00:00:00 4 | 5 | Foo 6 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | graft docs 2 | graft nikola 3 | graft scripts 4 | graft tests 5 | include *.txt 6 | include *.rst 7 | include *.py 8 | -------------------------------------------------------------------------------- /nikola/data/samplesite/files/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/samplesite/files/favicon.ico -------------------------------------------------------------------------------- /nikola/data/themes/base/bundles: -------------------------------------------------------------------------------- 1 | assets/css/all.css=rst.css,code.css,theme.css 2 | assets/css/all-nocdn.css=rst.css,code.css,theme.css 3 | -------------------------------------------------------------------------------- /nikola/data/samplesite/files/images/biohazard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/samplesite/files/images/biohazard.png -------------------------------------------------------------------------------- /nikola/data/samplesite/galleries/demo/tesla2_lg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/samplesite/galleries/demo/tesla2_lg.jpg -------------------------------------------------------------------------------- /nikola/data/samplesite/galleries/demo/tesla4_lg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/samplesite/galleries/demo/tesla4_lg.jpg -------------------------------------------------------------------------------- /nikola/plugins/compile/rest/vimeo.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = rest_vimeo 3 | Module = vimeo 4 | 5 | [Documentation] 6 | Description = Vimeo directive 7 | 8 | -------------------------------------------------------------------------------- /nikola/data/samplesite/galleries/demo/tesla_tower1_lg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/samplesite/galleries/demo/tesla_tower1_lg.jpg -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap/assets/css/images/border.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap/assets/css/images/border.png -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap/assets/css/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap/assets/css/images/loading.gif -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap/assets/css/images/overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap/assets/css/images/overlay.png -------------------------------------------------------------------------------- /nikola/data/samplesite/galleries/demo/tesla_conducts_lg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/samplesite/galleries/demo/tesla_conducts_lg.jpg -------------------------------------------------------------------------------- /nikola/data/samplesite/galleries/demo/tesla_lightning1_lg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/samplesite/galleries/demo/tesla_lightning1_lg.jpg -------------------------------------------------------------------------------- /nikola/data/samplesite/galleries/demo/tesla_lightning2_lg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/samplesite/galleries/demo/tesla_lightning2_lg.jpg -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap/assets/css/images/controls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap/assets/css/images/controls.png -------------------------------------------------------------------------------- /nikola/plugins/task/localsearch/files/assets/css/img/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/plugins/task/localsearch/files/assets/css/img/loader.gif -------------------------------------------------------------------------------- /nikola/plugins/task/localsearch/files/assets/css/img/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/plugins/task/localsearch/files/assets/css/img/search.png -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap/assets/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap/assets/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /nikola/plugins/compile/rest/youtube.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = rest_youtube 3 | Module = youtube 4 | 5 | [Documentation] 6 | Version = 0.1 7 | Description = Youtube directive 8 | 9 | -------------------------------------------------------------------------------- /nikola/plugins/compile/rest/template.txt: -------------------------------------------------------------------------------- 1 | %(head_prefix)s 2 | %(head)s 3 | %(stylesheet)s 4 | %(body_prefix)s 5 | %(body_pre_docinfo)s 6 | %(docinfo)s 7 | %(body)s 8 | %(body_suffix)s 9 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap/assets/css/images/loading_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap/assets/css/images/loading_background.png -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap/assets/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap/assets/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopCenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopCenter.png -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopLeft.png -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopRight.png -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomLeft.png -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomRight.png -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleLeft.png -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleRight.png -------------------------------------------------------------------------------- /nikola/data/samplesite/galleries/demo/index.txt: -------------------------------------------------------------------------------- 1 | .. title: Nikola Tesla 2 | 3 | Some public domain pictures of Nikola Tesla 4 | (copied from `here `_) 5 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomCenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomCenter.png -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiro/nikola/master/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | doit>=0.23.0 2 | pygments 3 | pillow>=2.0.0 4 | docutils 5 | mako>=0.6 6 | unidecode 7 | lxml 8 | yapsy 9 | PyRSS2Gen 10 | pytz 11 | logbook 12 | blinker 13 | setuptools 14 | -------------------------------------------------------------------------------- /.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | 4 | [nikola.messages] 5 | file_filter = translations/nikola.messages/.po 6 | source_file = translations/nikola.messages/en.po 7 | source_lang = en 8 | 9 | -------------------------------------------------------------------------------- /nikola/data/themes/base/README.md: -------------------------------------------------------------------------------- 1 | This theme has almost no styling, it's meant as a basis from which other 2 | teams can be developed. 3 | 4 | Therefore, most "advanced" features, such as slides or galleries, are broken. 5 | -------------------------------------------------------------------------------- /nikola/plugins/command/init.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = init 3 | Module = init 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.2 8 | Website = http://getnikola.com 9 | Description = Create a new site. 10 | -------------------------------------------------------------------------------- /nikola/plugins/command/deploy.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = deploy 3 | Module = deploy 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Deploy the site 10 | -------------------------------------------------------------------------------- /nikola/plugins/loghandler/smtp.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = smtp 3 | Module = smtp 4 | 5 | [Documentation] 6 | Author = Daniel Devine 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Log over smtp (email). 10 | -------------------------------------------------------------------------------- /nikola/plugins/command/serve.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = serve 3 | Module = serve 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Start test server. 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/command/version.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = version 3 | Module = version 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.2 8 | Website = http://getnikola.com 9 | Description = Show nikola version 10 | -------------------------------------------------------------------------------- /nikola/plugins/compile/rest.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = rest 3 | Module = rest 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Compile reSt into HTML 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/rss.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = generate_rss 3 | Module = rss 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Generate RSS feeds. 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/template/mako.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = mako 3 | Module = mako 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Support for Mako templates. 10 | -------------------------------------------------------------------------------- /nikola/plugins/command/check.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = check 3 | Module = check 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Check the generated site 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/compile/rest/gist.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = rest_gist 3 | Module = gist 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Gist directive 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/compile/wiki.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = wiki 3 | Module = wiki 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Compile WikiMarkup into HTML 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/gzip.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = gzip 3 | Module = gzip 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Create gzipped copies of files 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/template/jinja.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = jinja 3 | Module = jinja 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Support for Jinja2 templates. 10 | -------------------------------------------------------------------------------- /nikola/plugins/command/new_post.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = new_post 3 | Module = new_post 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Create a new post. 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/compile/bbcode.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = bbcode 3 | Module = bbcode 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Compile BBCode into HTML 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/compile/rest/slides.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = rest_slides 3 | Module = slides 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Slides directive 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/redirect.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = redirect 3 | Module = redirect 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Create redirect pages. 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/sitemap.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = sitemap 3 | Module = sitemap 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Generate google sitemap. 10 | 11 | -------------------------------------------------------------------------------- /nikola/data/samplesite/listings/hello.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | import sys 4 | 5 | 6 | def hello(name='world'): 7 | greeting = "hello " + name 8 | print(greeting) 9 | 10 | if __name__ == "__main__": 11 | hello(*sys.argv[1:]) 12 | -------------------------------------------------------------------------------- /nikola/plugins/command/planetoid.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = planetoid 3 | Module = planetoid 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Maintain a planet-like site 10 | -------------------------------------------------------------------------------- /nikola/plugins/compile/asciidoc.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = asciidoc 3 | Module = asciidoc 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Compile ASCIIDoc into HTML 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/compile/html.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = html 3 | Module = html 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Compile HTML into HTML (just copy) 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/compile/markdown.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = markdown 3 | Module = markdown 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Compile Markdown into HTML 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/compile/textile.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = textile 3 | Module = textile 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Compile Textile into HTML 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/compile/txt2tags.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = txt2tags 3 | Module = txt2tags 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Compile Txt2tags into HTML 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/loghandler/stderr.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = stderr 3 | Module = stderr 4 | 5 | [Documentation] 6 | Author = Daniel Devine 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Log to stderr, the default logger. 10 | -------------------------------------------------------------------------------- /nikola/plugins/task/pages.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = render_pages 3 | Module = pages 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Create pages in the output. 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/tags.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = render_tags 3 | Module = tags 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Render the tag pages and feeds. 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/command/mincss.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = mincss 3 | Module = mincss 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Apply mincss to the generated site 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/command/orphans.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = orphans 3 | Module = orphans 4 | 5 | [Documentation] 6 | Author = Roberto Alsina, Chris Warrick 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = List all orphans 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/compile/ipynb.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = ipynb 3 | Module = ipynb 4 | 5 | [Documentation] 6 | Author = Damián Avila 7 | Version = 1.0 8 | Website = http://www.oquanta.info 9 | Description = Compile IPython notebooks into HTML 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/compile/rest/chart.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = rest_chart 3 | Module = chart 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Chart directive based in PyGal 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/bundles.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = create_bundles 3 | Module = bundles 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Theme bundles using WebAssets 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/posts.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = render_posts 3 | Module = posts 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Create HTML fragments out of posts. 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/compile/pandoc.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = pandoc 3 | Module = pandoc 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Compile markups into HTML using pandoc 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/compile/rest/listing.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = rest_listing 3 | Module = listing 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Extension for source listings 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/compile/rest/soundcloud.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = rest_soundcloud 3 | Module = soundcloud 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Soundcloud directive 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/archive.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = render_archive 3 | Module = archive 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Generates the blog's archive pages. 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/build_less.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = build_less 3 | Module = build_less 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Build CSS out of LESS sources 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/copy_assets.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = copy_assets 3 | Module = copy_assets 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Copy theme assets into output. 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/indexes.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = render_indexes 3 | Module = indexes 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Generates the blog's index pages. 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/listings.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = render_listings 3 | Module = listings 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Render code listings into output 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/sources.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = render_sources 3 | Module = sources 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Copy page sources into the output. 10 | 11 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/crumbs.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | 3 | <%def name="bar(crumbs)"> 4 | 9 | 10 | -------------------------------------------------------------------------------- /nikola/plugins/command/console.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = console 3 | Module = console 4 | 5 | [Documentation] 6 | Author = Chris Warrick, Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Start a debugging python console 10 | -------------------------------------------------------------------------------- /nikola/plugins/compile/php.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = php 3 | Module = php 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Compile PHP into HTML (just copy and name the file .php) 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/compile/rest/media.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = rest_media 3 | Module = media 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Directive to support oembed via micawber 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/copy_files.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = copy_files 3 | Module = copy_files 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Copy static files into the output. 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/compile/rest/doc.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = rest_doc 3 | Module = doc 4 | 5 | [Documentation] 6 | Author = Manuel Kaufmann 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Role to link another page / post from the blog 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/galleries.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = render_galleries 3 | Module = galleries 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Create image galleries automatically. 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/mustache.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = render_mustache 3 | Module = mustache 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Generates the blog's index pages in json. 10 | 11 | -------------------------------------------------------------------------------- /requirements-full.txt: -------------------------------------------------------------------------------- 1 | -r requirements.txt 2 | mock>=1.0.0 3 | requests>=1.0 4 | markdown 5 | Jinja2>=2.7 6 | bbcode 7 | livereload==2.1.0 8 | pyphen 9 | python-dateutil 10 | micawber 11 | pygal 12 | typogrify 13 | phpserialize 14 | webassets 15 | ipython>=1.0.0 16 | -------------------------------------------------------------------------------- /nikola/plugins/compile/misaka.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = misaka 3 | Module = misaka 4 | 5 | [Documentation] 6 | Author = Chris Lee 7 | Version = 0.1 8 | Website = http://c133.org/ 9 | Description = Compile Markdown into HTML with Mikasa instead of python-markdown 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/localsearch.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = local_search 3 | Module = localsearch 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Create data files for local search via Tipue 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/command/import_blogger.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = import_blogger 3 | Module = import_blogger 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.2 8 | Website = http://getnikola.com 9 | Description = Import a blogger site from a XML dump. 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/command/install_theme.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = install_theme 3 | Module = install_theme 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Install a theme into the current site. 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/task/build_sass.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = build_sass 3 | Module = build_sass 4 | 5 | [Documentation] 6 | Author = Roberto Alsina, Chris “Kwpolska” Warrick 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Build CSS out of Sass sources 10 | -------------------------------------------------------------------------------- /nikola/plugins/command/auto.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = auto 3 | Module = auto 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.2 8 | Website = http://getnikola.com 9 | Description = Automatically detect site changes, rebuild and optionally refresh a browser. 10 | -------------------------------------------------------------------------------- /nikola/plugins/command/import_feed.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = import_feed 3 | Module = import_feed 4 | 5 | [Documentation] 6 | Author = Grzegorz Śliwiński 7 | Version = 0.1 8 | Website = http://www.fizyk.net.pl/ 9 | Description = Import a blog posts from a RSS/Atom dump 10 | 11 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/mustache-comment-form.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%namespace name="comments" file="comments_helper.tmpl"/> 3 | % if not post.meta('nocomments'): 4 | ${comments.comment_form(post.permalink(absolute=True), post.title(), post.base_path)} 5 | % endif 6 | -------------------------------------------------------------------------------- /nikola/plugins/compile/rest/post_list.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = rest_post_list 3 | Module = post_list 4 | 5 | [Documentation] 6 | Author = Udo Spallek 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Includes a list of posts with tag and slide based filters. 10 | -------------------------------------------------------------------------------- /nikola/data/samplesite/stories/listings-demo.rst: -------------------------------------------------------------------------------- 1 | .. title: Listings Demo 2 | .. slug: listings-demo 3 | .. date: 2012/12/15 10:16:20 4 | .. tags: 5 | .. link: 6 | .. description: 7 | 8 | Nikola intends to let you show code easily via listings: 9 | 10 | .. listing:: hello.py python 11 | -------------------------------------------------------------------------------- /nikola/plugins/command/install_plugin.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = install_plugin 3 | Module = install_plugin 4 | 5 | [Documentation] 6 | Author = Roberto Alsina and Chris Warrick 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Install a plugin into the current site. 10 | 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.py[co] 2 | *.db 3 | *~ 4 | dist 5 | *.log 6 | *.diff 7 | *.patch 8 | tmp/ 9 | output/ 10 | build/ 11 | .idea/ 12 | __pycache__/ 13 | *.egg-info/ 14 | 15 | # virtualenvwrapper oh-my-zsh plugin 16 | .venv 17 | 18 | # coverage.py 19 | .coverage 20 | 21 | # pyenv 22 | .python-version 23 | -------------------------------------------------------------------------------- /nikola/plugins/command/import_wordpress.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = import_wordpress 3 | Module = import_wordpress 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.2 8 | Website = http://getnikola.com 9 | Description = Import a wordpress site from a XML dump (requires markdown). 10 | 11 | -------------------------------------------------------------------------------- /nikola/plugins/command/bootswatch_theme.plugin: -------------------------------------------------------------------------------- 1 | [Core] 2 | Name = bootswatch_theme 3 | Module = bootswatch_theme 4 | 5 | [Documentation] 6 | Author = Roberto Alsina 7 | Version = 0.1 8 | Website = http://getnikola.com 9 | Description = Given a swatch name and a parent theme, creates a custom theme. 10 | 11 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/bundles: -------------------------------------------------------------------------------- 1 | assets/css/all-nocdn.css=bootstrap.css,rst.css,code.css,colorbox.css,theme.css,custom.css 2 | assets/css/all.css=rst.css,code.css,colorbox.css,theme.css,custom.css 3 | assets/js/all-nocdn.js=jquery-1.10.2.min.js,bootstrap.min.js,jquery.colorbox-min.js 4 | assets/js/all.js=jquery.colorbox-min.js 5 | -------------------------------------------------------------------------------- /.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | source = nikola 3 | omit = /tmp/*, _* 4 | [report] 5 | exclude_lines = 6 | pragma: no cover 7 | def __repr__ 8 | if self.debug: 9 | if settings.DEBUG 10 | raise AssertionError 11 | raise NotImplementedError 12 | if 0: 13 | if __name__ == .__main__.: 14 | except ImportError: 15 | -------------------------------------------------------------------------------- /nikola/data/samplesite/stories/1.rst: -------------------------------------------------------------------------------- 1 | .. title: Nikola: it generates static 2 | .. slug: about-nikola 3 | .. date: 2012/03/30 23:00 4 | .. tags: 5 | .. link: 6 | .. description: 7 | 8 | Hope you enjoy this software! 9 | 10 | * Home page at http://getnikola.com 11 | * Author's blog (and reason why Nikola exists): http://ralsina.me 12 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap/bundles: -------------------------------------------------------------------------------- 1 | assets/css/all-nocdn.css=bootstrap.css,bootstrap-responsive.css,rst.css,code.css,colorbox.css,theme.css,custom.css 2 | assets/css/all.css=rst.css,code.css,colorbox.css,theme.css,custom.css 3 | assets/js/all-nocdn.js=jquery-1.10.2.min.js,bootstrap.min.js,jquery.colorbox-min.js 4 | assets/js/all.js=jquery.colorbox-min.js 5 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/README.md: -------------------------------------------------------------------------------- 1 | A bootstrap3 version of the bootstrap theme. 2 | 3 | There is a variant called bootstrap3-gradients which uses an extra CSS 4 | file for a *visually enhanced experience* (according to Bootstrap 5 | developers at least). This one uses the default bootstrap3 flat look. 6 | 7 | This theme supports Bootswtach font/color schemes (unlike 8 | bootstrap3-gradients) through the `nikola bootswatch_theme` command. 9 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/moot_helper.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | 3 | <%def name="comment_form(url, title, identifier)"> 4 | ${comment_system_id} forums 5 | 6 | 7 | <%def name="comment_link(link, identifier)"> 8 | 9 | 10 | 11 | <%def name="comment_link_script()"> 12 | 13 | 14 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/list.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%inherit file="base.tmpl"/> 3 | <%block name="content"> 4 | 5 |
6 |

${title}

7 |
    8 | % for text, link in items: 9 |
  • ${text} 10 | % endfor 11 |
12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /nikola/data/samplesite/README.txt: -------------------------------------------------------------------------------- 1 | This folder contains the source used to generate a static site by nikola. 2 | 3 | Installation and documentation at http://getnikola.com 4 | 5 | Configuration file for the site is `conf.py`. 6 | 7 | To build the site:: 8 | 9 | nikola build 10 | 11 | To see it:: 12 | 13 | nikola serve 14 | 15 | And point your browser to http://localhost:8000 16 | 17 | 18 | To check all available commands:: 19 | 20 | nikola help 21 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/templates/list.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%inherit file="base.tmpl"/> 3 | <%block name="content"> 4 | 5 |
6 |

${title}

7 |
    8 | % for text, link in items: 9 |
  • ${text} 10 | % endfor 11 |
12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /nikola/data/samplesite/stories/slides-demo.rst: -------------------------------------------------------------------------------- 1 | .. title: Slides Demo 2 | .. slug: slides-demo 3 | .. date: 2012/12/27 10:16:20 4 | .. tags: 5 | .. link: 6 | .. description: 7 | 8 | Nikola intends to let you do slideshows easily: 9 | 10 | .. slides:: 11 | 12 | /galleries/demo/tesla_conducts_lg.jpg 13 | /galleries/demo/tesla_lightning2_lg.jpg 14 | /galleries/demo/tesla4_lg.jpg 15 | /galleries/demo/tesla_lightning1_lg.jpg 16 | /galleries/demo/tesla_tower1_lg.jpg 17 | 18 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/list_post.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%inherit file="base.tmpl"/> 3 | <%block name="content"> 4 | 5 |
6 |

${title}

7 | 12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/post_list_directive.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | 3 |
4 |
    5 | % for post in posts: 6 |
  • 7 | ${post.formatted_date(date_format)} 8 |   9 | ${post.title(lang)} 10 |
  • 11 | % endfor 12 |
13 |
14 | 15 | -------------------------------------------------------------------------------- /docs/sphinx/index.txt: -------------------------------------------------------------------------------- 1 | Nikola Documentation 2 | ==================== 3 | 4 | Those are the docs for the current GitHub master. It might be incompatible 5 | with the stable release. The docs for the stable release are available `on 6 | the Nikola website `_. 7 | 8 | .. toctree:: 9 | :maxdepth: 2 10 | 11 | manual 12 | upgrading-to-v6 13 | creating-a-site 14 | creating-a-theme 15 | theming 16 | extending 17 | internals 18 | tests 19 | social_buttons 20 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/templates/list_post.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%inherit file="base.tmpl"/> 3 | <%block name="content"> 4 | 5 |
6 |

${title}

7 | 12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/listing.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%inherit file="base.tmpl"/> 3 | <%namespace name="ui" file="crumbs.tmpl" import="bar"/> 4 | <%block name="content"> 5 | ${ui.bar(crumbs)} 6 |
    7 | % for name in folders: 8 |
  • ${name} 9 | % endfor 10 | % for name in files: 11 |
  • ${name} 12 | % endfor 13 |
14 | % if code: 15 | ${code} 16 | % endif 17 | 18 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/templates/listing.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%inherit file="base.tmpl"/> 3 | <%namespace name="ui" file="crumbs.tmpl" import="bar"/> 4 | <%block name="content"> 5 | ${ui.bar(crumbs)} 6 |
    7 | % for name in folders: 8 |
  • ${name} 9 | % endfor 10 | % for name in files: 11 |
  • ${name} 12 | % endfor 13 |
14 | % if code: 15 | ${code} 16 | % endif 17 | 18 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/googleplus_helper.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%def name="comment_form(url, title, identifier)"> 3 | 4 |
8 |
9 | 10 | 11 | <%def name="comment_link(link, identifier)"> 12 |
13 | 14 | 15 | 16 | <%def name="comment_link_script()"> 17 | 18 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/story.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%inherit file="post.tmpl"/> 3 | <%namespace name="helper" file="post_helper.tmpl"/> 4 | <%namespace name="comments" file="comments_helper.tmpl"/> 5 | <%block name="extra_head"> 6 | ${helper.twitter_card_information(post)} 7 | 8 | <%block name="content"> 9 | %if title and not post.meta('hidetitle'): 10 |

${title}

11 | %endif 12 | ${post.text()} 13 | %if enable_comments and not post.meta('nocomments'): 14 | ${comments.comment_form(post.permalink(absolute=True), post.title(), post.base_path)} 15 | %endif 16 | 17 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/annotation_helper.tmpl: -------------------------------------------------------------------------------- 1 | <%def name="css()"> 2 | 3 | 4 | 5 | <%def name="code()"> 6 | 7 | 8 | 16 | 17 | -------------------------------------------------------------------------------- /scripts/getpyver.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # For internal use only. 3 | """Return the Python version in a sane format (vX.Y). 4 | 5 | Also available a less sane format (X.Y) if `short` is provided 6 | as an argument. 7 | 8 | Or ([v]X.Y.Z) if `long` is provided. 9 | 10 | $ getpyver.py 11 | v2.7 12 | $ getpyver.py short 13 | 2.7 14 | $ getpyver.py long 15 | v2.7.6 16 | $ getpyver.py long short 17 | 2.7.6 18 | 19 | """ 20 | import sys 21 | limit = 3 if 'long' in sys.argv else 2 22 | if 'short' in sys.argv: 23 | print(".".join([str(i) for i in sys.version_info[0:limit]])) 24 | else: 25 | print("v" + (".".join([str(i) for i in sys.version_info[0:limit]]))) 26 | -------------------------------------------------------------------------------- /scripts/theme_snapshot: -------------------------------------------------------------------------------- 1 | #!/bin/sh -x 2 | 3 | # A script to install a theme, configure the default site to use it, 4 | # generate it, and then take a screenshot of the page. 5 | 6 | #This is a hack. 7 | 8 | theme_name=$1 9 | tempsite=temp_$theme_name 10 | nikola init $tempsite 11 | cd $tempsite 12 | doit install_theme -n $theme_name 13 | sed -i s/\'site\'/\'$theme_name\'/g conf.py 14 | sed -i s/http:\/\/nikola\.ralsina\.com\.ar/http:\/\/${theme_name}\.nikola\.ralsina\.com\.ar/g conf.py 15 | echo 'DEPLOY_COMMANDS = [ r"rsync -rav --delete output/* ralsina@lateral.netmanagers.com.ar:/srv/www/'${theme_name}'" ]' >> conf.py 16 | doit && doit deploy 17 | capty http://${theme_name}.nikola.ralsina.com.ar ../${theme_name}.png 18 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/isso_helper.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%def name="comment_form(url, title, identifier)"> 3 | %if comment_system_id: 4 |
5 | 6 | %endif 7 | 8 | 9 | <%def name="comment_link(link, identifier)"> 10 | %if comment_system_id: 11 | Comments 12 | %endif 13 | 14 | 15 | 16 | <%def name="comment_link_script()"> 17 | %if comment_system_id: 18 | 19 | %endif 20 | 21 | -------------------------------------------------------------------------------- /nikola/plugins/task/localsearch/files/assets/js/tipuesearch_set.js: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | Tipue Search 3.0.1 4 | Copyright (c) 2013 Tipue 5 | Tipue Search is released under the MIT License 6 | http://www.tipue.com/search 7 | */ 8 | 9 | 10 | var tipuesearch_stop_words = ["and", "be", "by", "do", "for", "he", "how", "if", "is", "it", "my", "not", "of", "or", "the", "to", "up", "what", "when"]; 11 | 12 | var tipuesearch_replace = {"words": [ 13 | {"word": "tipua", replace_with: "tipue"}, 14 | {"word": "javscript", replace_with: "javascript"} 15 | ]}; 16 | 17 | var tipuesearch_stem = {"words": [ 18 | {"word": "e-mail", stem: "email"}, 19 | {"word": "javascript", stem: "script"}, 20 | {"word": "javascript", stem: "js"} 21 | ]}; 22 | -------------------------------------------------------------------------------- /nikola/data/themes/base/assets/js/mathjax.js: -------------------------------------------------------------------------------- 1 | // We wait for the onload function to load MathJax after the page is completely loaded. 2 | // MathJax is loaded 1 unit of time after the page is ready. 3 | // This hack prevent problems when you use social button from addthis. 4 | // 5 | window.onload = function () { 6 | setTimeout(function () { 7 | var script = document.createElement("script"); 8 | script.type = "text/javascript"; 9 | if (location.protocol == 'https:') { 10 | scriptbase = "https://c328740.ssl.cf1.rackcdn.com/"; 11 | } else { 12 | scriptbase = "http://cdn.mathjax.org/"; 13 | } 14 | script.src = scriptbase + "mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"; 15 | document.getElementsByTagName("body")[0].appendChild(script); 16 | },1) 17 | } 18 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/tags.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%inherit file="base.tmpl"/> 3 | <%block name="content"> 4 |

${title}

5 | % if cat_items: 6 |

${messages("Categories")}

7 |
    8 | % for text, link in cat_items: 9 | % if text: 10 |
  • ${text}
  • 11 | % endif 12 | % endfor 13 |
14 | % if items: 15 |

${messages("Tags")}

16 | % endif 17 | %endif 18 | % if items: 19 |
    20 | % for text, link in items: 21 |
  • ${text}
  • 22 | % endfor 23 |
24 | % endif 25 | 26 | -------------------------------------------------------------------------------- /tests/test_plugin_importing.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals, absolute_import 3 | 4 | # This code is so you can run the samples without installing the package, 5 | # and should be before any import touching nikola, in any file under tests/ 6 | import os 7 | import sys 8 | sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) 9 | 10 | 11 | import unittest 12 | 13 | 14 | class ImportPluginsTest(unittest.TestCase): 15 | def test_importing_command_import_wordpress(self): 16 | import nikola.plugins.command.import_wordpress # NOQA 17 | 18 | def test_importing_compile_rest(self): 19 | import nikola.plugins.compile.rest # NOQA 20 | 21 | def test_importing_plugin_compile_markdown(self): 22 | import nikola.plugins.compile.markdown # NOQA 23 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/index_helper.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%def name="html_pager()"> 3 | %if prevlink or nextlink: 4 |
5 | 17 |
18 | %endif 19 | 20 | 21 | <%def name="mathjax_script(posts)"> 22 | %if any(post.is_mathjax for post in posts): 23 | 24 | %endif 25 | 26 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/templates/tags.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%inherit file="base.tmpl"/> 3 | <%block name="content"> 4 |

${title}

5 | % if cat_items: 6 |

${messages("Categories")}

7 |
    8 | % for text, link in cat_items: 9 | % if text: 10 |
  • ${text}
  • 11 | % endif 12 | % endfor 13 |
14 | % if items: 15 |

${messages("Tags")}

16 | % endif 17 | %endif 18 | % if items: 19 |
    20 | % for text, link in items: 21 |
  • ${text}
  • 22 | % endfor 23 |
24 | % endif 25 | 26 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_zh_cn.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "其他语言版本", 6 | "Also available in:": "其他语言版本:", 7 | "Archive": "文章存档", 8 | "Categories": "分类", 9 | "LANGUAGE": "简体中文", 10 | "More posts about %s": "更多相关文章: %s", 11 | "More posts about": "更多相关文章:", 12 | "Newer posts": "新一篇", 13 | "Next post": "后一篇", 14 | "Older posts": "旧一篇", 15 | "Original site": "原文地址", 16 | "Posted": "发表于", 17 | "Posted:": "发表于:", 18 | "Posts about %s": "文章分类:%s", 19 | "Posts for year %s": "%s年文章", 20 | "Posts for {month} {year}": "{year}年{month}月文章", 21 | "Previous post": "前一篇", 22 | "Read in English": "中文版", 23 | "Read more": "更多", 24 | "Source": "源代码", 25 | "Tags and Categories": "标签和分类", 26 | "Tags": "标签", 27 | "old posts, page %d": "旧文章页 %d", 28 | "page %d": "", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_ja.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "他の言語で読む", 6 | "Also available in:": "他の言語で読む:", 7 | "Archive": "過去の記事", 8 | "Categories": "カテゴリー", 9 | "LANGUAGE": "日本語", 10 | "More posts about %s": "タグ: %s", 11 | "More posts about": "タグ:", 12 | "Newer posts": "新しい記事", 13 | "Next post": "次の記事", 14 | "Older posts": "過去の記事", 15 | "Original site": "元のサイト", 16 | "Posted": "投稿日時", 17 | "Posted:": "投稿日時:", 18 | "Posts about %s": "%sについての記事", 19 | "Posts for year %s": "%s年の記事", 20 | "Posts for {month} {year}": "{year}年{month}月の記事", 21 | "Previous post": "前の記事", 22 | "Read in English": "日本語で読む", 23 | "Read more": "続きを読む", 24 | "Source": "ソース", 25 | "Tags and Categories": "タグとカテゴリー", 26 | "Tags": "タグ", 27 | "old posts, page %d": "前の記事 %dページ目", 28 | "page %d": "", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/plugins/task/mustache/mustache-template.html: -------------------------------------------------------------------------------- 1 | 30 | -------------------------------------------------------------------------------- /nikola/data/samplesite/posts/1.rst: -------------------------------------------------------------------------------- 1 | .. title: Welcome to Nikola 2 | .. slug: welcome-to-nikola 3 | .. date: 2012/03/30 23:00 4 | .. tags: nikola, python, demo, blog 5 | .. link: http://getnikola.com 6 | .. description: 7 | 8 | .. figure:: http://farm1.staticflickr.com/138/352972944_4f9d568680.jpg 9 | :target: http://farm1.staticflickr.com/138/352972944_4f9d568680_z.jpg?zz=1 10 | :class: thumbnail 11 | :alt: Nikola Tesla Corner by nicwest, on Flickr 12 | 13 | If you can see this in a web browser, it means you have managed to install Nikola, 14 | and build a site using it. Congratulations! 15 | 16 | * You can read the manual `here `__ 17 | * You can learn more about Nikola at http://getnikola.com 18 | * You can see a demo photo gallery `here `__ 19 | * Demo usage of listings `here `__ 20 | * Demo of slideshows `here `__ 21 | * Demo of Bootstrap `here `__ 22 | 23 | Send feedback to ralsina@netmanagers.com.ar! 24 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/intensedebate_helper.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%def name="comment_form(url, title, identifier)"> 3 | 8 | 9 | 10 | 11 | 12 | 13 | <%def name="comment_link(link, identifier)"> 14 | 15 | 20 | 21 | 22 | 23 | 24 | <%def name="comment_link_script()"> 25 | 26 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/slides.tmpl: -------------------------------------------------------------------------------- 1 | 23 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap/templates/slides.tmpl: -------------------------------------------------------------------------------- 1 | 23 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/gallery.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%inherit file="base.tmpl"/> 3 | <%namespace name="comments" file="comments_helper.tmpl"/> 4 | <%namespace name="ui" file="crumbs.tmpl" import="bar"/> 5 | <%block name="sourcelink"> 6 | 7 | <%block name="content"> 8 | ${ui.bar(crumbs)} 9 | %if title: 10 |

${title}

11 | %endif 12 | %if text: 13 |

14 | ${text} 15 |

16 | %endif 17 |
    18 | % for folder, ftitle in folders: 19 |
  •  ${ftitle}
  • 21 | % endfor 22 |
23 |
    24 | %for image in photo_array: 25 |
  • 26 | ${image['title']} 27 | %endfor 28 |
29 | %if enable_comments: 30 | ${comments.comment_form(None, permalink, title)} 31 | %endif 32 | 33 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/templates/slides.tmpl: -------------------------------------------------------------------------------- 1 | 23 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_en.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Also available in", 6 | "Also available in:": "Also available in:", 7 | "Archive": "Archive", 8 | "Categories": "Categories", 9 | "LANGUAGE": "English", 10 | "More posts about %s": "More posts about %s", 11 | "More posts about": "More posts about", 12 | "Newer posts": "Newer posts", 13 | "Next post": "Next post", 14 | "Older posts": "Older posts", 15 | "Original site": "Original site", 16 | "Posted": "Posted", 17 | "Posted:": "Posted:", 18 | "Posts about %s": "Posts about %s", 19 | "Posts for year %s": "Posts for year %s", 20 | "Posts for {month} {year}": "Posts for {month} {year}", 21 | "Previous post": "Previous post", 22 | "Read in English": "Read in English", 23 | "Read more": "Read more", 24 | "Source": "Source", 25 | "Tags and Categories": "Tags and Categories", 26 | "Tags": "Tags", 27 | "old posts, page %d": "old posts, page %d", 28 | "page %d": "page %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_ur.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "ان زبانوں میں بھی دستیاب", 6 | "Also available in:": "ان زبانوں میں بھی دستیاب:", 7 | "Archive": "آرکائیو", 8 | "Categories": "زمرے", 9 | "LANGUAGE": "اردو", 10 | "More posts about %s": "%s کے بارے میں مزید تحاریر", 11 | "More posts about": " کے بارے میں مزید تحاریر", 12 | "Newer posts": "نئی تحاریر", 13 | "Next post": "اگلی تحریر", 14 | "Older posts": "پرانی تحاریر", 15 | "Original site": "اصلی سائٹ", 16 | "Posted": "اشاعت", 17 | "Posted:": "اشاعت:", 18 | "Posts about %s": "%s کے بارے میں تحاریر", 19 | "Posts for year %s": "سال %s کی تحاریر", 20 | "Posts for {month} {year}": "{month} {year} کی تحاریر", 21 | "Previous post": "پچھلی تحریر", 22 | "Read in English": "اردو میں پڑھیے", 23 | "Read more": "مزید پڑھیے", 24 | "Source": "سورس", 25 | "Tags and Categories": "ٹیگز اور زمرے", 26 | "Tags": "ٹیگز", 27 | "old posts, page %d": "پرانی تحاریر صفحہ %d", 28 | "page %d": "", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_ca.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "També disponibles en", 6 | "Also available in:": "També disponibles en:", 7 | "Archive": "Arxiu", 8 | "Categories": "", 9 | "LANGUAGE": "Català", 10 | "More posts about %s": "Més entrades sobre %s", 11 | "More posts about": "Més entrades sobre", 12 | "Newer posts": "Entrades posteriors", 13 | "Next post": "Entrada següent", 14 | "Older posts": "Entrades anteriors", 15 | "Original site": "Lloc original", 16 | "Posted": "Publicat", 17 | "Posted:": "Publicat:", 18 | "Posts about %s": "Entrades sobre %s", 19 | "Posts for year %s": "Entrades de l'any %s", 20 | "Posts for {month} {year}": "", 21 | "Previous post": "Entrada anterior", 22 | "Read in English": "Llegeix-ho en català", 23 | "Read more": "Llegeix-ne més", 24 | "Source": "Codi", 25 | "Tags and Categories": "", 26 | "Tags": "Etiquetes", 27 | "old posts, page %d": "entrades antigues, pàgina %d", 28 | "page %d": "pàgina %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_nb.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Også tilgjengelig på", 6 | "Also available in:": "Også tilgjengelig på:", 7 | "Archive": "Arkiv", 8 | "Categories": "Kategorier", 9 | "LANGUAGE": "norsk", 10 | "More posts about %s": "Flere innlegg om %s", 11 | "More posts about": "Flere innlegg om", 12 | "Newer posts": "Nyere innlegg", 13 | "Next post": "Neste innlegg", 14 | "Older posts": "Eldre innlegg", 15 | "Original site": "Opprinnelig side", 16 | "Posted": "Publisert", 17 | "Posted:": "Publisert:", 18 | "Posts about %s": "Innlegg om %s", 19 | "Posts for year %s": "Innlegg fra %s", 20 | "Posts for {month} {year}": "Innlegg fra {month} {year}", 21 | "Previous post": "Forrige innlegg", 22 | "Read in English": "Les på norsk", 23 | "Read more": "Les mer", 24 | "Source": "Kilde", 25 | "Tags and Categories": "Merker og kategorier", 26 | "Tags": "Merker", 27 | "old posts, page %d": "eldre innlegg, side %d", 28 | "page %d": "side %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_sl.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Na voljo tudi v", 6 | "Also available in:": "Na voljo tudi v:", 7 | "Archive": "Arhiv", 8 | "Categories": "Kategorije", 9 | "LANGUAGE": "Slovenščina", 10 | "More posts about %s": "Več objav o %s", 11 | "More posts about": "Več objav o", 12 | "Newer posts": "Novejše objave", 13 | "Next post": "Naslednja objava", 14 | "Older posts": "Starejše objave", 15 | "Original site": "Izvorna spletna stran", 16 | "Posted": "Objavljeno", 17 | "Posted:": "Objavljeno:", 18 | "Posts about %s": "Objave o %s", 19 | "Posts for year %s": "Objave za leto %s", 20 | "Posts for {month} {year}": "Objave za {month} {year}", 21 | "Previous post": "Prejšnja objava", 22 | "Read in English": "Beri v slovenščini", 23 | "Read more": "Več o tem", 24 | "Source": "Izvor", 25 | "Tags and Categories": "Značke in kategorije", 26 | "Tags": "Značke", 27 | "old posts, page %d": "stare objave, stran %d", 28 | "page %d": "stran %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_es.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "También disponible en", 6 | "Also available in:": "También disponible en:", 7 | "Archive": "Archivo", 8 | "Categories": "Categorías", 9 | "LANGUAGE": "Español", 10 | "More posts about %s": "Más posts sobre %s", 11 | "More posts about": "Más posts sobre", 12 | "Newer posts": "Posts posteriores", 13 | "Next post": "Siguiente post", 14 | "Older posts": "Posts anteriores", 15 | "Original site": "Sitio original", 16 | "Posted": "Publicado", 17 | "Posted:": "Publicado:", 18 | "Posts about %s": "Posts sobre %s", 19 | "Posts for year %s": "Posts del año %s", 20 | "Posts for {month} {year}": "Posts de {month} {year}", 21 | "Previous post": "Post anterior", 22 | "Read in English": "Leer en español", 23 | "Read more": "Leer más", 24 | "Source": "Código", 25 | "Tags and Categories": "Tags y Categorías", 26 | "Tags": "Tags", 27 | "old posts, page %d": "posts antiguos, página %d", 28 | "page %d": "página %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_cs.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Dostupné také v", 6 | "Also available in:": "Dostupné také v", 7 | "Archive": "Archiv", 8 | "Categories": "Kategorie", 9 | "LANGUAGE": "Čeština", 10 | "More posts about %s": "Další příspěvky o %s", 11 | "More posts about": "Další příspěvky o", 12 | "Newer posts": "Novější příspěvky", 13 | "Next post": "Další příspěvek", 14 | "Older posts": "Starší příspěvky", 15 | "Original site": "Původní stránka", 16 | "Posted": "Zveřejněno", 17 | "Posted:": "Zveřejněno:", 18 | "Posts about %s": "Příspěvky o %s", 19 | "Posts for year %s": "Příspěvky v roce %s", 20 | "Posts for {month} {year}": "Příspěvky v {month} {year}", 21 | "Previous post": "Předchozí příspěvek", 22 | "Read in English": "Číst v češtině", 23 | "Read more": "Číst dál", 24 | "Source": "Zdroj", 25 | "Tags and Categories": "Štítky a kategorie", 26 | "Tags": "Štítky", 27 | "old posts, page %d": "staré příspěvky, strana %d", 28 | "page %d": "strana %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_fa.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "همچنین قابل دسترس از", 6 | "Also available in:": "همچنین قابل دسترس از:", 7 | "Archive": "آرشیو", 8 | "Categories": "دسته‌ها", 9 | "LANGUAGE": "فارسی", 10 | "More posts about %s": "ارسال‌های بیشتر دربارهٔ%s", 11 | "More posts about": "ارسال‌های بیشتر دربارهٔ", 12 | "Newer posts": "ارسال‌های جدید‌تر", 13 | "Next post": "ارسال بعدی", 14 | "Older posts": "پست‌های قدیمی‌تر", 15 | "Original site": "سایت اصلی", 16 | "Posted": "ارسال شده", 17 | "Posted:": "ارسال شده:", 18 | "Posts about %s": "ارسال‌ها دربارهٔ %s", 19 | "Posts for year %s": "ارسال‌ها برای سال %s", 20 | "Posts for {month} {year}": "ارسال برای {month} {year}", 21 | "Previous post": "ارسال پیشین", 22 | "Read in English": "به فارسی بخوانید", 23 | "Read more": "بیشتر بخوانید", 24 | "Source": "منبع", 25 | "Tags and Categories": "برچسب‌ها و دسته‌ها", 26 | "Tags": "برچسب‌ها", 27 | "old posts, page %d": "صفحهٔ ارسال‌های قدیمی %d", 28 | "page %d": "", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_pl.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Również dostępny w językach", 6 | "Also available in:": "Również dostępny w językach:", 7 | "Archive": "Archiwum", 8 | "Categories": "Kategorie", 9 | "LANGUAGE": "polski", 10 | "More posts about %s": "Więcej postów o %s", 11 | "More posts about": "Więcej postów o", 12 | "Newer posts": "Nowsze posty", 13 | "Next post": "Następny post", 14 | "Older posts": "Starsze posty", 15 | "Original site": "Oryginalna strona", 16 | "Posted": "Opublikowano", 17 | "Posted:": "Opublikowano:", 18 | "Posts about %s": "Posty o %s", 19 | "Posts for year %s": "Posty z roku %s", 20 | "Posts for {month} {year}": "Posty z {month} {year}", 21 | "Previous post": "Poprzedni post", 22 | "Read in English": "Czytaj po polsku", 23 | "Read more": "Czytaj więcej", 24 | "Source": "Źródło", 25 | "Tags and Categories": "Tagi i Kategorie", 26 | "Tags": "Tags", 27 | "old posts, page %d": "stare posty, strona %d", 28 | "page %d": "strona %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_pt_br.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Também disponível em", 6 | "Also available in:": "Também disponível em:", 7 | "Archive": "Arquivo", 8 | "Categories": "Categorias", 9 | "LANGUAGE": "Português", 10 | "More posts about %s": "Mais posts sobre %s", 11 | "More posts about": "Mais posts sobre", 12 | "Newer posts": "Posts mais recentes", 13 | "Next post": "Próximo post", 14 | "Older posts": "Posts mais antigos", 15 | "Original site": "Site original", 16 | "Posted": "Publicado", 17 | "Posted:": "Publicado:", 18 | "Posts about %s": "Posts sobre %s", 19 | "Posts for year %s": "Posts do ano %s", 20 | "Posts for {month} {year}": "Posts de {month} {year}", 21 | "Previous post": "Post anterior", 22 | "Read in English": "Ler em português", 23 | "Read more": "Leia mais", 24 | "Source": "Código", 25 | "Tags and Categories": "Tags e Categorias", 26 | "Tags": "Tags", 27 | "old posts, page %d": "Posts antigos, página %d", 28 | "page %d": "página %d", 29 | } 30 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright © 2012-2014 Roberto Alsina and others. 2 | 3 | Permission is hereby granted, free of charge, to any 4 | person obtaining a copy of this software and associated 5 | documentation files (the "Software"), to deal in the 6 | Software without restriction, including without limitation 7 | the rights to use, copy, modify, merge, publish, 8 | distribute, sublicense, and/or sell copies of the 9 | Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice 13 | shall be included in all copies or substantial portions of 14 | the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 17 | KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 18 | WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 19 | PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 20 | OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 21 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 22 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_hr.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Također dostupno i u", 6 | "Also available in:": "Također dostupno i u:", 7 | "Archive": "Arhiva", 8 | "Categories": "Kategorije", 9 | "LANGUAGE": "hrvatski", 10 | "More posts about %s": "Više postova o %s", 11 | "More posts about": "Više postova o", 12 | "Newer posts": "Noviji postovi", 13 | "Next post": "Sljedeći post", 14 | "Older posts": "Stariji postovi", 15 | "Original site": "Izvorna stranica", 16 | "Posted": "Objavljeno", 17 | "Posted:": "Objavljeno:", 18 | "Posts about %s": "Postovi o %s", 19 | "Posts for year %s": "Postovi za godinu %s", 20 | "Posts for {month} {year}": "Postovi za {month} {year}", 21 | "Previous post": "Prethodni post", 22 | "Read in English": "Čitaj na hrvatskom", 23 | "Read more": "Čitaj dalje", 24 | "Source": "Izvor", 25 | "Tags and Categories": "Tagovi i kategorije", 26 | "Tags": "Tagovi", 27 | "old posts, page %d": "stari postovi, stranice %d", 28 | "page %d": "stranice %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_ru.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Также доступно на", 6 | "Also available in:": "Также доступно на:", 7 | "Archive": "Архив", 8 | "Categories": "Категории", 9 | "LANGUAGE": "Русский", 10 | "More posts about %s": "Больше записей о %s", 11 | "More posts about": "Больше записей о", 12 | "Newer posts": "Новые записи", 13 | "Next post": "Следующая запись", 14 | "Older posts": "Старые записи", 15 | "Original site": "Оригинальный сайт", 16 | "Posted": "Опубликовано", 17 | "Posted:": "Опубликовано:", 18 | "Posts about %s": "Записи о %s", 19 | "Posts for year %s": "Записи за %s год", 20 | "Posts for {month} {year}": "Записи за {month} {year}", 21 | "Previous post": "Предыдущая запись", 22 | "Read in English": "Прочесть по-русски", 23 | "Read more": "Читать далее", 24 | "Source": "Источник", 25 | "Tags and Categories": "Тэги и категории", 26 | "Tags": "Тэги", 27 | "old posts, page %d": "%d страница со старыми записями", 28 | "page %d": "%d страница", 29 | } 30 | -------------------------------------------------------------------------------- /scripts/nikola: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | """Nikola main script.""" 4 | 5 | from __future__ import print_function 6 | import os 7 | import sys 8 | 9 | # LIBDIR trick start (marker for removal on platforms that don't need it) 10 | libdir = '@LIBDIR@' 11 | 12 | # Two cases: 13 | if libdir != '@' 'LIBDIR' '@': 14 | # Changed by our distutils hook, then use the given path. 15 | 16 | if not os.path.isabs(libdir): 17 | libdir = os.path.join(os.path.dirname( 18 | os.path.realpath(__file__)), libdir) 19 | libdir = os.path.abspath(libdir) 20 | else: 21 | # Unchanged, running from checkout, 22 | # use the parent directory, the nikola package ought be there. 23 | libdir = os.path.join(os.path.dirname(__file__), "..") 24 | 25 | sys.path.insert(0, libdir) 26 | 27 | if "PYTHONPATH" not in os.environ: 28 | os.environ["PYTHONPATH"] = libdir 29 | else: 30 | os.environ["PYTHONPATH"] = os.environ["PYTHONPATH"] + ":" + libdir 31 | 32 | # LIBDIR trick end (marker for removal on platforms that don't need it) 33 | 34 | from nikola import __main__ 35 | 36 | if __name__ == "__main__": 37 | sys.exit(__main__.main(sys.argv[1:])) 38 | -------------------------------------------------------------------------------- /nikola/plugins/task/localsearch/MIT-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Tipue Search Copyright (c) 2012 Tipue 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_et.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Saadaval ka", 6 | "Also available in:": "Saadaval ka:", 7 | "Archive": "Arhiiv", 8 | "Categories": "Kategooriad", 9 | "LANGUAGE": "Eesti", 10 | "More posts about %s": "Veel postitusi %s kohta", 11 | "More posts about": "Veel postitusi kohta", 12 | "Newer posts": "Uued postitused", 13 | "Next post": "Järgmine postitus", 14 | "Older posts": "Vanemad postitused", 15 | "Original site": "Algallikas", 16 | "Posted": "Postitatud", 17 | "Posted:": "Postitatud:", 18 | "Posts about %s": "Postitused %s kohta", 19 | "Posts for year %s": "Postitused aastast %s", 20 | "Posts for {month} {year}": "Postitused {year} aasta kuust {month} ", 21 | "Previous post": "Eelmine postitus", 22 | "Read in English": "Loe eesti keeles", 23 | "Read more": "Loe veel", 24 | "Source": "Lähtekood", 25 | "Tags and Categories": "Sildid ja kategooriad", 26 | "Tags": "Märksõnad", 27 | "old posts, page %d": "vanade postituste, leht %d", 28 | "page %d": "leht %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_fr.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Egalement disponible en", 6 | "Also available in:": "Egalement disponible en:", 7 | "Archive": "Archives", 8 | "Categories": "Catégories", 9 | "LANGUAGE": "Français", 10 | "More posts about %s": "Plus d'articles sur %s", 11 | "More posts about": "Plus d'articles sur", 12 | "Newer posts": "Billets récents", 13 | "Next post": "Article suivant", 14 | "Older posts": "Anciens articles", 15 | "Original site": "Site d'origine", 16 | "Posted": "Publié", 17 | "Posted:": "Publié:", 18 | "Posts about %s": "Articles sur %s", 19 | "Posts for year %s": "Articles de l'année %s", 20 | "Posts for {month} {year}": "Articles de {month} {year}", 21 | "Previous post": "Article précédent", 22 | "Read in English": "Lire en français", 23 | "Read more": "Lire la suite", 24 | "Source": "Source", 25 | "Tags and Categories": "Étiquettes et catégories", 26 | "Tags": "Étiquettes", 27 | "old posts, page %d": "anciens articles, page %d", 28 | "page %d": "page %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_nl.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Ook beschikbaar in", 6 | "Also available in:": "Ook beschikbaar in:", 7 | "Archive": "Archief", 8 | "Categories": "Categorieën", 9 | "LANGUAGE": "Nederlands", 10 | "More posts about %s": "Meer berichten over %s", 11 | "More posts about": "Meer berichten over", 12 | "Newer posts": "Nieuwere berichten", 13 | "Next post": "Volgend bericht", 14 | "Older posts": "Oudere berichten", 15 | "Original site": "Originele site", 16 | "Posted": "Geplaatst", 17 | "Posted:": "Geplaatst:", 18 | "Posts about %s": "Berichten over %s", 19 | "Posts for year %s": "Berichten voor het jaar %s", 20 | "Posts for {month} {year}": "Berichten voor {month} {year}", 21 | "Previous post": "Vorig bericht", 22 | "Read in English": "Lees in het Nederlands", 23 | "Read more": "Lees verder", 24 | "Source": "Bron", 25 | "Tags and Categories": "Tags en Categorieën", 26 | "Tags": "Tags", 27 | "old posts, page %d": "oude berichten, pagina %d", 28 | "page %d": "pagina %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_de.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Auch verfügbar in", 6 | "Also available in:": "Auch verfügbar in:", 7 | "Archive": "Archiv", 8 | "Categories": "Kategorien", 9 | "LANGUAGE": "Deutsch", 10 | "More posts about %s": "Weitere Einträge über %s", 11 | "More posts about": "Weitere Einträge über", 12 | "Newer posts": "Neuere Einträge", 13 | "Next post": "Nächster Eintrag", 14 | "Older posts": "Ältere Einträge", 15 | "Original site": "Original-Seite", 16 | "Posted": "Veröffentlicht", 17 | "Posted:": "Veröffentlicht:", 18 | "Posts about %s": "Einträge über %s", 19 | "Posts for year %s": "Einträge aus dem Jahr %s", 20 | "Posts for {month} {year}": "Einträge aus {month} {year}", 21 | "Previous post": "Vorheriger Eintrag", 22 | "Read in English": "Auf Deutsch lesen", 23 | "Read more": "Weiterlesen", 24 | "Source": "Source", 25 | "Tags and Categories": "Tags und Kategorien", 26 | "Tags": "Tags", 27 | "old posts, page %d": "Vorherige Einträge, Seite %d", 28 | "page %d": "Seite %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_tr_tr.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Şu dilde de mevcut", 6 | "Also available in:": "Şu dilde de mevcut:", 7 | "Archive": "Arşiv", 8 | "Categories": "Kategoriler", 9 | "LANGUAGE": "Türkçe", 10 | "More posts about %s": "%s ilgili diğer yazılar", 11 | "More posts about": " ilgili diğer yazılar", 12 | "Newer posts": "Daha yeni yazılar", 13 | "Next post": "Sonraki yazı", 14 | "Older posts": "Daha eski yazılar", 15 | "Original site": "Orjinal web sayfası", 16 | "Posted": "Yayın tarihi", 17 | "Posted:": "Yayın tarihi:", 18 | "Posts about %s": "%s ile ilgili yazılar", 19 | "Posts for year %s": "%s yılındaki yazılar", 20 | "Posts for {month} {year}": "{month} {year} göre yazılar", 21 | "Previous post": "Önceki yazı", 22 | "Read in English": "Türkçe olarak oku", 23 | "Read more": "Devamını oku", 24 | "Source": "Kaynak", 25 | "Tags and Categories": "Etiketler ve Kategoriler", 26 | "Tags": "Etiketler", 27 | "old posts, page %d": "eski yazılar, sayfa %d", 28 | "page %d": "sayfa %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_it.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Anche disponibile in", 6 | "Also available in:": "Anche disponibile in:", 7 | "Archive": "Archivio", 8 | "Categories": "Categorie", 9 | "LANGUAGE": "Italiano", 10 | "More posts about %s": "Altri articoli collegati %s", 11 | "More posts about": "Altri articoli collegati", 12 | "Newer posts": "Articoli recenti", 13 | "Next post": "Articolo successivo", 14 | "Older posts": "Articoli precedenti", 15 | "Original site": "Sito originale", 16 | "Posted": "Pubblicato", 17 | "Posted:": "Pubblicato:", 18 | "Posts about %s": "Articoli su %s", 19 | "Posts for year %s": "Articoli per l'anno %s", 20 | "Posts for {month} {year}": "Articoli per {month} {year}", 21 | "Previous post": "Articolo precedente", 22 | "Read in English": "Leggi in italiano", 23 | "Read more": "Espandi", 24 | "Source": "Sorgente", 25 | "Tags and Categories": "Tags e Categorie", 26 | "Tags": "Tags", 27 | "old posts, page %d": "pagina dei vecchi articoli %d", 28 | "page %d": "pagina %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_eu.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Eskuragarria hemen ere", 6 | "Also available in:": "Eskuragarria hemen ere:", 7 | "Archive": "Artxiboa", 8 | "Categories": "Kategoriak", 9 | "LANGUAGE": "Euskara", 10 | "More posts about %s": "%s-ri buruzko post gehiago", 11 | "More posts about": "-ri buruzko post gehiago", 12 | "Newer posts": "Post berrienak", 13 | "Next post": "Hurrengo posta", 14 | "Older posts": "Post zaharrenak", 15 | "Original site": "Jatorrizko orria", 16 | "Posted": "Argitaratuta", 17 | "Posted:": "Argitaratuta:", 18 | "Posts about %s": "%s-ri buruzko postak", 19 | "Posts for year %s": "%s. urteko postak", 20 | "Posts for {month} {year}": "{year}ko {month}ren postak", 21 | "Previous post": "Aurreko posta", 22 | "Read in English": "Euskaraz irakurri", 23 | "Read more": "Irakurri gehiago", 24 | "Source": "Iturria", 25 | "Tags and Categories": "Etiketak eta Kategoriak", 26 | "Tags": "Etiketak", 27 | "old posts, page %d": "Post zaharren, orria %d", 28 | "page %d": "orria %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_fi.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Saatavilla myös", 6 | "Also available in:": "Saatavilla myös:", 7 | "Archive": "Arkisto", 8 | "Categories": "Kategoriat", 9 | "LANGUAGE": "Suomi", 10 | "More posts about %s": "Lisää postauksia aiheesta %s", 11 | "More posts about": "Lisää postauksia aiheesta", 12 | "Newer posts": "Uudempia postauksia", 13 | "Next post": "Seuraava postaus", 14 | "Older posts": "Vanhempia postauksia", 15 | "Original site": "Alkuperäinen sivusto", 16 | "Posted": "Postattu", 17 | "Posted:": "Postattu:", 18 | "Posts about %s": "Postauksia aiheesta %s", 19 | "Posts for year %s": "Postauksia vuodelta %s", 20 | "Posts for {month} {year}": "Postauksia ajalle {month} {year}", 21 | "Previous post": "Vanhempia postauksia", 22 | "Read in English": "Lue suomeksi", 23 | "Read more": "Lue lisää", 24 | "Source": "Lähde", 25 | "Tags and Categories": "Tagit ja kategoriat", 26 | "Tags": "Tagit", 27 | "old posts, page %d": "vanhojen postauksien, sivu %d", 28 | "page %d": "sivu %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_bg.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Също достъпно в", 6 | "Also available in:": "Също достъпно в:", 7 | "Archive": "Архив", 8 | "Categories": "Категории", 9 | "LANGUAGE": "Български", 10 | "More posts about %s": "Още публикации относно %s", 11 | "More posts about": "Още публикации относно", 12 | "Newer posts": "Нови публикации", 13 | "Next post": "Следваща публикация", 14 | "Older posts": "Стари публикации", 15 | "Original site": "Оригиналния сайт", 16 | "Posted": "Публиковано", 17 | "Posted:": "Публиковано:", 18 | "Posts about %s": "Публикации относно %s", 19 | "Posts for year %s": "Публикации за %s година", 20 | "Posts for {month} {year}": "Публикации за {month} {year}", 21 | "Previous post": "Предишна публикация", 22 | "Read in English": "Прочетете на български", 23 | "Read more": "Прочети още", 24 | "Source": "Source", 25 | "Tags and Categories": "Тагове и Категории", 26 | "Tags": "Тагове", 27 | "old posts, page %d": "стари публикации, страница %d", 28 | "page %d": "страница %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap/README.md: -------------------------------------------------------------------------------- 1 | A "website-done-with-bootstrap" theme, so to speak. 2 | 3 | Has a fixed navigation bar at top that displays the NAVIGATION_LINKS 4 | setting and supports nested menus. 5 | 6 | This theme is used in Nikola's website: http://getnikola.com 7 | 8 | Important: To fit in the bootstrap navigation bar, the search form needs the 9 | navbar-form and pull-left CSS classes applied. Here is an example with Nikola's 10 | default duckduckgo search form: 11 | 12 | SEARCH_FORM = """ 13 | 14 | 22 | 23 | """ % SITE_URL 24 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_eo.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Ankaŭ disponebla en", 6 | "Also available in:": "Ankaŭ disponebla en:", 7 | "Archive": "Arĥivo", 8 | "Categories": "Kategorioj", 9 | "LANGUAGE": "Anglalingve", 10 | "More posts about %s": "Pli artikoloj pri %s", 11 | "More posts about": "Pli artikoloj pri", 12 | "Newer posts": "Pli novaj artikoloj", 13 | "Next post": "Venonta artikolo", 14 | "Older posts": "Pli malnovaj artikoloj", 15 | "Original site": "Originala interretejo", 16 | "Posted": "Skribita", 17 | "Posted:": "Skribita:", 18 | "Posts about %s": "Artikoloj pri %s", 19 | "Posts for year %s": "Artikoloj de la jaro %s", 20 | "Posts for {month} {year}": "Artikoloj skribitaj en {month} {year}", 21 | "Previous post": "Antaŭa artikolo", 22 | "Read in English": "Legu ĝin en Esperanto", 23 | "Read more": "Legu plu", 24 | "Source": "Fonto", 25 | "Tags and Categories": "Etikedoj kaj Kategorioj", 26 | "Tags": "Etikedoj", 27 | "old posts, page %d": "paĝo de malnovaj artikoloj %d", 28 | "page %d": "paĝo %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/index.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%namespace name="helper" file="index_helper.tmpl"/> 3 | <%namespace name="comments" file="comments_helper.tmpl"/> 4 | <%inherit file="base.tmpl"/> 5 | <%block name="content"> 6 | % for post in posts: 7 |
8 |

${post.title()} 9 |    10 | ${messages("Posted:")} 11 |

12 |
13 | %if index_teasers: 14 |
15 | ${post.text(teaser_only=True)} 16 | %else: 17 |
18 | ${post.text(teaser_only=False)} 19 | %endif 20 |
21 | % if not post.meta('nocomments'): 22 | ${comments.comment_link(post.permalink(), post._base_path)} 23 | % endif 24 |
25 | % endfor 26 | ${helper.html_pager()} 27 | ${comments.comment_link_script()} 28 | ${helper.mathjax_script(posts)} 29 | 30 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright © 2012-2014 Roberto Alsina and others. 4 | 5 | # Permission is hereby granted, free of charge, to any 6 | # person obtaining a copy of this software and associated 7 | # documentation files (the "Software"), to deal in the 8 | # Software without restriction, including without limitation 9 | # the rights to use, copy, modify, merge, publish, 10 | # distribute, sublicense, and/or sell copies of the 11 | # Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice 15 | # shall be included in all copies or substantial portions of 16 | # the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 19 | # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 20 | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 21 | # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 22 | # OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 23 | # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 24 | # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/base.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%namespace name="base" file="base_helper.tmpl" import="*"/> 3 | <%namespace name="annotations" file="annotation_helper.tmpl"/> 4 | ${set_locale(lang)} 5 | 6 | 11 | 12 | ${base.html_head()} 13 | <%block name="extra_head"> 14 | 15 | ${extra_head_data} 16 | 17 | 18 |

19 | ${blog_title} 20 |

21 | <%block name="belowtitle"> 22 | %if len(translations) > 1: 23 | 24 | ${messages("Also available in:")}  25 | ${base.html_translations()} 26 | 27 | %endif 28 | 29 | <%block name="content"> 30 | ${content_footer} 31 | 32 |
    33 |
  • ${license} 34 | ${base.html_social()} 35 | ${base.html_navigation_links()} 36 |
  • ${search_form} 37 |
38 | ${base.late_load_js()} 39 | ${social_buttons_code} 40 | 41 | 42 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/livefyre_helper.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%def name="comment_form(url, title, identifier)"> 3 |
4 | 5 | 21 | 22 | 23 | <%def name="comment_link(link, identifier)"> 24 |

25 | 26 | 27 | 0 Comments 28 | 29 | 30 | 31 | 32 | <%def name="comment_link_script()"> 33 | 37 | 38 | -------------------------------------------------------------------------------- /nikola/plugins/task/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright © 2012-2014 Roberto Alsina and others. 4 | 5 | # Permission is hereby granted, free of charge, to any 6 | # person obtaining a copy of this software and associated 7 | # documentation files (the "Software"), to deal in the 8 | # Software without restriction, including without limitation 9 | # the rights to use, copy, modify, merge, publish, 10 | # distribute, sublicense, and/or sell copies of the 11 | # Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice 15 | # shall be included in all copies or substantial portions of 16 | # the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 19 | # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 20 | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 21 | # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 22 | # OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 23 | # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 24 | # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /nikola/plugins/command/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright © 2012-2014 Roberto Alsina and others. 4 | 5 | # Permission is hereby granted, free of charge, to any 6 | # person obtaining a copy of this software and associated 7 | # documentation files (the "Software"), to deal in the 8 | # Software without restriction, including without limitation 9 | # the rights to use, copy, modify, merge, publish, 10 | # distribute, sublicense, and/or sell copies of the 11 | # Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice 15 | # shall be included in all copies or substantial portions of 16 | # the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 19 | # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 20 | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 21 | # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 22 | # OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 23 | # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 24 | # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /nikola/plugins/compile/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright © 2012-2014 Roberto Alsina and others. 4 | 5 | # Permission is hereby granted, free of charge, to any 6 | # person obtaining a copy of this software and associated 7 | # documentation files (the "Software"), to deal in the 8 | # Software without restriction, including without limitation 9 | # the rights to use, copy, modify, merge, publish, 10 | # distribute, sublicense, and/or sell copies of the 11 | # Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice 15 | # shall be included in all copies or substantial portions of 16 | # the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 19 | # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 20 | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 21 | # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 22 | # OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 23 | # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 24 | # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /nikola/plugins/loghandler/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright © 2012-2014 Roberto Alsina and others. 4 | 5 | # Permission is hereby granted, free of charge, to any 6 | # person obtaining a copy of this software and associated 7 | # documentation files (the "Software"), to deal in the 8 | # Software without restriction, including without limitation 9 | # the rights to use, copy, modify, merge, publish, 10 | # distribute, sublicense, and/or sell copies of the 11 | # Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice 15 | # shall be included in all copies or substantial portions of 16 | # the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 19 | # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 20 | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 21 | # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 22 | # OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 23 | # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 24 | # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /nikola/plugins/template/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright © 2012-2014 Roberto Alsina and others. 4 | 5 | # Permission is hereby granted, free of charge, to any 6 | # person obtaining a copy of this software and associated 7 | # documentation files (the "Software"), to deal in the 8 | # Software without restriction, including without limitation 9 | # the rights to use, copy, modify, merge, publish, 10 | # distribute, sublicense, and/or sell copies of the 11 | # Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice 15 | # shall be included in all copies or substantial portions of 16 | # the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 19 | # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 20 | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 21 | # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 22 | # OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 23 | # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 24 | # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /nikola/plugins/task/localsearch/files/tipue_search.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Tipue Search 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |

18 |
19 |
20 | 21 | 22 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /nikola/data/themes/base/messages/messages_el.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | MESSAGES = { 5 | "Also available in": "Διαθέσιμο και στα", 6 | "Also available in:": "Διαθέσιμο και στα:", 7 | "Archive": "Αρχείο", 8 | "Categories": "Κατηγορίες", 9 | "LANGUAGE": "Ελληνικά", 10 | "More posts about %s": "Περισσότερες αναρτήσεις για %s", 11 | "More posts about": "Περισσότερες αναρτήσεις για", 12 | "Newer posts": "Νεότερες αναρτήσεις", 13 | "Next post": "Επόμενη ανάρτηση", 14 | "Older posts": "Παλαιότερες αναρτήσεις", 15 | "Original site": "Ιστοσελίδα αρχικής ανάρτησης", 16 | "Posted": "Αναρτήθηκε", 17 | "Posted:": "Αναρτήθηκε:", 18 | "Posts about %s": "Αναρτήσεις για %s", 19 | "Posts for year %s": "Αναρτήσεις για το έτος %s", 20 | "Posts for {month} {year}": "Αναρτήσεις για τον {month} του {year}", 21 | "Previous post": "Προηγούμενη ανάρτηση", 22 | "Read in English": "Διαβάστε στα Ελληνικά", 23 | "Read more": "Διαβάστε περισσότερα", 24 | "Source": "Πηγαίος κώδικας", 25 | "Tags and Categories": "Ετικέτες και κατηγορίες", 26 | "Tags": "Ετικέτες", 27 | "old posts, page %d": "σελίδα παλαιότερων αναρτήσεων %d", 28 | "page %d": "σελίδα %d", 29 | } 30 | -------------------------------------------------------------------------------- /nikola/plugins/compile/ipynb/README.txt: -------------------------------------------------------------------------------- 1 | To make this work... 2 | 3 | 1- You can install the "jinja-site-ipython" theme using this command: 4 | 5 | $ nikola install_theme -n jinja-site-ipython 6 | 7 | (or xkcd-site-ipython, if you want xkcd styling) 8 | 9 | More info here about themes: 10 | http://getnikola.com/handbook.html#getting-more-themes 11 | 12 | OR 13 | 14 | You can to download the "jinja-site-ipython" theme from here: 15 | https://github.com/damianavila/jinja-site-ipython-theme-for-Nikola 16 | and copy the "site-ipython" folder inside the "themes" folder of your site. 17 | 18 | 19 | 2- Then, just add: 20 | 21 | post_pages = ( 22 | ("posts/*.ipynb", "posts", "post.tmpl", True), 23 | ("stories/*.ipynb", "stories", "story.tmpl", False), 24 | ) 25 | 26 | and 27 | 28 | THEME = 'jinja-site-ipython' (or 'xkcd-site-ipython', if you want xkcd styling) 29 | 30 | to your conf.py. 31 | Finally... to use it: 32 | 33 | $nikola new_page -f ipynb 34 | 35 | **NOTE**: Just IGNORE the "-1" and "-2" options in nikola new_page command, by default this compiler 36 | create one metadata file and the corresponding naive IPython notebook. 37 | 38 | $nikola build 39 | 40 | And deploy the output folder... to see it locally: $nikola serve 41 | If you have any doubts, just ask: @damianavila 42 | 43 | Cheers. 44 | Damián 45 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/tag.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%inherit file="list_post.tmpl"/> 3 | <%block name="extra_head"> 4 | %if len(translations) > 1: 5 | %for language in translations: 6 | 7 | %endfor 8 | %else: 9 | 10 | %endif 11 | 12 | 13 | <%block name="content"> 14 | 15 |
16 |

${title}

17 | %if len(translations) > 1: 18 | %for language in translations: 19 | RSS (${language})  20 | %endfor 21 | %else: 22 | RSS 23 | %endif 24 |
25 | 30 |
31 | 32 | 33 | -------------------------------------------------------------------------------- /nikola/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright © 2012-2014 Roberto Alsina and others. 4 | 5 | # Permission is hereby granted, free of charge, to any 6 | # person obtaining a copy of this software and associated 7 | # documentation files (the "Software"), to deal in the 8 | # Software without restriction, including without limitation 9 | # the rights to use, copy, modify, merge, publish, 10 | # distribute, sublicense, and/or sell copies of the 11 | # Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice 15 | # shall be included in all copies or substantial portions of 16 | # the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 19 | # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 20 | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 21 | # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 22 | # OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 23 | # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 24 | # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | 27 | from __future__ import absolute_import 28 | import os 29 | 30 | __version__ = "6.3.0" 31 | DEBUG = bool(os.getenv('NIKOLA_DEBUG')) 32 | 33 | from .nikola import Nikola # NOQA 34 | from . import plugins # NOQA 35 | -------------------------------------------------------------------------------- /tests/import_wordpress_and_build_workflow.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Script to test the import workflow. 4 | 5 | It will remove an existing Nikola installation and then install from the 6 | package directory. 7 | After that it will do create a new site with the import_wordpress 8 | command and use that newly created site to make a build. 9 | """ 10 | from __future__ import unicode_literals, print_function 11 | 12 | import os 13 | import shutil 14 | 15 | TEST_SITE_DIRECTORY = 'import_test_site' 16 | 17 | 18 | def main(import_directory=None): 19 | if import_directory is None: 20 | import_directory = TEST_SITE_DIRECTORY 21 | 22 | if os.path.exists(import_directory): 23 | print('deleting %s' % import_directory) 24 | shutil.rmtree(import_directory) 25 | 26 | test_directory = os.path.dirname(__file__) 27 | package_directory = os.path.abspath(os.path.join(test_directory, '..')) 28 | 29 | os.system('pip uninstall -y Nikola') 30 | os.system('pip install %s' % package_directory) 31 | os.system('nikola') 32 | import_file = os.path.join(test_directory, 'wordpress_export_example.xml') 33 | os.system( 34 | 'nikola import_wordpress -o {folder} {file}'.format(file=import_file, 35 | folder=import_directory)) 36 | 37 | assert os.path.exists( 38 | import_directory), "The directory %s should be existing." 39 | os.chdir(import_directory) 40 | os.system('nikola build') 41 | 42 | if __name__ == '__main__': 43 | main() 44 | -------------------------------------------------------------------------------- /nikola/plugins/task/mustache/mustache.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /scripts/set_version.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """Script to set the version number wherever it's needed before a release.""" 5 | 6 | from __future__ import unicode_literals, print_function 7 | import codecs 8 | import os 9 | import re 10 | import sys 11 | import glob 12 | 13 | 14 | def sed_like_thing(pattern, repl, path): 15 | """Like re.sub but applies to a file instead of a string.""" 16 | 17 | with codecs.open(path, 'rb', 'utf8') as inf: 18 | data = inf.read() 19 | 20 | data = re.sub(pattern, repl, data) 21 | 22 | with codecs.open(path, 'wb+', 'utf8') as outf: 23 | outf.write(data) 24 | 25 | if __name__ == "__main__": 26 | print("New version number (in format X.Y.Z): ", end="") 27 | sys.stdout.flush() 28 | version = sys.stdin.readline().strip() 29 | 30 | for doc in glob.glob(os.path.join("docs/*.txt")): 31 | sed_like_thing(":Version: .*", ":Version: {0}".format(version), doc) 32 | 33 | sed_like_thing("version='.+'", "version='{0}'".format(version), 'setup.py') 34 | sed_like_thing("version = '.+'", "version = '{0}'".format(version), os.path.join('docs', 'sphinx', 'conf.py')) 35 | sed_like_thing("release = '.+'", "release = '{0}'".format(version), os.path.join('docs', 'sphinx', 'conf.py')) 36 | sed_like_thing('__version__ = ".*"', '__version__ = "{0}"'.format(version), os.path.join('nikola', '__init__.py')) 37 | sed_like_thing('New in master', 'New in v{0}'.format(version), 'CHANGES.txt') 38 | os.system("help2man -h help -N --version-string='{0}' nikola > {1}".format(version, os.path.join('docs', 'man', 'nikola.1'))) 39 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/post.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%namespace name="helper" file="post_helper.tmpl"/> 3 | <%namespace name="comments" file="comments_helper.tmpl"/> 4 | <%inherit file="base.tmpl"/> 5 | <%block name="extra_head"> 6 | ${helper.twitter_card_information(post)} 7 | % if post.meta('keywords'): 8 | 9 | % endif 10 | ${helper.meta_translations(post)} 11 | 12 | <%block name="content"> 13 |
14 |
15 | ${helper.html_title()} 16 |
17 | 18 | ${messages("Posted:")} 19 | ${helper.html_translations(post)} 20 | ${helper.html_tags(post)} 21 |   |   22 | <%block name="sourcelink"> 23 | % if not post.meta('password'): 24 | ${messages("Source")} 25 | % endif 26 | 27 | 28 |
29 |
30 | ${post.text()} 31 |
32 | %if post.description(): 33 | 34 | %endif 35 |
36 | ${helper.html_pager(post)} 37 | % if not post.meta('nocomments'): 38 | ${comments.comment_form(post.permalink(absolute=True), post.title(), post._base_path)} 39 | % endif 40 | ${helper.mathjax_script(post)} 41 |
42 | 43 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/templates/post.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%namespace name="helper" file="post_helper.tmpl"/> 3 | <%namespace name="comments" file="comments_helper.tmpl"/> 4 | <%inherit file="base.tmpl"/> 5 | <%block name="extra_head"> 6 | ${helper.twitter_card_information(post)} 7 | % if post.meta('keywords'): 8 | 9 | % endif 10 | ${helper.meta_translations(post)} 11 | 12 | <%block name="content"> 13 |
14 |
15 | ${helper.html_title()} 16 |
17 | 18 | ${messages("Posted:")} 19 | ${helper.html_translations(post)} 20 | ${helper.html_tags(post)} 21 | 22 |
23 |
24 | ${post.text()} 25 |
26 | %if post.description(): 27 | 28 | %endif 29 |
30 | ${helper.html_pager(post)} 31 | % if not post.meta('nocomments'): 32 | ${comments.comment_form(post.permalink(absolute=True), post.title(), post._base_path)} 33 | % endif 34 | ${helper.mathjax_script(post)} 35 |
36 | 37 | 38 | <%block name="sourcelink"> 39 | % if not post.meta('password'): 40 |
  • 41 | ${messages("Source")} 42 |
  • 43 | % endif 44 | 45 | -------------------------------------------------------------------------------- /nikola/plugins/command/version.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright © 2012-2014 Roberto Alsina and others. 4 | 5 | # Permission is hereby granted, free of charge, to any 6 | # person obtaining a copy of this software and associated 7 | # documentation files (the "Software"), to deal in the 8 | # Software without restriction, including without limitation 9 | # the rights to use, copy, modify, merge, publish, 10 | # distribute, sublicense, and/or sell copies of the 11 | # Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice 15 | # shall be included in all copies or substantial portions of 16 | # the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 19 | # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 20 | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 21 | # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 22 | # OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 23 | # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 24 | # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | 27 | from __future__ import print_function 28 | 29 | from nikola.plugin_categories import Command 30 | from nikola import __version__ 31 | 32 | 33 | class CommandVersion(Command): 34 | """Print the version.""" 35 | 36 | name = "version" 37 | 38 | doc_usage = "" 39 | needs_config = False 40 | doc_purpose = "print the Nikola version number" 41 | 42 | def _execute(self, options={}, args=None): 43 | """Print the version number.""" 44 | print("Nikola v" + __version__) 45 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | before_install: 2 | - "if [[ $NMODE == 'nikola' ]]; then sudo apt-get update -qq || true; fi" 3 | - "if [[ $NMODE == 'nikola' ]]; then sudo apt-get --reinstall install -qq language-pack-en-base language-pack-pl-base; fi" 4 | - "pip install --upgrade pip wheel" 5 | language: python 6 | cache: apt 7 | python: 8 | - "2.6" 9 | - "2.7" 10 | - "3.3" 11 | matrix: 12 | include: 13 | - python: "2.7" 14 | env: NMODE=flake8 15 | env: 16 | NMODE=nikola 17 | install: 18 | - "if [[ $NMODE == 'nikola' ]]; then wget https://github.com/getnikola/wheelhouse/archive/$(scripts/getpyver.py).zip; fi" 19 | - "if [[ $NMODE == 'nikola' ]]; then unzip $(scripts/getpyver.py).zip; fi" 20 | - "if [[ $NMODE == 'nikola' ]]; then pip install --use-wheel --no-index --find-links=wheelhouse-$(scripts/getpyver.py short) lxml Pillow ipython; fi" 21 | - "if [[ $NMODE == 'nikola' ]]; then pip install -r requirements-tests.txt; fi" 22 | - "if [[ $NMODE == 'nikola' ]]; then pip install .; fi" 23 | - "if [[ $NMODE == 'flake8' ]]; then pip install flake8; fi" 24 | # We run tests and nikola (to see if the command is executable) OR flake8. 25 | script: 26 | - "if [[ $NMODE == 'nikola' ]]; then nosetests --with-coverage --cover-package=nikola --with-doctest --doctest-options=+NORMALIZE_WHITESPACE --logging-filter=-yapsy; fi" 27 | - "if [[ $NMODE == 'nikola' ]]; then nikola help; fi" 28 | - "if [[ $NMODE == 'flake8' ]]; then flake8 .; fi" 29 | after_success: 30 | - "if [[ $NMODE == 'nikola' ]]; then coveralls; fi" 31 | notifications: 32 | irc: 33 | channels: 34 | - "chat.freenode.net#nikola" 35 | template: 36 | - "%{repository}#%{build_number} (%{branch} - %{commit} : %{author}): %{message}" 37 | - "Change view: %{compare_url}" 38 | - "Build details: %{build_url}" 39 | -------------------------------------------------------------------------------- /scripts/import_po.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | """Download translations from transifex and regenerate files.""" 4 | 5 | from __future__ import unicode_literals, print_function 6 | import codecs 7 | from glob import glob 8 | import os 9 | 10 | import polib 11 | 12 | os.system("tx pull -a") 13 | trans_files = glob(os.path.join('translations', 'nikola.messages', '*.po')) 14 | for fname in trans_files: 15 | lang = os.path.splitext(os.path.basename(fname))[0].lower() 16 | outf = os.path.join('nikola', 'data', 'themes', 'base', 17 | 'messages', 'messages_{0}.py'.format(lang)) 18 | po = polib.pofile(fname) 19 | lines = """# -*- encoding:utf-8 -*- 20 | from __future__ import unicode_literals 21 | 22 | MESSAGES = {""".splitlines() 23 | lines2 = [] 24 | for entry in po: 25 | lines2.append(' "{0}": "{1}",'. format(entry.msgid, entry.msgstr)) 26 | ### BACKWARDS COMPATIBILITY PATCH START 27 | ### TODO: remove in v7 28 | if entry.msgid in ["Posted:", "Also available in:"]: 29 | fid = entry.msgid 30 | fid = fid.replace(':', '') 31 | fstr = entry.msgstr 32 | fstr = fstr.replace(':', '').replace(':', '') 33 | lines2.append(' "{0}": "{1}",'. format(fid, fstr)) 34 | elif entry.msgid == 'More posts about %s': 35 | fid = entry.msgid 36 | fid = fid.replace(' %s', '') 37 | fstr = entry.msgstr 38 | fstr = fstr.replace(' %s', '').replace('%s', '') 39 | lines2.append(' "{0}": "{1}",'. format(fid, fstr)) 40 | ### BACKWARDS COMPATIBILITY PATCH END 41 | ### TODO: remove in v7 42 | lines.extend(sorted(lines2)) 43 | lines.append("}\n") 44 | print("Generating:", outf) 45 | with codecs.open(outf, "wb+", "utf8") as outfile: 46 | outfile.write('\n'.join(lines)) 47 | -------------------------------------------------------------------------------- /nikola/plugins/command/orphans.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright © 2012-2014 Roberto Alsina, Chris Warrick and others. 4 | 5 | # Permission is hereby granted, free of charge, to any 6 | # person obtaining a copy of this software and associated 7 | # documentation files (the "Software"), to deal in the 8 | # Software without restriction, including without limitation 9 | # the rights to use, copy, modify, merge, publish, 10 | # distribute, sublicense, and/or sell copies of the 11 | # Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice 15 | # shall be included in all copies or substantial portions of 16 | # the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 19 | # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 20 | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 21 | # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 22 | # OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 23 | # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 24 | # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | 27 | from __future__ import print_function 28 | import os 29 | 30 | from nikola.plugin_categories import Command 31 | from nikola.plugins.command.check import real_scan_files 32 | 33 | 34 | class CommandOrphans(Command): 35 | name = "orphans" 36 | doc_purpose = "list all orphans" 37 | doc_description = """\ 38 | List all orphans, i.e. all files that are in the output directory, 39 | but are not generated by Nikola. 40 | 41 | Output contains filenames only (it is passable to `xargs rm` or the like).""" 42 | 43 | def _execute(self, options, args): 44 | orphans = real_scan_files(self.site)[0] 45 | print('\n'.join([p for p in orphans if not os.path.isdir(p)])) 46 | -------------------------------------------------------------------------------- /translations/nikola.messages/en.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Roberto Alsina , 2013. 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: Nikola\n" 10 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 11 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 12 | "PO-Revision-Date: 2013-03-15 15:29+0000\n" 13 | "Last-Translator: ralsina \n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Language: en\n" 18 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 19 | 20 | msgid "More posts about %s" 21 | msgstr "More posts about %s" 22 | 23 | msgid "LANGUAGE" 24 | msgstr "English" 25 | 26 | msgid "Tags" 27 | msgstr "Tags" 28 | 29 | msgid "Categories" 30 | msgstr "Categories" 31 | 32 | msgid "Tags and Categories" 33 | msgstr "Tags and Categories" 34 | 35 | msgid "Read more" 36 | msgstr "Read more" 37 | 38 | msgid "Posts about %s" 39 | msgstr "Posts about %s" 40 | 41 | msgid "Next post" 42 | msgstr "Next post" 43 | 44 | msgid "old posts, page %d" 45 | msgstr "old posts, page %d" 46 | 47 | msgid "page %d" 48 | msgstr "page %d" 49 | 50 | msgid "Source" 51 | msgstr "Source" 52 | 53 | #. Here your translation should not say English but the name of your language instead 54 | msgid "Read in English" 55 | msgstr "Read in English" 56 | 57 | msgid "Posts for year %s" 58 | msgstr "Posts for year %s" 59 | 60 | msgid "Newer posts" 61 | msgstr "Newer posts" 62 | 63 | msgid "Previous post" 64 | msgstr "Previous post" 65 | 66 | msgid "Also available in:" 67 | msgstr "Also available in:" 68 | 69 | msgid "Original site" 70 | msgstr "Original site" 71 | 72 | msgid "Older posts" 73 | msgstr "Older posts" 74 | 75 | msgid "Archive" 76 | msgstr "Archive" 77 | 78 | msgid "Posted:" 79 | msgstr "Posted:" 80 | 81 | msgid "Posts for {month} {year}" 82 | msgstr "Posts for {month} {year}" 83 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/facebook_helper.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%def name="comment_form(url, title, identifier)"> 3 |
    4 | 24 | 25 |
    26 | 27 | 28 | <%def name="comment_link(link, identifier)"> 29 | 30 | 31 | 32 | <%def name="comment_link_script()"> 33 |
    34 | 62 | 63 | -------------------------------------------------------------------------------- /translations/nikola.messages/nb.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # Daniel , 2013 8 | msgid "" 9 | msgstr "" 10 | "Project-Id-Version: Nikola\n" 11 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 12 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 13 | "PO-Revision-Date: 2014-01-22 13:13+0000\n" 14 | "Last-Translator: Kwpolska \n" 15 | "Language-Team: Norwegian Bokmål (http://www.transifex.com/projects/p/nikola/language/nb/)\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Language: nb\n" 20 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 21 | 22 | msgid "More posts about %s" 23 | msgstr "Flere innlegg om %s" 24 | 25 | msgid "LANGUAGE" 26 | msgstr "norsk" 27 | 28 | msgid "Tags" 29 | msgstr "Merker" 30 | 31 | msgid "Categories" 32 | msgstr "Kategorier" 33 | 34 | msgid "Tags and Categories" 35 | msgstr "Merker og kategorier" 36 | 37 | msgid "Read more" 38 | msgstr "Les mer" 39 | 40 | msgid "Posts about %s" 41 | msgstr "Innlegg om %s" 42 | 43 | msgid "Next post" 44 | msgstr "Neste innlegg" 45 | 46 | msgid "old posts, page %d" 47 | msgstr "eldre innlegg, side %d" 48 | 49 | msgid "page %d" 50 | msgstr "side %d" 51 | 52 | msgid "Source" 53 | msgstr "Kilde" 54 | 55 | #. Here your translation should not say English but the name of your language 56 | #. instead 57 | msgid "Read in English" 58 | msgstr "Les på norsk" 59 | 60 | msgid "Posts for year %s" 61 | msgstr "Innlegg fra %s" 62 | 63 | msgid "Newer posts" 64 | msgstr "Nyere innlegg" 65 | 66 | msgid "Previous post" 67 | msgstr "Forrige innlegg" 68 | 69 | msgid "Also available in:" 70 | msgstr "Også tilgjengelig på:" 71 | 72 | msgid "Original site" 73 | msgstr "Opprinnelig side" 74 | 75 | msgid "Older posts" 76 | msgstr "Eldre innlegg" 77 | 78 | msgid "Archive" 79 | msgstr "Arkiv" 80 | 81 | msgid "Posted:" 82 | msgstr "Publisert:" 83 | 84 | msgid "Posts for {month} {year}" 85 | msgstr "Innlegg fra {month} {year}" 86 | -------------------------------------------------------------------------------- /translations/nikola.messages/zh_CN.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # Christopher Meng , 2013 8 | # kadefor , 2013 9 | # kadefor , 2013 10 | # ralsina , 2013 11 | # ralsina , 2013 12 | msgid "" 13 | msgstr "" 14 | "Project-Id-Version: Nikola\n" 15 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 16 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 17 | "PO-Revision-Date: 2014-01-22 13:13+0000\n" 18 | "Last-Translator: Kwpolska \n" 19 | "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/nikola/language/zh_CN/)\n" 20 | "MIME-Version: 1.0\n" 21 | "Content-Type: text/plain; charset=UTF-8\n" 22 | "Content-Transfer-Encoding: 8bit\n" 23 | "Language: zh_CN\n" 24 | "Plural-Forms: nplurals=1; plural=0;\n" 25 | 26 | msgid "More posts about %s" 27 | msgstr "更多相关文章: %s" 28 | 29 | msgid "LANGUAGE" 30 | msgstr "简体中文" 31 | 32 | msgid "Tags" 33 | msgstr "标签" 34 | 35 | msgid "Categories" 36 | msgstr "分类" 37 | 38 | msgid "Tags and Categories" 39 | msgstr "标签和分类" 40 | 41 | msgid "Read more" 42 | msgstr "更多" 43 | 44 | msgid "Posts about %s" 45 | msgstr "文章分类:%s" 46 | 47 | msgid "Next post" 48 | msgstr "后一篇" 49 | 50 | msgid "old posts, page %d" 51 | msgstr "旧文章页 %d" 52 | 53 | msgid "page %d" 54 | msgstr "" 55 | 56 | msgid "Source" 57 | msgstr "源代码" 58 | 59 | #. Here your translation should not say English but the name of your language 60 | #. instead 61 | msgid "Read in English" 62 | msgstr "中文版" 63 | 64 | msgid "Posts for year %s" 65 | msgstr "%s年文章" 66 | 67 | msgid "Newer posts" 68 | msgstr "新一篇" 69 | 70 | msgid "Previous post" 71 | msgstr "前一篇" 72 | 73 | msgid "Also available in:" 74 | msgstr "其他语言版本:" 75 | 76 | msgid "Original site" 77 | msgstr "原文地址" 78 | 79 | msgid "Older posts" 80 | msgstr "旧一篇" 81 | 82 | msgid "Archive" 83 | msgstr "文章存档" 84 | 85 | msgid "Posted:" 86 | msgstr "发表于:" 87 | 88 | msgid "Posts for {month} {year}" 89 | msgstr "{year}年{month}月文章" 90 | -------------------------------------------------------------------------------- /translations/nikola.messages/ur.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # saadat, 2013 8 | # saadat , 2013 9 | # saadat , 2013 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: Nikola\n" 13 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 14 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 15 | "PO-Revision-Date: 2014-01-22 13:13+0000\n" 16 | "Last-Translator: Kwpolska \n" 17 | "Language-Team: Urdu (http://www.transifex.com/projects/p/nikola/language/ur/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: ur\n" 22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 23 | 24 | msgid "More posts about %s" 25 | msgstr "%s کے بارے میں مزید تحاریر" 26 | 27 | msgid "LANGUAGE" 28 | msgstr "اردو" 29 | 30 | msgid "Tags" 31 | msgstr "ٹیگز" 32 | 33 | msgid "Categories" 34 | msgstr "زمرے" 35 | 36 | msgid "Tags and Categories" 37 | msgstr "ٹیگز اور زمرے" 38 | 39 | msgid "Read more" 40 | msgstr "مزید پڑھیے" 41 | 42 | msgid "Posts about %s" 43 | msgstr "%s کے بارے میں تحاریر" 44 | 45 | msgid "Next post" 46 | msgstr "اگلی تحریر" 47 | 48 | msgid "old posts, page %d" 49 | msgstr "پرانی تحاریر صفحہ %d" 50 | 51 | msgid "page %d" 52 | msgstr "" 53 | 54 | msgid "Source" 55 | msgstr "سورس" 56 | 57 | #. Here your translation should not say English but the name of your language 58 | #. instead 59 | msgid "Read in English" 60 | msgstr "اردو میں پڑھیے" 61 | 62 | msgid "Posts for year %s" 63 | msgstr "سال %s کی تحاریر" 64 | 65 | msgid "Newer posts" 66 | msgstr "نئی تحاریر" 67 | 68 | msgid "Previous post" 69 | msgstr "پچھلی تحریر" 70 | 71 | msgid "Also available in:" 72 | msgstr "ان زبانوں میں بھی دستیاب:" 73 | 74 | msgid "Original site" 75 | msgstr "اصلی سائٹ" 76 | 77 | msgid "Older posts" 78 | msgstr "پرانی تحاریر" 79 | 80 | msgid "Archive" 81 | msgstr "آرکائیو" 82 | 83 | msgid "Posted:" 84 | msgstr "اشاعت:" 85 | 86 | msgid "Posts for {month} {year}" 87 | msgstr "{month} {year} کی تحاریر" 88 | -------------------------------------------------------------------------------- /nikola/plugins/compile/rest/soundcloud.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | from docutils import nodes 5 | from docutils.parsers.rst import Directive, directives 6 | 7 | 8 | from nikola.plugin_categories import RestExtension 9 | 10 | 11 | class Plugin(RestExtension): 12 | 13 | name = "rest_soundcloud" 14 | 15 | def set_site(self, site): 16 | self.site = site 17 | directives.register_directive('soundcloud', SoundCloud) 18 | directives.register_directive('soundcloud_playlist', SoundCloudPlaylist) 19 | return super(Plugin, self).set_site(site) 20 | 21 | 22 | CODE = ("""""") 27 | 28 | 29 | class SoundCloud(Directive): 30 | """ Restructured text extension for inserting SoundCloud embedded music 31 | 32 | Usage: 33 | .. soundcloud:: 34 | :height: 400 35 | :width: 600 36 | 37 | """ 38 | has_content = True 39 | required_arguments = 1 40 | option_spec = { 41 | 'width': directives.positive_int, 42 | 'height': directives.positive_int, 43 | } 44 | preslug = "tracks" 45 | 46 | def run(self): 47 | """ Required by the Directive interface. Create docutils nodes """ 48 | self.check_content() 49 | options = { 50 | 'sid': self.arguments[0], 51 | 'width': 600, 52 | 'height': 160, 53 | 'preslug': self.preslug, 54 | } 55 | options.update(self.options) 56 | return [nodes.raw('', CODE.format(**options), format='html')] 57 | 58 | def check_content(self): 59 | """ Emit a deprecation warning if there is content """ 60 | if self.content: 61 | raise self.warning("This directive does not accept content. The " 62 | "'key=value' format for options is deprecated, " 63 | "use ':key: value' instead") 64 | 65 | 66 | class SoundCloudPlaylist(SoundCloud): 67 | preslug = "playlists" 68 | -------------------------------------------------------------------------------- /translations/nikola.messages/ca.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # ralsina , 2013 8 | # ralsina , 2013 9 | msgid "" 10 | msgstr "" 11 | "Project-Id-Version: Nikola\n" 12 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 13 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 14 | "PO-Revision-Date: 2014-01-22 13:11+0000\n" 15 | "Last-Translator: Kwpolska \n" 16 | "Language-Team: Catalan (http://www.transifex.com/projects/p/nikola/language/ca/)\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Language: ca\n" 21 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 22 | 23 | msgid "More posts about %s" 24 | msgstr "Més entrades sobre %s" 25 | 26 | msgid "LANGUAGE" 27 | msgstr "Català" 28 | 29 | msgid "Tags" 30 | msgstr "Etiquetes" 31 | 32 | msgid "Categories" 33 | msgstr "" 34 | 35 | msgid "Tags and Categories" 36 | msgstr "" 37 | 38 | msgid "Read more" 39 | msgstr "Llegeix-ne més" 40 | 41 | msgid "Posts about %s" 42 | msgstr "Entrades sobre %s" 43 | 44 | msgid "Next post" 45 | msgstr "Entrada següent" 46 | 47 | msgid "old posts, page %d" 48 | msgstr "entrades antigues, pàgina %d" 49 | 50 | msgid "page %d" 51 | msgstr "pàgina %d" 52 | 53 | msgid "Source" 54 | msgstr "Codi" 55 | 56 | #. Here your translation should not say English but the name of your language 57 | #. instead 58 | msgid "Read in English" 59 | msgstr "Llegeix-ho en català" 60 | 61 | msgid "Posts for year %s" 62 | msgstr "Entrades de l'any %s" 63 | 64 | msgid "Newer posts" 65 | msgstr "Entrades posteriors" 66 | 67 | msgid "Previous post" 68 | msgstr "Entrada anterior" 69 | 70 | msgid "Also available in:" 71 | msgstr "També disponibles en:" 72 | 73 | msgid "Original site" 74 | msgstr "Lloc original" 75 | 76 | msgid "Older posts" 77 | msgstr "Entrades anteriors" 78 | 79 | msgid "Archive" 80 | msgstr "Arxiu" 81 | 82 | msgid "Posted:" 83 | msgstr "Publicat:" 84 | 85 | msgid "Posts for {month} {year}" 86 | msgstr "" 87 | -------------------------------------------------------------------------------- /translations/nikola.messages/cs.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # Ondřej Grover , 2014 8 | msgid "" 9 | msgstr "" 10 | "Project-Id-Version: Nikola\n" 11 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 12 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 13 | "PO-Revision-Date: 2014-01-22 13:09+0000\n" 14 | "Last-Translator: Kwpolska \n" 15 | "Language-Team: Czech (http://www.transifex.com/projects/p/nikola/language/cs/)\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Language: cs\n" 20 | "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" 21 | 22 | msgid "More posts about %s" 23 | msgstr "Další příspěvky o %s" 24 | 25 | msgid "LANGUAGE" 26 | msgstr "Čeština" 27 | 28 | msgid "Tags" 29 | msgstr "Štítky" 30 | 31 | msgid "Categories" 32 | msgstr "Kategorie" 33 | 34 | msgid "Tags and Categories" 35 | msgstr "Štítky a kategorie" 36 | 37 | msgid "Read more" 38 | msgstr "Číst dál" 39 | 40 | msgid "Posts about %s" 41 | msgstr "Příspěvky o %s" 42 | 43 | msgid "Next post" 44 | msgstr "Další příspěvek" 45 | 46 | msgid "old posts, page %d" 47 | msgstr "staré příspěvky, strana %d" 48 | 49 | msgid "page %d" 50 | msgstr "strana %d" 51 | 52 | msgid "Source" 53 | msgstr "Zdroj" 54 | 55 | #. Here your translation should not say English but the name of your language 56 | #. instead 57 | msgid "Read in English" 58 | msgstr "Číst v češtině" 59 | 60 | msgid "Posts for year %s" 61 | msgstr "Příspěvky v roce %s" 62 | 63 | msgid "Newer posts" 64 | msgstr "Novější příspěvky" 65 | 66 | msgid "Previous post" 67 | msgstr "Předchozí příspěvek" 68 | 69 | msgid "Also available in:" 70 | msgstr "Dostupné také v" 71 | 72 | msgid "Original site" 73 | msgstr "Původní stránka" 74 | 75 | msgid "Older posts" 76 | msgstr "Starší příspěvky" 77 | 78 | msgid "Archive" 79 | msgstr "Archiv" 80 | 81 | msgid "Posted:" 82 | msgstr "Zveřejněno:" 83 | 84 | msgid "Posts for {month} {year}" 85 | msgstr "Příspěvky v {month} {year}" 86 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap3/assets/css/theme.css: -------------------------------------------------------------------------------- 1 | 2 | body { 3 | margin-top: 60px; 4 | } 5 | 6 | #container { 7 | width: 960px; 8 | margin: 0 auto; 9 | } 10 | 11 | #contentcolumn { 12 | max-width: 760px; 13 | } 14 | #q { 15 | width: 150px; 16 | } 17 | 18 | img { 19 | max-width: 90%; 20 | } 21 | 22 | .postbox { 23 | border-bottom: 2px solid darkgrey; 24 | margin-bottom: 12px; 25 | } 26 | 27 | .titlebox { 28 | text-align: right; 29 | } 30 | 31 | #addthisbox {margin-bottom: 12px;} 32 | 33 | td.label { 34 | /* Issue #290 */ 35 | background-color: inherit; 36 | } 37 | 38 | .footnote-reference { 39 | /* Issue 290 */ 40 | vertical-align: super; 41 | font-size: xx-small; 42 | } 43 | 44 | 45 | .caption { 46 | /* Issue 292 */ 47 | text-align: center; 48 | padding-top: 1em; 49 | } 50 | 51 | div.figure > img, 52 | div.figure > a > img { 53 | /* Issue 292 */ 54 | display: block; 55 | margin-left: auto; 56 | margin-right: auto; 57 | } 58 | 59 | div.sidebar, div.admonition, div.attention, div.caution, div.danger, div.error, div.hint, div.important, div.note, div.tip, div.warning { 60 | /* Issue 277 */ 61 | border: 1px solid #aaa; 62 | border-radius: 5px; 63 | } 64 | 65 | blockquote p, blockquote { 66 | font-size: 17.5px; 67 | font-weight: 300; 68 | line-height: 1.25; 69 | } 70 | 71 | ul.bricks > li { 72 | display: inline; 73 | background-color: lightblue; 74 | padding: 8px; 75 | border-radius: 5px; 76 | line-height: 3; 77 | white-space:nowrap; 78 | margin: 3px; 79 | } 80 | 81 | .at300b { 82 | box-sizing: content-box; 83 | } 84 | 85 | pre, pre code { 86 | white-space: pre; 87 | word-wrap: normal; 88 | overflow: auto; 89 | } 90 | 91 | article.post-micro { 92 | font-family: Georgia, 'Times New Roman', Times, serif; 93 | font-size: 1.5em; 94 | } 95 | 96 | /* fix anchors for headers */ 97 | h1, h2, h3 { 98 | margin-top: -40px; 99 | padding-top: 60px; 100 | } 101 | 102 | h4, h5, h6 { 103 | margin-top: -50px; 104 | padding-top: 60px; 105 | } 106 | -------------------------------------------------------------------------------- /translations/nikola.messages/es.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # ralsina , 2013 8 | # ralsina , 2013 9 | msgid "" 10 | msgstr "" 11 | "Project-Id-Version: Nikola\n" 12 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 13 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 14 | "PO-Revision-Date: 2014-01-22 13:13+0000\n" 15 | "Last-Translator: Kwpolska \n" 16 | "Language-Team: Spanish (http://www.transifex.com/projects/p/nikola/language/es/)\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Language: es\n" 21 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 22 | 23 | msgid "More posts about %s" 24 | msgstr "Más posts sobre %s" 25 | 26 | msgid "LANGUAGE" 27 | msgstr "Español" 28 | 29 | msgid "Tags" 30 | msgstr "Tags" 31 | 32 | msgid "Categories" 33 | msgstr "Categorías" 34 | 35 | msgid "Tags and Categories" 36 | msgstr "Tags y Categorías" 37 | 38 | msgid "Read more" 39 | msgstr "Leer más" 40 | 41 | msgid "Posts about %s" 42 | msgstr "Posts sobre %s" 43 | 44 | msgid "Next post" 45 | msgstr "Siguiente post" 46 | 47 | msgid "old posts, page %d" 48 | msgstr "posts antiguos, página %d" 49 | 50 | msgid "page %d" 51 | msgstr "página %d" 52 | 53 | msgid "Source" 54 | msgstr "Código" 55 | 56 | #. Here your translation should not say English but the name of your language 57 | #. instead 58 | msgid "Read in English" 59 | msgstr "Leer en español" 60 | 61 | msgid "Posts for year %s" 62 | msgstr "Posts del año %s" 63 | 64 | msgid "Newer posts" 65 | msgstr "Posts posteriores" 66 | 67 | msgid "Previous post" 68 | msgstr "Post anterior" 69 | 70 | msgid "Also available in:" 71 | msgstr "También disponible en:" 72 | 73 | msgid "Original site" 74 | msgstr "Sitio original" 75 | 76 | msgid "Older posts" 77 | msgstr "Posts anteriores" 78 | 79 | msgid "Archive" 80 | msgstr "Archivo" 81 | 82 | msgid "Posted:" 83 | msgstr "Publicado:" 84 | 85 | msgid "Posts for {month} {year}" 86 | msgstr "Posts de {month} {year}" 87 | -------------------------------------------------------------------------------- /nikola/plugins/loghandler/smtp.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright © 2012-2014 Daniel Devine and others. 4 | 5 | # Permission is hereby granted, free of charge, to any 6 | # person obtaining a copy of this software and associated 7 | # documentation files (the "Software"), to deal in the 8 | # Software without restriction, including without limitation 9 | # the rights to use, copy, modify, merge, publish, 10 | # distribute, sublicense, and/or sell copies of the 11 | # Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice 15 | # shall be included in all copies or substantial portions of 16 | # the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 19 | # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 20 | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 21 | # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 22 | # OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 23 | # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 24 | # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | 27 | from nikola.plugin_categories import SignalHandler 28 | from blinker import signal 29 | import logbook 30 | 31 | 32 | class SmtpHandler(SignalHandler): 33 | name = 'smtp' 34 | 35 | def attach_handler(self, sender): 36 | """Add the handler to a list of handlers that are attached when get_logger() is called..""" 37 | smtpconf = self.site.config.get('LOGGING_HANDLERS').get('smtp') 38 | if smtpconf: 39 | smtpconf['format_string'] = '''\ 40 | Subject: {record.level_name}: {record.channel} 41 | 42 | {record.message} 43 | ''' 44 | self.site.loghandlers.append(logbook.MailHandler( 45 | smtpconf.pop('from_addr'), 46 | smtpconf.pop('recipients'), 47 | **smtpconf 48 | )) 49 | 50 | def set_site(self, site): 51 | self.site = site 52 | 53 | ready = signal('sighandlers_loaded') 54 | ready.connect(self.attach_handler) 55 | -------------------------------------------------------------------------------- /translations/nikola.messages/eu.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # aitorp , 2013 8 | # aitorp , 2013 9 | msgid "" 10 | msgstr "" 11 | "Project-Id-Version: Nikola\n" 12 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 13 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 14 | "PO-Revision-Date: 2014-01-22 13:12+0000\n" 15 | "Last-Translator: Kwpolska \n" 16 | "Language-Team: Basque (http://www.transifex.com/projects/p/nikola/language/eu/)\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Language: eu\n" 21 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 22 | 23 | msgid "More posts about %s" 24 | msgstr "%s-ri buruzko post gehiago" 25 | 26 | msgid "LANGUAGE" 27 | msgstr "Euskara" 28 | 29 | msgid "Tags" 30 | msgstr "Etiketak" 31 | 32 | msgid "Categories" 33 | msgstr "Kategoriak" 34 | 35 | msgid "Tags and Categories" 36 | msgstr "Etiketak eta Kategoriak" 37 | 38 | msgid "Read more" 39 | msgstr "Irakurri gehiago" 40 | 41 | msgid "Posts about %s" 42 | msgstr "%s-ri buruzko postak" 43 | 44 | msgid "Next post" 45 | msgstr "Hurrengo posta" 46 | 47 | msgid "old posts, page %d" 48 | msgstr "Post zaharren, orria %d" 49 | 50 | msgid "page %d" 51 | msgstr "orria %d" 52 | 53 | msgid "Source" 54 | msgstr "Iturria" 55 | 56 | #. Here your translation should not say English but the name of your language 57 | #. instead 58 | msgid "Read in English" 59 | msgstr "Euskaraz irakurri" 60 | 61 | msgid "Posts for year %s" 62 | msgstr "%s. urteko postak" 63 | 64 | msgid "Newer posts" 65 | msgstr "Post berrienak" 66 | 67 | msgid "Previous post" 68 | msgstr "Aurreko posta" 69 | 70 | msgid "Also available in:" 71 | msgstr "Eskuragarria hemen ere:" 72 | 73 | msgid "Original site" 74 | msgstr "Jatorrizko orria" 75 | 76 | msgid "Older posts" 77 | msgstr "Post zaharrenak" 78 | 79 | msgid "Archive" 80 | msgstr "Artxiboa" 81 | 82 | msgid "Posted:" 83 | msgstr "Argitaratuta:" 84 | 85 | msgid "Posts for {month} {year}" 86 | msgstr "{year}ko {month}ren postak" 87 | -------------------------------------------------------------------------------- /translations/nikola.messages/ja.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # Kwpolska , 2013 8 | # Kwpolska , 2013 9 | # quoth <4wordextinguisher@gmail.com>, 2013 10 | # ralsina , 2013 11 | # ralsina , 2013 12 | # quoth <4wordextinguisher@gmail.com>, 2013 13 | msgid "" 14 | msgstr "" 15 | "Project-Id-Version: Nikola\n" 16 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 17 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 18 | "PO-Revision-Date: 2014-01-22 13:12+0000\n" 19 | "Last-Translator: Kwpolska \n" 20 | "Language-Team: Japanese (http://www.transifex.com/projects/p/nikola/language/ja/)\n" 21 | "MIME-Version: 1.0\n" 22 | "Content-Type: text/plain; charset=UTF-8\n" 23 | "Content-Transfer-Encoding: 8bit\n" 24 | "Language: ja\n" 25 | "Plural-Forms: nplurals=1; plural=0;\n" 26 | 27 | msgid "More posts about %s" 28 | msgstr "タグ: %s" 29 | 30 | msgid "LANGUAGE" 31 | msgstr "日本語" 32 | 33 | msgid "Tags" 34 | msgstr "タグ" 35 | 36 | msgid "Categories" 37 | msgstr "カテゴリー" 38 | 39 | msgid "Tags and Categories" 40 | msgstr "タグとカテゴリー" 41 | 42 | msgid "Read more" 43 | msgstr "続きを読む" 44 | 45 | msgid "Posts about %s" 46 | msgstr "%sについての記事" 47 | 48 | msgid "Next post" 49 | msgstr "次の記事" 50 | 51 | msgid "old posts, page %d" 52 | msgstr "前の記事 %dページ目" 53 | 54 | msgid "page %d" 55 | msgstr "" 56 | 57 | msgid "Source" 58 | msgstr "ソース" 59 | 60 | #. Here your translation should not say English but the name of your language 61 | #. instead 62 | msgid "Read in English" 63 | msgstr "日本語で読む" 64 | 65 | msgid "Posts for year %s" 66 | msgstr "%s年の記事" 67 | 68 | msgid "Newer posts" 69 | msgstr "新しい記事" 70 | 71 | msgid "Previous post" 72 | msgstr "前の記事" 73 | 74 | msgid "Also available in:" 75 | msgstr "他の言語で読む:" 76 | 77 | msgid "Original site" 78 | msgstr "元のサイト" 79 | 80 | msgid "Older posts" 81 | msgstr "過去の記事" 82 | 83 | msgid "Archive" 84 | msgstr "過去の記事" 85 | 86 | msgid "Posted:" 87 | msgstr "投稿日時:" 88 | 89 | msgid "Posts for {month} {year}" 90 | msgstr "{year}年{month}月の記事" 91 | -------------------------------------------------------------------------------- /translations/nikola.messages/hr.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # tty, 2013 8 | # tty, 2013 9 | msgid "" 10 | msgstr "" 11 | "Project-Id-Version: Nikola\n" 12 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 13 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 14 | "PO-Revision-Date: 2014-01-22 13:11+0000\n" 15 | "Last-Translator: Kwpolska \n" 16 | "Language-Team: Croatian (http://www.transifex.com/projects/p/nikola/language/hr/)\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Language: hr\n" 21 | "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" 22 | 23 | msgid "More posts about %s" 24 | msgstr "Više postova o %s" 25 | 26 | msgid "LANGUAGE" 27 | msgstr "hrvatski" 28 | 29 | msgid "Tags" 30 | msgstr "Tagovi" 31 | 32 | msgid "Categories" 33 | msgstr "Kategorije" 34 | 35 | msgid "Tags and Categories" 36 | msgstr "Tagovi i kategorije" 37 | 38 | msgid "Read more" 39 | msgstr "Čitaj dalje" 40 | 41 | msgid "Posts about %s" 42 | msgstr "Postovi o %s" 43 | 44 | msgid "Next post" 45 | msgstr "Sljedeći post" 46 | 47 | msgid "old posts, page %d" 48 | msgstr "stari postovi, stranice %d" 49 | 50 | msgid "page %d" 51 | msgstr "stranice %d" 52 | 53 | msgid "Source" 54 | msgstr "Izvor" 55 | 56 | #. Here your translation should not say English but the name of your language 57 | #. instead 58 | msgid "Read in English" 59 | msgstr "Čitaj na hrvatskom" 60 | 61 | msgid "Posts for year %s" 62 | msgstr "Postovi za godinu %s" 63 | 64 | msgid "Newer posts" 65 | msgstr "Noviji postovi" 66 | 67 | msgid "Previous post" 68 | msgstr "Prethodni post" 69 | 70 | msgid "Also available in:" 71 | msgstr "Također dostupno i u:" 72 | 73 | msgid "Original site" 74 | msgstr "Izvorna stranica" 75 | 76 | msgid "Older posts" 77 | msgstr "Stariji postovi" 78 | 79 | msgid "Archive" 80 | msgstr "Arhiva" 81 | 82 | msgid "Posted:" 83 | msgstr "Objavljeno:" 84 | 85 | msgid "Posts for {month} {year}" 86 | msgstr "Postovi za {month} {year}" 87 | -------------------------------------------------------------------------------- /translations/nikola.messages/nl.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # Joes , 2013 8 | # Joes , 2013-2014 9 | msgid "" 10 | msgstr "" 11 | "Project-Id-Version: Nikola\n" 12 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 13 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 14 | "PO-Revision-Date: 2014-01-22 10:30+0000\n" 15 | "Last-Translator: Joes \n" 16 | "Language-Team: Dutch (http://www.transifex.com/projects/p/nikola/language/nl/)\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Language: nl\n" 21 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 22 | 23 | msgid "More posts about %s" 24 | msgstr "Meer berichten over %s" 25 | 26 | msgid "LANGUAGE" 27 | msgstr "Nederlands" 28 | 29 | msgid "Tags" 30 | msgstr "Tags" 31 | 32 | msgid "Categories" 33 | msgstr "Categorieën" 34 | 35 | msgid "Tags and Categories" 36 | msgstr "Tags en Categorieën" 37 | 38 | msgid "Read more" 39 | msgstr "Lees verder" 40 | 41 | msgid "Posts about %s" 42 | msgstr "Berichten over %s" 43 | 44 | msgid "Next post" 45 | msgstr "Volgend bericht" 46 | 47 | msgid "old posts, page %d" 48 | msgstr "oude berichten, pagina %d" 49 | 50 | msgid "page %d" 51 | msgstr "pagina %d" 52 | 53 | msgid "Source" 54 | msgstr "Bron" 55 | 56 | #. Here your translation should not say English but the name of your language 57 | #. instead 58 | msgid "Read in English" 59 | msgstr "Lees in het Nederlands" 60 | 61 | msgid "Posts for year %s" 62 | msgstr "Berichten voor het jaar %s" 63 | 64 | msgid "Newer posts" 65 | msgstr "Nieuwere berichten" 66 | 67 | msgid "Previous post" 68 | msgstr "Vorig bericht" 69 | 70 | msgid "Also available in:" 71 | msgstr "Ook beschikbaar in:" 72 | 73 | msgid "Original site" 74 | msgstr "Originele site" 75 | 76 | msgid "Older posts" 77 | msgstr "Oudere berichten" 78 | 79 | msgid "Archive" 80 | msgstr "Archief" 81 | 82 | msgid "Posted:" 83 | msgstr "Geplaatst:" 84 | 85 | msgid "Posts for {month} {year}" 86 | msgstr "Berichten voor {month} {year}" 87 | -------------------------------------------------------------------------------- /translations/nikola.messages/bg.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # ivoarch , 2013 8 | # ivoarch , 2013 9 | msgid "" 10 | msgstr "" 11 | "Project-Id-Version: Nikola\n" 12 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 13 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 14 | "PO-Revision-Date: 2014-01-22 13:11+0000\n" 15 | "Last-Translator: Kwpolska \n" 16 | "Language-Team: Bulgarian (http://www.transifex.com/projects/p/nikola/language/bg/)\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Language: bg\n" 21 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 22 | 23 | msgid "More posts about %s" 24 | msgstr "Още публикации относно %s" 25 | 26 | msgid "LANGUAGE" 27 | msgstr "Български" 28 | 29 | msgid "Tags" 30 | msgstr "Тагове" 31 | 32 | msgid "Categories" 33 | msgstr "Категории" 34 | 35 | msgid "Tags and Categories" 36 | msgstr "Тагове и Категории" 37 | 38 | msgid "Read more" 39 | msgstr "Прочети още" 40 | 41 | msgid "Posts about %s" 42 | msgstr "Публикации относно %s" 43 | 44 | msgid "Next post" 45 | msgstr "Следваща публикация" 46 | 47 | msgid "old posts, page %d" 48 | msgstr "стари публикации, страница %d" 49 | 50 | msgid "page %d" 51 | msgstr "страница %d" 52 | 53 | msgid "Source" 54 | msgstr "Source" 55 | 56 | #. Here your translation should not say English but the name of your language 57 | #. instead 58 | msgid "Read in English" 59 | msgstr "Прочетете на български" 60 | 61 | msgid "Posts for year %s" 62 | msgstr "Публикации за %s година" 63 | 64 | msgid "Newer posts" 65 | msgstr "Нови публикации" 66 | 67 | msgid "Previous post" 68 | msgstr "Предишна публикация" 69 | 70 | msgid "Also available in:" 71 | msgstr "Също достъпно в:" 72 | 73 | msgid "Original site" 74 | msgstr "Оригиналния сайт" 75 | 76 | msgid "Older posts" 77 | msgstr "Стари публикации" 78 | 79 | msgid "Archive" 80 | msgstr "Архив" 81 | 82 | msgid "Posted:" 83 | msgstr "Публиковано:" 84 | 85 | msgid "Posts for {month} {year}" 86 | msgstr "Публикации за {month} {year}" 87 | -------------------------------------------------------------------------------- /translations/nikola.messages/fi.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # Eero Kari , 2013 8 | # Eero Kari , 2013 9 | msgid "" 10 | msgstr "" 11 | "Project-Id-Version: Nikola\n" 12 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 13 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 14 | "PO-Revision-Date: 2014-01-22 13:12+0000\n" 15 | "Last-Translator: Kwpolska \n" 16 | "Language-Team: Finnish (http://www.transifex.com/projects/p/nikola/language/fi/)\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Language: fi\n" 21 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 22 | 23 | msgid "More posts about %s" 24 | msgstr "Lisää postauksia aiheesta %s" 25 | 26 | msgid "LANGUAGE" 27 | msgstr "Suomi" 28 | 29 | msgid "Tags" 30 | msgstr "Tagit" 31 | 32 | msgid "Categories" 33 | msgstr "Kategoriat" 34 | 35 | msgid "Tags and Categories" 36 | msgstr "Tagit ja kategoriat" 37 | 38 | msgid "Read more" 39 | msgstr "Lue lisää" 40 | 41 | msgid "Posts about %s" 42 | msgstr "Postauksia aiheesta %s" 43 | 44 | msgid "Next post" 45 | msgstr "Seuraava postaus" 46 | 47 | msgid "old posts, page %d" 48 | msgstr "vanhojen postauksien, sivu %d" 49 | 50 | msgid "page %d" 51 | msgstr "sivu %d" 52 | 53 | msgid "Source" 54 | msgstr "Lähde" 55 | 56 | #. Here your translation should not say English but the name of your language 57 | #. instead 58 | msgid "Read in English" 59 | msgstr "Lue suomeksi" 60 | 61 | msgid "Posts for year %s" 62 | msgstr "Postauksia vuodelta %s" 63 | 64 | msgid "Newer posts" 65 | msgstr "Uudempia postauksia" 66 | 67 | msgid "Previous post" 68 | msgstr "Vanhempia postauksia" 69 | 70 | msgid "Also available in:" 71 | msgstr "Saatavilla myös:" 72 | 73 | msgid "Original site" 74 | msgstr "Alkuperäinen sivusto" 75 | 76 | msgid "Older posts" 77 | msgstr "Vanhempia postauksia" 78 | 79 | msgid "Archive" 80 | msgstr "Arkisto" 81 | 82 | msgid "Posted:" 83 | msgstr "Postattu:" 84 | 85 | msgid "Posts for {month} {year}" 86 | msgstr "Postauksia ajalle {month} {year}" 87 | -------------------------------------------------------------------------------- /nikola/plugins/loghandler/stderr.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright © 2012-2014 Daniel Devine and others. 4 | 5 | # Permission is hereby granted, free of charge, to any 6 | # person obtaining a copy of this software and associated 7 | # documentation files (the "Software"), to deal in the 8 | # Software without restriction, including without limitation 9 | # the rights to use, copy, modify, merge, publish, 10 | # distribute, sublicense, and/or sell copies of the 11 | # Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice 15 | # shall be included in all copies or substantial portions of 16 | # the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 19 | # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 20 | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 21 | # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 22 | # OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 23 | # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 24 | # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | 27 | from nikola.plugin_categories import SignalHandler 28 | from blinker import signal 29 | import logbook 30 | import os 31 | 32 | from nikola import DEBUG 33 | 34 | 35 | class StderrHandler(SignalHandler): 36 | """Logs messages to stderr.""" 37 | name = 'stderr' 38 | 39 | def attach_handler(self, sender): 40 | """Attach the handler to the logger.""" 41 | conf = self.site.config.get('LOGGING_HANDLERS').get('stderr') 42 | if conf or os.getenv('NIKOLA_DEBUG'): 43 | self.site.loghandlers.append(logbook.StderrHandler( 44 | level='DEBUG' if DEBUG else conf.get('loglevel', 'WARNING').upper(), 45 | format_string=u'[{record.time:%Y-%m-%dT%H:%M:%SZ}] {record.level_name}: {record.channel}: {record.message}' 46 | )) 47 | 48 | def set_site(self, site): 49 | self.site = site 50 | 51 | ready = signal('sighandlers_loaded') 52 | ready.connect(self.attach_handler) 53 | -------------------------------------------------------------------------------- /nikola/data/themes/bootstrap/assets/css/theme.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-top: 60px; 3 | } 4 | @media (max-width: 979px) { 5 | body { 6 | padding-top: 0px; 7 | } 8 | } 9 | #container { 10 | width: 960px; 11 | margin: 50 auto; 12 | } 13 | 14 | #contentcolumn { 15 | max-width: 760px; 16 | } 17 | #q { 18 | width: 150px; 19 | } 20 | 21 | img { 22 | max-width: 90%; 23 | } 24 | 25 | .postbox { 26 | border-bottom: 2px solid darkgrey; 27 | margin-bottom: 12px; 28 | } 29 | 30 | .footerbox {padding: 15px; text-align: center; margin-bottom: 15px;} 31 | 32 | td.label { 33 | /* Issue #290 */ 34 | background-color: inherit; 35 | } 36 | 37 | .footnote-reference { 38 | /* Issue 290 */ 39 | vertical-align: super; 40 | font-size: xx-small; 41 | } 42 | 43 | .caption { 44 | /* Issue 292 */ 45 | text-align: center; 46 | padding-top: 1em; 47 | } 48 | 49 | div.figure > img, 50 | div.figure > a > img { 51 | /* Issue 292 */ 52 | display: block; 53 | margin-left: auto; 54 | margin-right: auto; 55 | } 56 | 57 | div.sidebar, div.admonition, div.attention, div.caution, div.danger, div.error, div.hint, div.important, div.note, div.tip, div.warning { 58 | /* Issue 277 */ 59 | border: 1px solid #aaa; 60 | border-radius: 5px; 61 | } 62 | 63 | blockquote p, blockquote { 64 | font-size: 17.5px; 65 | font-weight: 300; 66 | line-height: 1.25; 67 | } 68 | 69 | ul.bricks > li { 70 | display: inline; 71 | background-color: lightblue; 72 | padding: 8px; 73 | border-radius: 5px; 74 | line-height: 3; 75 | white-space:nowrap; 76 | margin: 3px; 77 | } 78 | 79 | ul.breadcrumb > li:before { 80 | content: " / "; 81 | } 82 | 83 | pre, pre code { 84 | white-space: pre; 85 | word-wrap: normal; 86 | overflow: auto; 87 | } 88 | 89 | article.post-micro { 90 | font-family: Georgia, 'Times New Roman', Times, serif; 91 | font-size: 1.5em; 92 | } 93 | 94 | /* fix anchors for headers */ 95 | h1, h2, h3 { 96 | margin-top: -40px; 97 | padding-top: 60px; 98 | } 99 | 100 | h4, h5, h6 { 101 | margin-top: -50px; 102 | padding-top: 60px; 103 | } 104 | -------------------------------------------------------------------------------- /translations/nikola.messages/eo.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # David Paleino , 2013 8 | # David Paleino , 2013 9 | msgid "" 10 | msgstr "" 11 | "Project-Id-Version: Nikola\n" 12 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 13 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 14 | "PO-Revision-Date: 2014-01-22 13:11+0000\n" 15 | "Last-Translator: Kwpolska \n" 16 | "Language-Team: Esperanto (http://www.transifex.com/projects/p/nikola/language/eo/)\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Language: eo\n" 21 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 22 | 23 | msgid "More posts about %s" 24 | msgstr "Pli artikoloj pri %s" 25 | 26 | msgid "LANGUAGE" 27 | msgstr "Anglalingve" 28 | 29 | msgid "Tags" 30 | msgstr "Etikedoj" 31 | 32 | msgid "Categories" 33 | msgstr "Kategorioj" 34 | 35 | msgid "Tags and Categories" 36 | msgstr "Etikedoj kaj Kategorioj" 37 | 38 | msgid "Read more" 39 | msgstr "Legu plu" 40 | 41 | msgid "Posts about %s" 42 | msgstr "Artikoloj pri %s" 43 | 44 | msgid "Next post" 45 | msgstr "Venonta artikolo" 46 | 47 | msgid "old posts, page %d" 48 | msgstr "paĝo de malnovaj artikoloj %d" 49 | 50 | msgid "page %d" 51 | msgstr "paĝo %d" 52 | 53 | msgid "Source" 54 | msgstr "Fonto" 55 | 56 | #. Here your translation should not say English but the name of your language 57 | #. instead 58 | msgid "Read in English" 59 | msgstr "Legu ĝin en Esperanto" 60 | 61 | msgid "Posts for year %s" 62 | msgstr "Artikoloj de la jaro %s" 63 | 64 | msgid "Newer posts" 65 | msgstr "Pli novaj artikoloj" 66 | 67 | msgid "Previous post" 68 | msgstr "Antaŭa artikolo" 69 | 70 | msgid "Also available in:" 71 | msgstr "Ankaŭ disponebla en:" 72 | 73 | msgid "Original site" 74 | msgstr "Originala interretejo" 75 | 76 | msgid "Older posts" 77 | msgstr "Pli malnovaj artikoloj" 78 | 79 | msgid "Archive" 80 | msgstr "Arĥivo" 81 | 82 | msgid "Posted:" 83 | msgstr "Skribita:" 84 | 85 | msgid "Posts for {month} {year}" 86 | msgstr "Artikoloj skribitaj en {month} {year}" 87 | -------------------------------------------------------------------------------- /translations/nikola.messages/fa.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # Shahinism , 2013 8 | # sazary , 2013 9 | # Shahinism , 2013 10 | # sazary , 2013 11 | msgid "" 12 | msgstr "" 13 | "Project-Id-Version: Nikola\n" 14 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 15 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 16 | "PO-Revision-Date: 2014-01-22 13:12+0000\n" 17 | "Last-Translator: Kwpolska \n" 18 | "Language-Team: Persian (http://www.transifex.com/projects/p/nikola/language/fa/)\n" 19 | "MIME-Version: 1.0\n" 20 | "Content-Type: text/plain; charset=UTF-8\n" 21 | "Content-Transfer-Encoding: 8bit\n" 22 | "Language: fa\n" 23 | "Plural-Forms: nplurals=1; plural=0;\n" 24 | 25 | msgid "More posts about %s" 26 | msgstr "ارسال‌های بیشتر دربارهٔ%s" 27 | 28 | msgid "LANGUAGE" 29 | msgstr "فارسی" 30 | 31 | msgid "Tags" 32 | msgstr "برچسب‌ها" 33 | 34 | msgid "Categories" 35 | msgstr "دسته‌ها" 36 | 37 | msgid "Tags and Categories" 38 | msgstr "برچسب‌ها و دسته‌ها" 39 | 40 | msgid "Read more" 41 | msgstr "بیشتر بخوانید" 42 | 43 | msgid "Posts about %s" 44 | msgstr "ارسال‌ها دربارهٔ %s" 45 | 46 | msgid "Next post" 47 | msgstr "ارسال بعدی" 48 | 49 | msgid "old posts, page %d" 50 | msgstr "صفحهٔ ارسال‌های قدیمی %d" 51 | 52 | msgid "page %d" 53 | msgstr "" 54 | 55 | msgid "Source" 56 | msgstr "منبع" 57 | 58 | #. Here your translation should not say English but the name of your language 59 | #. instead 60 | msgid "Read in English" 61 | msgstr "به فارسی بخوانید" 62 | 63 | msgid "Posts for year %s" 64 | msgstr "ارسال‌ها برای سال %s" 65 | 66 | msgid "Newer posts" 67 | msgstr "ارسال‌های جدید‌تر" 68 | 69 | msgid "Previous post" 70 | msgstr "ارسال پیشین" 71 | 72 | msgid "Also available in:" 73 | msgstr "همچنین قابل دسترس از:" 74 | 75 | msgid "Original site" 76 | msgstr "سایت اصلی" 77 | 78 | msgid "Older posts" 79 | msgstr "پست‌های قدیمی‌تر" 80 | 81 | msgid "Archive" 82 | msgstr "آرشیو" 83 | 84 | msgid "Posted:" 85 | msgstr "ارسال شده:" 86 | 87 | msgid "Posts for {month} {year}" 88 | msgstr "ارسال برای {month} {year}" 89 | -------------------------------------------------------------------------------- /translations/nikola.messages/et.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # Kwpolska , 2014 8 | # Kwpolska , 2014 9 | # Lauri Võsandi , 2013 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: Nikola\n" 13 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 14 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 15 | "PO-Revision-Date: 2014-01-22 13:12+0000\n" 16 | "Last-Translator: Kwpolska \n" 17 | "Language-Team: Estonian (http://www.transifex.com/projects/p/nikola/language/et/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: et\n" 22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 23 | 24 | msgid "More posts about %s" 25 | msgstr "Veel postitusi %s kohta" 26 | 27 | msgid "LANGUAGE" 28 | msgstr "Eesti" 29 | 30 | msgid "Tags" 31 | msgstr "Märksõnad" 32 | 33 | msgid "Categories" 34 | msgstr "Kategooriad" 35 | 36 | msgid "Tags and Categories" 37 | msgstr "Sildid ja kategooriad" 38 | 39 | msgid "Read more" 40 | msgstr "Loe veel" 41 | 42 | msgid "Posts about %s" 43 | msgstr "Postitused %s kohta" 44 | 45 | msgid "Next post" 46 | msgstr "Järgmine postitus" 47 | 48 | msgid "old posts, page %d" 49 | msgstr "vanade postituste, leht %d" 50 | 51 | msgid "page %d" 52 | msgstr "leht %d" 53 | 54 | msgid "Source" 55 | msgstr "Lähtekood" 56 | 57 | #. Here your translation should not say English but the name of your language 58 | #. instead 59 | msgid "Read in English" 60 | msgstr "Loe eesti keeles" 61 | 62 | msgid "Posts for year %s" 63 | msgstr "Postitused aastast %s" 64 | 65 | msgid "Newer posts" 66 | msgstr "Uued postitused" 67 | 68 | msgid "Previous post" 69 | msgstr "Eelmine postitus" 70 | 71 | msgid "Also available in:" 72 | msgstr "Saadaval ka:" 73 | 74 | msgid "Original site" 75 | msgstr "Algallikas" 76 | 77 | msgid "Older posts" 78 | msgstr "Vanemad postitused" 79 | 80 | msgid "Archive" 81 | msgstr "Arhiiv" 82 | 83 | msgid "Posted:" 84 | msgstr "Postitatud:" 85 | 86 | msgid "Posts for {month} {year}" 87 | msgstr "Postitused {year} aasta kuust {month} " 88 | -------------------------------------------------------------------------------- /translations/nikola.messages/sl.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # Venčeslav Vezjak , 2013 8 | # Venčeslav Vezjak , 2013-2014 9 | msgid "" 10 | msgstr "" 11 | "Project-Id-Version: Nikola\n" 12 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 13 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 14 | "PO-Revision-Date: 2014-01-22 10:36+0000\n" 15 | "Last-Translator: Venčeslav Vezjak \n" 16 | "Language-Team: Slovenian (http://www.transifex.com/projects/p/nikola/language/sl/)\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Language: sl\n" 21 | "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" 22 | 23 | msgid "More posts about %s" 24 | msgstr "Več objav o %s" 25 | 26 | msgid "LANGUAGE" 27 | msgstr "Slovenščina" 28 | 29 | msgid "Tags" 30 | msgstr "Značke" 31 | 32 | msgid "Categories" 33 | msgstr "Kategorije" 34 | 35 | msgid "Tags and Categories" 36 | msgstr "Značke in kategorije" 37 | 38 | msgid "Read more" 39 | msgstr "Več o tem" 40 | 41 | msgid "Posts about %s" 42 | msgstr "Objave o %s" 43 | 44 | msgid "Next post" 45 | msgstr "Naslednja objava" 46 | 47 | msgid "old posts, page %d" 48 | msgstr "stare objave, stran %d" 49 | 50 | msgid "page %d" 51 | msgstr "stran %d" 52 | 53 | msgid "Source" 54 | msgstr "Izvor" 55 | 56 | #. Here your translation should not say English but the name of your language 57 | #. instead 58 | msgid "Read in English" 59 | msgstr "Beri v slovenščini" 60 | 61 | msgid "Posts for year %s" 62 | msgstr "Objave za leto %s" 63 | 64 | msgid "Newer posts" 65 | msgstr "Novejše objave" 66 | 67 | msgid "Previous post" 68 | msgstr "Prejšnja objava" 69 | 70 | msgid "Also available in:" 71 | msgstr "Na voljo tudi v:" 72 | 73 | msgid "Original site" 74 | msgstr "Izvorna spletna stran" 75 | 76 | msgid "Older posts" 77 | msgstr "Starejše objave" 78 | 79 | msgid "Archive" 80 | msgstr "Arhiv" 81 | 82 | msgid "Posted:" 83 | msgstr "Objavljeno:" 84 | 85 | msgid "Posts for {month} {year}" 86 | msgstr "Objave za {month} {year}" 87 | -------------------------------------------------------------------------------- /translations/nikola.messages/tr_TR.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # Batuhan Büyükgüzel , 2013 8 | # Caner BAŞARAN , 2013 9 | # Caner BAŞARAN , 2013 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: Nikola\n" 13 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 14 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 15 | "PO-Revision-Date: 2014-01-22 13:12+0000\n" 16 | "Last-Translator: Kwpolska \n" 17 | "Language-Team: Turkish (Turkey) (http://www.transifex.com/projects/p/nikola/language/tr_TR/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: tr_TR\n" 22 | "Plural-Forms: nplurals=1; plural=0;\n" 23 | 24 | msgid "More posts about %s" 25 | msgstr "%s ilgili diğer yazılar" 26 | 27 | msgid "LANGUAGE" 28 | msgstr "Türkçe" 29 | 30 | msgid "Tags" 31 | msgstr "Etiketler" 32 | 33 | msgid "Categories" 34 | msgstr "Kategoriler" 35 | 36 | msgid "Tags and Categories" 37 | msgstr "Etiketler ve Kategoriler" 38 | 39 | msgid "Read more" 40 | msgstr "Devamını oku" 41 | 42 | msgid "Posts about %s" 43 | msgstr "%s ile ilgili yazılar" 44 | 45 | msgid "Next post" 46 | msgstr "Sonraki yazı" 47 | 48 | msgid "old posts, page %d" 49 | msgstr "eski yazılar, sayfa %d" 50 | 51 | msgid "page %d" 52 | msgstr "sayfa %d" 53 | 54 | msgid "Source" 55 | msgstr "Kaynak" 56 | 57 | #. Here your translation should not say English but the name of your language 58 | #. instead 59 | msgid "Read in English" 60 | msgstr "Türkçe olarak oku" 61 | 62 | msgid "Posts for year %s" 63 | msgstr "%s yılındaki yazılar" 64 | 65 | msgid "Newer posts" 66 | msgstr "Daha yeni yazılar" 67 | 68 | msgid "Previous post" 69 | msgstr "Önceki yazı" 70 | 71 | msgid "Also available in:" 72 | msgstr "Şu dilde de mevcut:" 73 | 74 | msgid "Original site" 75 | msgstr "Orjinal web sayfası" 76 | 77 | msgid "Older posts" 78 | msgstr "Daha eski yazılar" 79 | 80 | msgid "Archive" 81 | msgstr "Arşiv" 82 | 83 | msgid "Posted:" 84 | msgstr "Yayın tarihi:" 85 | 86 | msgid "Posts for {month} {year}" 87 | msgstr "{month} {year} göre yazılar" 88 | -------------------------------------------------------------------------------- /nikola/data/themes/base/templates/disqus_helper.tmpl: -------------------------------------------------------------------------------- 1 | ## -*- coding: utf-8 -*- 2 | <%! 3 | import json 4 | translations = { 5 | 'es': 'es_ES', 6 | } 7 | %> 8 | 9 | <%def name="comment_form(url, title, identifier)"> 10 | %if comment_system_id: 11 |
    12 | 28 | 29 | Comments powered by Disqus 30 | %endif 31 | 32 | 33 | <%def name="comment_link(link, identifier)"> 34 |

    35 | %if comment_system_id: 36 | Comments 37 | %endif 38 | 39 | 40 | 41 | <%def name="comment_link_script()"> 42 | %if comment_system_id: 43 | 44 | %endif 45 | 46 | 47 | ## FIXME: remove aliases in v7 48 | <%def name="html_disqus(url, title, identifier)"> 49 | ${comment_form(url, title, identifier)} 50 | 51 | 52 | <%def name="html_disqus_link(link, identifier)"> 53 | ${comment_link(link, identifier)} 54 | 55 | 56 | <%def name="html_disqus_script()"> 57 | ${comment_link_script()} 58 | 59 | -------------------------------------------------------------------------------- /nikola/plugins/task/copy_files.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright © 2012-2014 Roberto Alsina and others. 4 | 5 | # Permission is hereby granted, free of charge, to any 6 | # person obtaining a copy of this software and associated 7 | # documentation files (the "Software"), to deal in the 8 | # Software without restriction, including without limitation 9 | # the rights to use, copy, modify, merge, publish, 10 | # distribute, sublicense, and/or sell copies of the 11 | # Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice 15 | # shall be included in all copies or substantial portions of 16 | # the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 19 | # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 20 | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 21 | # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 22 | # OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 23 | # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 24 | # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | 27 | import os 28 | 29 | from nikola.plugin_categories import Task 30 | from nikola import utils 31 | 32 | 33 | class CopyFiles(Task): 34 | """Copy static files into the output folder.""" 35 | 36 | name = "copy_files" 37 | 38 | def gen_tasks(self): 39 | """Copy static files into the output folder.""" 40 | 41 | kw = { 42 | 'files_folders': self.site.config['FILES_FOLDERS'], 43 | 'output_folder': self.site.config['OUTPUT_FOLDER'], 44 | 'filters': self.site.config['FILTERS'], 45 | } 46 | 47 | yield self.group_task() 48 | for src in kw['files_folders']: 49 | dst = kw['output_folder'] 50 | filters = kw['filters'] 51 | real_dst = os.path.join(dst, kw['files_folders'][src]) 52 | for task in utils.copy_tree(src, real_dst, link_cutoff=dst): 53 | task['basename'] = self.name 54 | task['uptodate'] = [utils.config_changed(kw)] 55 | yield utils.apply_filters(task, filters) 56 | -------------------------------------------------------------------------------- /nikola/plugins/compile/markdown/mdx_nikola.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright © 2012-2014 Roberto Alsina and others. 4 | 5 | # Permission is hereby granted, free of charge, to any 6 | # person obtaining a copy of this software and associated 7 | # documentation files (the "Software"), to deal in the 8 | # Software without restriction, including without limitation 9 | # the rights to use, copy, modify, merge, publish, 10 | # distribute, sublicense, and/or sell copies of the 11 | # Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice 15 | # shall be included in all copies or substantial portions of 16 | # the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 19 | # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 20 | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 21 | # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 22 | # OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 23 | # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 24 | # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | 27 | """Markdown Extension for Nikola-specific post-processing""" 28 | from __future__ import unicode_literals 29 | import re 30 | from markdown.postprocessors import Postprocessor 31 | from markdown.extensions import Extension 32 | 33 | 34 | class NikolaPostProcessor(Postprocessor): 35 | def run(self, text): 36 | output = text 37 | 38 | # python-markdown's highlighter uses the class 'codehilite' to wrap 39 | # code, instead of the standard 'code'. None of the standard 40 | # pygments stylesheets use this class, so swap it to be 'code' 41 | output = re.sub(r'(]+class="[^"]*)codehilite([^>]+)', 42 | r'\1code\2', output) 43 | return output 44 | 45 | 46 | class NikolaExtension(Extension): 47 | def extendMarkdown(self, md, md_globals): 48 | pp = NikolaPostProcessor() 49 | md.postprocessors.add('nikola_post_processor', pp, '_end') 50 | md.registerExtension(self) 51 | 52 | 53 | def makeExtension(configs=None): 54 | return NikolaExtension(configs) 55 | -------------------------------------------------------------------------------- /translations/nikola.messages/it.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # Alessandro Pisa , 2013 8 | # David Paleino , 2013 9 | # ralsina , 2013 10 | # ralsina , 2013 11 | msgid "" 12 | msgstr "" 13 | "Project-Id-Version: Nikola\n" 14 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 15 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 16 | "PO-Revision-Date: 2014-01-22 13:11+0000\n" 17 | "Last-Translator: Kwpolska \n" 18 | "Language-Team: Italian (http://www.transifex.com/projects/p/nikola/language/it/)\n" 19 | "MIME-Version: 1.0\n" 20 | "Content-Type: text/plain; charset=UTF-8\n" 21 | "Content-Transfer-Encoding: 8bit\n" 22 | "Language: it\n" 23 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 24 | 25 | msgid "More posts about %s" 26 | msgstr "Altri articoli collegati %s" 27 | 28 | msgid "LANGUAGE" 29 | msgstr "Italiano" 30 | 31 | msgid "Tags" 32 | msgstr "Tags" 33 | 34 | msgid "Categories" 35 | msgstr "Categorie" 36 | 37 | msgid "Tags and Categories" 38 | msgstr "Tags e Categorie" 39 | 40 | msgid "Read more" 41 | msgstr "Espandi" 42 | 43 | msgid "Posts about %s" 44 | msgstr "Articoli su %s" 45 | 46 | msgid "Next post" 47 | msgstr "Articolo successivo" 48 | 49 | msgid "old posts, page %d" 50 | msgstr "pagina dei vecchi articoli %d" 51 | 52 | msgid "page %d" 53 | msgstr "pagina %d" 54 | 55 | msgid "Source" 56 | msgstr "Sorgente" 57 | 58 | #. Here your translation should not say English but the name of your language 59 | #. instead 60 | msgid "Read in English" 61 | msgstr "Leggi in italiano" 62 | 63 | msgid "Posts for year %s" 64 | msgstr "Articoli per l'anno %s" 65 | 66 | msgid "Newer posts" 67 | msgstr "Articoli recenti" 68 | 69 | msgid "Previous post" 70 | msgstr "Articolo precedente" 71 | 72 | msgid "Also available in:" 73 | msgstr "Anche disponibile in:" 74 | 75 | msgid "Original site" 76 | msgstr "Sito originale" 77 | 78 | msgid "Older posts" 79 | msgstr "Articoli precedenti" 80 | 81 | msgid "Archive" 82 | msgstr "Archivio" 83 | 84 | msgid "Posted:" 85 | msgstr "Pubblicato:" 86 | 87 | msgid "Posts for {month} {year}" 88 | msgstr "Articoli per {month} {year}" 89 | -------------------------------------------------------------------------------- /translations/nikola.messages/ru.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # m.arnold , 2013 8 | # m.arnold , 2013 9 | # ralsina , 2013 10 | # ralsina , 2013 11 | msgid "" 12 | msgstr "" 13 | "Project-Id-Version: Nikola\n" 14 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 15 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 16 | "PO-Revision-Date: 2014-01-22 13:13+0000\n" 17 | "Last-Translator: Kwpolska \n" 18 | "Language-Team: Russian (http://www.transifex.com/projects/p/nikola/language/ru/)\n" 19 | "MIME-Version: 1.0\n" 20 | "Content-Type: text/plain; charset=UTF-8\n" 21 | "Content-Transfer-Encoding: 8bit\n" 22 | "Language: ru\n" 23 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 24 | 25 | msgid "More posts about %s" 26 | msgstr "Больше записей о %s" 27 | 28 | msgid "LANGUAGE" 29 | msgstr "Русский" 30 | 31 | msgid "Tags" 32 | msgstr "Тэги" 33 | 34 | msgid "Categories" 35 | msgstr "Категории" 36 | 37 | msgid "Tags and Categories" 38 | msgstr "Тэги и категории" 39 | 40 | msgid "Read more" 41 | msgstr "Читать далее" 42 | 43 | msgid "Posts about %s" 44 | msgstr "Записи о %s" 45 | 46 | msgid "Next post" 47 | msgstr "Следующая запись" 48 | 49 | msgid "old posts, page %d" 50 | msgstr "%d страница со старыми записями" 51 | 52 | msgid "page %d" 53 | msgstr "%d страница" 54 | 55 | msgid "Source" 56 | msgstr "Источник" 57 | 58 | #. Here your translation should not say English but the name of your language 59 | #. instead 60 | msgid "Read in English" 61 | msgstr "Прочесть по-русски" 62 | 63 | msgid "Posts for year %s" 64 | msgstr "Записи за %s год" 65 | 66 | msgid "Newer posts" 67 | msgstr "Новые записи" 68 | 69 | msgid "Previous post" 70 | msgstr "Предыдущая запись" 71 | 72 | msgid "Also available in:" 73 | msgstr "Также доступно на:" 74 | 75 | msgid "Original site" 76 | msgstr "Оригинальный сайт" 77 | 78 | msgid "Older posts" 79 | msgstr "Старые записи" 80 | 81 | msgid "Archive" 82 | msgstr "Архив" 83 | 84 | msgid "Posted:" 85 | msgstr "Опубликовано:" 86 | 87 | msgid "Posts for {month} {year}" 88 | msgstr "Записи за {month} {year}" 89 | -------------------------------------------------------------------------------- /docs/man/nikola.1: -------------------------------------------------------------------------------- 1 | .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.43.3. 2 | .TH NIKOLA "1" "January 2014" "nikola 6.3.0" "User Commands" 3 | .SH NAME 4 | nikola \- manual page for nikola 6.3.0 5 | .SH DESCRIPTION 6 | Nikola is a tool to create static websites and blogs. For full documentation and more information, please visit http://getnikola.com 7 | .SS "Available commands:" 8 | .TP 9 | nikola auto 10 | automatically detect site changes, rebuild and optionally refresh a browser 11 | .TP 12 | nikola bootswatch_theme 13 | given a swatch name from bootswatch.com and a parent theme, creates a custom theme 14 | .TP 15 | nikola build 16 | run tasks 17 | .TP 18 | nikola check 19 | check links and files in the generated site 20 | .TP 21 | nikola clean 22 | clean action / remove targets 23 | .TP 24 | nikola console 25 | start an interactive Python console with access to your site 26 | .TP 27 | nikola deploy 28 | deploy the site 29 | .TP 30 | nikola doit_auto 31 | automatically execute tasks when a dependency changes 32 | .TP 33 | nikola dumpdb 34 | dump dependency DB 35 | .TP 36 | nikola forget 37 | clear successful run status from internal DB 38 | .TP 39 | nikola help 40 | show help 41 | .TP 42 | nikola ignore 43 | ignore task (skip) on subsequent runs 44 | .TP 45 | nikola import_blogger 46 | import a blogger dump 47 | .TP 48 | nikola import_feed 49 | import a RSS/Atom dump 50 | .TP 51 | nikola import_wordpress 52 | import a WordPress dump 53 | .TP 54 | nikola init 55 | create a Nikola site in the specified folder 56 | .TP 57 | nikola install_plugin 58 | install plugin into current site 59 | .TP 60 | nikola install_theme 61 | install theme into current site 62 | .TP 63 | nikola list 64 | list tasks from dodo file 65 | .TP 66 | nikola mincss 67 | apply mincss to the generated site 68 | .TP 69 | nikola new_post 70 | create a new blog post or site page 71 | .TP 72 | nikola orphans 73 | list all orphans 74 | .TP 75 | nikola run 76 | run tasks 77 | .TP 78 | nikola serve 79 | start the test webserver 80 | .TP 81 | nikola strace 82 | use strace to list file_deps and targets 83 | .TP 84 | nikola tabcompletion 85 | generate script for tab\-complention 86 | .TP 87 | nikola version 88 | print the Nikola version number 89 | .TP 90 | nikola help 91 | show help / reference 92 | .TP 93 | nikola help 94 | show command usage 95 | .TP 96 | nikola help 97 | show task usage 98 | -------------------------------------------------------------------------------- /translations/nikola.messages/pl.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # Kwpolska , 2013 8 | # Kwpolska , 2013 9 | # Kwpolska , 2013 10 | # ralsina , 2013 11 | # ralsina , 2013 12 | msgid "" 13 | msgstr "" 14 | "Project-Id-Version: Nikola\n" 15 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 16 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 17 | "PO-Revision-Date: 2014-01-22 13:13+0000\n" 18 | "Last-Translator: Kwpolska \n" 19 | "Language-Team: Polish (http://www.transifex.com/projects/p/nikola/language/pl/)\n" 20 | "MIME-Version: 1.0\n" 21 | "Content-Type: text/plain; charset=UTF-8\n" 22 | "Content-Transfer-Encoding: 8bit\n" 23 | "Language: pl\n" 24 | "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 25 | 26 | msgid "More posts about %s" 27 | msgstr "Więcej postów o %s" 28 | 29 | msgid "LANGUAGE" 30 | msgstr "polski" 31 | 32 | msgid "Tags" 33 | msgstr "Tags" 34 | 35 | msgid "Categories" 36 | msgstr "Kategorie" 37 | 38 | msgid "Tags and Categories" 39 | msgstr "Tagi i Kategorie" 40 | 41 | msgid "Read more" 42 | msgstr "Czytaj więcej" 43 | 44 | msgid "Posts about %s" 45 | msgstr "Posty o %s" 46 | 47 | msgid "Next post" 48 | msgstr "Następny post" 49 | 50 | msgid "old posts, page %d" 51 | msgstr "stare posty, strona %d" 52 | 53 | msgid "page %d" 54 | msgstr "strona %d" 55 | 56 | msgid "Source" 57 | msgstr "Źródło" 58 | 59 | #. Here your translation should not say English but the name of your language 60 | #. instead 61 | msgid "Read in English" 62 | msgstr "Czytaj po polsku" 63 | 64 | msgid "Posts for year %s" 65 | msgstr "Posty z roku %s" 66 | 67 | msgid "Newer posts" 68 | msgstr "Nowsze posty" 69 | 70 | msgid "Previous post" 71 | msgstr "Poprzedni post" 72 | 73 | msgid "Also available in:" 74 | msgstr "Również dostępny w językach:" 75 | 76 | msgid "Original site" 77 | msgstr "Oryginalna strona" 78 | 79 | msgid "Older posts" 80 | msgstr "Starsze posty" 81 | 82 | msgid "Archive" 83 | msgstr "Archiwum" 84 | 85 | msgid "Posted:" 86 | msgstr "Opublikowano:" 87 | 88 | msgid "Posts for {month} {year}" 89 | msgstr "Posty z {month} {year}" 90 | -------------------------------------------------------------------------------- /translations/nikola.messages/el.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # pmav99 , 2013 8 | # pmav99 , 2013 9 | # ralsina , 2013 10 | # ralsina , 2013 11 | msgid "" 12 | msgstr "" 13 | "Project-Id-Version: Nikola\n" 14 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 15 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 16 | "PO-Revision-Date: 2014-01-22 13:11+0000\n" 17 | "Last-Translator: Kwpolska \n" 18 | "Language-Team: Greek (http://www.transifex.com/projects/p/nikola/language/el/)\n" 19 | "MIME-Version: 1.0\n" 20 | "Content-Type: text/plain; charset=UTF-8\n" 21 | "Content-Transfer-Encoding: 8bit\n" 22 | "Language: el\n" 23 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 24 | 25 | msgid "More posts about %s" 26 | msgstr "Περισσότερες αναρτήσεις για %s" 27 | 28 | msgid "LANGUAGE" 29 | msgstr "Ελληνικά" 30 | 31 | msgid "Tags" 32 | msgstr "Ετικέτες" 33 | 34 | msgid "Categories" 35 | msgstr "Κατηγορίες" 36 | 37 | msgid "Tags and Categories" 38 | msgstr "Ετικέτες και κατηγορίες" 39 | 40 | msgid "Read more" 41 | msgstr "Διαβάστε περισσότερα" 42 | 43 | msgid "Posts about %s" 44 | msgstr "Αναρτήσεις για %s" 45 | 46 | msgid "Next post" 47 | msgstr "Επόμενη ανάρτηση" 48 | 49 | msgid "old posts, page %d" 50 | msgstr "σελίδα παλαιότερων αναρτήσεων %d" 51 | 52 | msgid "page %d" 53 | msgstr "σελίδα %d" 54 | 55 | msgid "Source" 56 | msgstr "Πηγαίος κώδικας" 57 | 58 | #. Here your translation should not say English but the name of your language 59 | #. instead 60 | msgid "Read in English" 61 | msgstr "Διαβάστε στα Ελληνικά" 62 | 63 | msgid "Posts for year %s" 64 | msgstr "Αναρτήσεις για το έτος %s" 65 | 66 | msgid "Newer posts" 67 | msgstr "Νεότερες αναρτήσεις" 68 | 69 | msgid "Previous post" 70 | msgstr "Προηγούμενη ανάρτηση" 71 | 72 | msgid "Also available in:" 73 | msgstr "Διαθέσιμο και στα:" 74 | 75 | msgid "Original site" 76 | msgstr "Ιστοσελίδα αρχικής ανάρτησης" 77 | 78 | msgid "Older posts" 79 | msgstr "Παλαιότερες αναρτήσεις" 80 | 81 | msgid "Archive" 82 | msgstr "Αρχείο" 83 | 84 | msgid "Posted:" 85 | msgstr "Αναρτήθηκε:" 86 | 87 | msgid "Posts for {month} {year}" 88 | msgstr "Αναρτήσεις για τον {month} του {year}" 89 | -------------------------------------------------------------------------------- /nikola/data/samplesite/stories/charts.txt: -------------------------------------------------------------------------------- 1 | .. link: 2 | .. description: 3 | .. tags: 4 | .. date: 2013/08/27 18:20:55 5 | .. title: Charts 6 | .. slug: charts 7 | 8 | If you are using reStructuredText and install pygal, Nikola has support for rather nice charts 9 | with little effort, and i's even semi-interactive (hover your pointer over the legend!): 10 | 11 | .. code:: rest 12 | 13 | .. chart:: StackedLine 14 | :title: 'Browser usage evolution (in %)' 15 | :fill: True 16 | :x_labels: ['2002','2003','2004','2005','2006','2007','2008','2009','2010','2011','2012'] 17 | :width: 600 18 | :height: 400 19 | :explicit_size: True 20 | :style: BlueStyle 21 | 22 | ('Others', [14.2, 15.4, 15.3, 8.9, 9, 10.4, 8.9, 5.8, 6.7, 6.8, 7.5]) 23 | ('IE', [85.8, 84.6, 84.7, 74.5, 66, 58.6, 54.7, 44.8, 36.2, 26.6, 20.1]) 24 | ('Firefox', [None, None, None, 16.6, 25, 31, 36.4, 45.5, 46.3, 42.8, 37.1]) 25 | ('Chrome', [None, None, None, None, None, None, 0, 3.9, 10.8, 23.8, 35.3]) 26 | 27 | .. raw:: html 28 | 29 |

    30 | 31 | .. chart:: StackedLine 32 | :title: 'Browser usage evolution (in %)' 33 | :fill: True 34 | :x_labels: ['2002','2003','2004','2005','2006','2007','2008','2009','2010','2011','2012'] 35 | :width: 600 36 | :height: 400 37 | :explicit_size: True 38 | :style: BlueStyle 39 | 40 | ('Others', [14.2, 15.4, 15.3, 8.9, 9, 10.4, 8.9, 5.8, 6.7, 6.8, 7.5]) 41 | ('IE', [85.8, 84.6, 84.7, 74.5, 66, 58.6, 54.7, 44.8, 36.2, 26.6, 20.1]) 42 | ('Firefox', [None, None, None, 16.6, 25, 31, 36.4, 45.5, 46.3, 42.8, 37.1]) 43 | ('Chrome', [None, None, None, None, None, None, 0, 3.9, 10.8, 23.8, 35.3]) 44 | 45 | .. raw:: html 46 | 47 |
    48 | 49 | 50 | Here's how it works: 51 | 52 | * Next to the directive, use the `chart type you want `_ 53 | * Any option you can set in a chart? Use it like ``:title:`` in this example. Syntax on 54 | the value is just like in the pygal examples. 55 | * For each data series do it like the line that says ``Firefox`` in this example. The first element 56 | is the label, then comes the data. 57 | 58 | Easy, right? Please explore `the pygal site `_ for more information, and just 59 | take this example and tweak stuff. 60 | -------------------------------------------------------------------------------- /translations/nikola.messages/pt_BR.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # schettino72 , 2013 8 | # Kwpolska , 2013 9 | # Kwpolska , 2013 10 | # ralsina , 2013 11 | # ralsina , 2013 12 | # schettino72 , 2013 13 | msgid "" 14 | msgstr "" 15 | "Project-Id-Version: Nikola\n" 16 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 17 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 18 | "PO-Revision-Date: 2014-01-22 13:11+0000\n" 19 | "Last-Translator: Kwpolska \n" 20 | "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/nikola/language/pt_BR/)\n" 21 | "MIME-Version: 1.0\n" 22 | "Content-Type: text/plain; charset=UTF-8\n" 23 | "Content-Transfer-Encoding: 8bit\n" 24 | "Language: pt_BR\n" 25 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 26 | 27 | msgid "More posts about %s" 28 | msgstr "Mais posts sobre %s" 29 | 30 | msgid "LANGUAGE" 31 | msgstr "Português" 32 | 33 | msgid "Tags" 34 | msgstr "Tags" 35 | 36 | msgid "Categories" 37 | msgstr "Categorias" 38 | 39 | msgid "Tags and Categories" 40 | msgstr "Tags e Categorias" 41 | 42 | msgid "Read more" 43 | msgstr "Leia mais" 44 | 45 | msgid "Posts about %s" 46 | msgstr "Posts sobre %s" 47 | 48 | msgid "Next post" 49 | msgstr "Próximo post" 50 | 51 | msgid "old posts, page %d" 52 | msgstr "Posts antigos, página %d" 53 | 54 | msgid "page %d" 55 | msgstr "página %d" 56 | 57 | msgid "Source" 58 | msgstr "Código" 59 | 60 | #. Here your translation should not say English but the name of your language 61 | #. instead 62 | msgid "Read in English" 63 | msgstr "Ler em português" 64 | 65 | msgid "Posts for year %s" 66 | msgstr "Posts do ano %s" 67 | 68 | msgid "Newer posts" 69 | msgstr "Posts mais recentes" 70 | 71 | msgid "Previous post" 72 | msgstr "Post anterior" 73 | 74 | msgid "Also available in:" 75 | msgstr "Também disponível em:" 76 | 77 | msgid "Original site" 78 | msgstr "Site original" 79 | 80 | msgid "Older posts" 81 | msgstr "Posts mais antigos" 82 | 83 | msgid "Archive" 84 | msgstr "Arquivo" 85 | 86 | msgid "Posted:" 87 | msgstr "Publicado:" 88 | 89 | msgid "Posts for {month} {year}" 90 | msgstr "Posts de {month} {year}" 91 | -------------------------------------------------------------------------------- /nikola/plugins/compile/rest/slides.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright © 2012-2014 Roberto Alsina and others. 4 | 5 | # Permission is hereby granted, free of charge, to any 6 | # person obtaining a copy of this software and associated 7 | # documentation files (the "Software"), to deal in the 8 | # Software without restriction, including without limitation 9 | # the rights to use, copy, modify, merge, publish, 10 | # distribute, sublicense, and/or sell copies of the 11 | # Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice 15 | # shall be included in all copies or substantial portions of 16 | # the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 19 | # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 20 | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 21 | # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 22 | # OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 23 | # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 24 | # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | 27 | from __future__ import unicode_literals 28 | 29 | import uuid 30 | 31 | from docutils import nodes 32 | from docutils.parsers.rst import Directive, directives 33 | 34 | from nikola.plugin_categories import RestExtension 35 | 36 | 37 | class Plugin(RestExtension): 38 | 39 | name = "rest_slides" 40 | 41 | def set_site(self, site): 42 | self.site = site 43 | directives.register_directive('slides', Slides) 44 | Slides.site = site 45 | return super(Plugin, self).set_site(site) 46 | 47 | 48 | class Slides(Directive): 49 | """ Restructured text extension for inserting slideshows.""" 50 | has_content = True 51 | 52 | def run(self): 53 | if len(self.content) == 0: 54 | return 55 | 56 | output = self.site.template_system.render_template( 57 | 'slides.tmpl', 58 | None, 59 | { 60 | 'content': self.content, 61 | 'carousel_id': 'slides_' + uuid.uuid4().hex, 62 | } 63 | ) 64 | return [nodes.raw('', output, format='html')] 65 | 66 | 67 | directives.register_directive('slides', Slides) 68 | -------------------------------------------------------------------------------- /translations/nikola.messages/fr.po: -------------------------------------------------------------------------------- 1 | # Messages in Nikola 2 | # Copyright (C) 2012-2013 3 | # This file is distributed under the same license as the Nikola package. 4 | # 5 | # Translators: 6 | # Translators: 7 | # JohnPreston , 2014 8 | # JohnPreston , 2014 9 | # pabluk , 2013 10 | # pabluk , 2013 11 | # pabluk , 2013 12 | # ralsina , 2013 13 | # ralsina , 2013 14 | msgid "" 15 | msgstr "" 16 | "Project-Id-Version: Nikola\n" 17 | "Report-Msgid-Bugs-To: ralsina@netmanagers.com.ar\n" 18 | "POT-Creation-Date: 2013-03-15 12:24-0300\n" 19 | "PO-Revision-Date: 2014-01-22 13:12+0000\n" 20 | "Last-Translator: Kwpolska \n" 21 | "Language-Team: French (http://www.transifex.com/projects/p/nikola/language/fr/)\n" 22 | "MIME-Version: 1.0\n" 23 | "Content-Type: text/plain; charset=UTF-8\n" 24 | "Content-Transfer-Encoding: 8bit\n" 25 | "Language: fr\n" 26 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 27 | 28 | msgid "More posts about %s" 29 | msgstr "Plus d'articles sur %s" 30 | 31 | msgid "LANGUAGE" 32 | msgstr "Français" 33 | 34 | msgid "Tags" 35 | msgstr "Étiquettes" 36 | 37 | msgid "Categories" 38 | msgstr "Catégories" 39 | 40 | msgid "Tags and Categories" 41 | msgstr "Étiquettes et catégories" 42 | 43 | msgid "Read more" 44 | msgstr "Lire la suite" 45 | 46 | msgid "Posts about %s" 47 | msgstr "Articles sur %s" 48 | 49 | msgid "Next post" 50 | msgstr "Article suivant" 51 | 52 | msgid "old posts, page %d" 53 | msgstr "anciens articles, page %d" 54 | 55 | msgid "page %d" 56 | msgstr "page %d" 57 | 58 | msgid "Source" 59 | msgstr "Source" 60 | 61 | #. Here your translation should not say English but the name of your language 62 | #. instead 63 | msgid "Read in English" 64 | msgstr "Lire en français" 65 | 66 | msgid "Posts for year %s" 67 | msgstr "Articles de l'année %s" 68 | 69 | msgid "Newer posts" 70 | msgstr "Billets récents" 71 | 72 | msgid "Previous post" 73 | msgstr "Article précédent" 74 | 75 | msgid "Also available in:" 76 | msgstr "Egalement disponible en:" 77 | 78 | msgid "Original site" 79 | msgstr "Site d'origine" 80 | 81 | msgid "Older posts" 82 | msgstr "Anciens articles" 83 | 84 | msgid "Archive" 85 | msgstr "Archives" 86 | 87 | msgid "Posted:" 88 | msgstr "Publié:" 89 | 90 | msgid "Posts for {month} {year}" 91 | msgstr "Articles de {month} {year}" 92 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | Nikola, a Static Site and Blog Generator 2 | ======================================== 3 | 4 | In goes content, out comes a website, ready to deploy. 5 | 6 | .. image:: https://travis-ci.org/getnikola/nikola.png 7 | :target: https://travis-ci.org/getnikola/nikola 8 | 9 | .. image:: https://pypip.in/v/Nikola/badge.png 10 | :target: https://crate.io/packages/Nikola 11 | 12 | .. image:: https://pypip.in/d/Nikola/badge.png 13 | :target: https://crate.io/packages/Nikola 14 | 15 | .. image:: https://coveralls.io/repos/getnikola/nikola/badge.png?branch=master 16 | :target: https://coveralls.io/r/getnikola/nikola?branch=master 17 | 18 | 19 | Why Static Websites? 20 | -------------------- 21 | 22 | Static websites are safer, use fewer resources, and avoid vendor and platform lock-in. 23 | You can read more about this in the `Nikola Handbook`_ 24 | 25 | 26 | What Can Nikola Do? 27 | ------------------- 28 | 29 | It has many features, but here are some of the nicer ones: 30 | 31 | * `Blogs, with tags, feeds, archives, comments, etc.`__ 32 | * `Themable`_ 33 | * Fast builds, thanks to `doit`_ 34 | * Flexible, extensible via plugins 35 | * Small codebase (programmers can understand all of Nikola core in a day) 36 | * `reStructuredText`_ or Markdown as input language (also Wiki, BBCode, Textile, and HTML) 37 | * Easy `image galleries`_ (just drop files in a folder!) 38 | * Syntax highlighting for almost any programming language or markup 39 | * Multilingual sites, `translated to 18 languages.`__ 40 | * Doesn't reinvent wheels, leverages existing tools. 41 | * Python 2.6, 2.7 and 3.3 compatible. 42 | 43 | .. _Nikola Handbook: http://getnikola.com/handbook.html#why-static 44 | __ http://users.getnikola.com/ 45 | .. _Themable: http://themes.getnikola.com 46 | .. _doit: http://pydoit.org 47 | .. _reStructuredText: http://getnikola.com/quickstart.html 48 | .. _image galleries: http://getnikola.com/galleries/demo/ 49 | __ https://www.transifex.com/projects/p/nikola/ 50 | 51 | Installation Instructions 52 | ------------------------- 53 | 54 | Assuming you have pip installed:: 55 | 56 | git clone git://github.com/getnikola/nikola.git 57 | cd nikola 58 | pip install . 59 | 60 | For optional features:: 61 | 62 | pip install -r requirements-full.txt 63 | 64 | For tests (see tests/README.rst for more details):: 65 | 66 | pip install -r requirements-tests.txt 67 | 68 | For more information, see http://getnikola.com/ 69 | --------------------------------------------------------------------------------