Skip to content
Permalink
Browse files

Merge branch 'master' into new-auto

  • Loading branch information
ralsina committed May 27, 2015
2 parents 00d2283 + 4911008 commit ee3e11306dfb72effcb1cc1ab3b51886e0fab4a5
Showing with 11,329 additions and 377 deletions.
  1. +8 −0 CHANGES.txt
  2. +8 −7 README.rst
  3. +2 −2 docs/creating-a-site.txt
  4. +12 −5 docs/extending.txt
  5. +6 −9 docs/internals.txt
  6. BIN docs/man/nikola.1.gz
  7. +16 −16 docs/manual.txt
  8. +1 −2 docs/sphinx/index.txt
  9. +0 −1 docs/sphinx/upgrading-to-v6.txt
  10. +0 −111 docs/upgrading-to-v6.txt
  11. +14 −8 nikola/__main__.py
  12. +3 −3 nikola/data/samplesite/README.txt
  13. +2 −2 nikola/data/samplesite/posts/1.rst
  14. +2 −2 nikola/data/samplesite/stories/1.rst
  15. +1 −1 nikola/data/samplesite/stories/bootstrap-demo.rst
  16. +0 −1 nikola/data/samplesite/stories/upgrading-to-v6.txt
  17. +8 −25 nikola/data/symlinked.txt
  18. +1 −1 nikola/data/themes/bootstrap-jinja/README.md
  19. +0 −1 nikola/data/themes/bootstrap-jinja/assets/css/bootstrap-responsive.css
  20. +1,109 −0 nikola/data/themes/bootstrap-jinja/assets/css/bootstrap-responsive.css
  21. +0 −1 nikola/data/themes/bootstrap-jinja/assets/css/bootstrap-responsive.min.css
  22. +9 −0 nikola/data/themes/bootstrap-jinja/assets/css/bootstrap-responsive.min.css
  23. +0 −1 nikola/data/themes/bootstrap-jinja/assets/css/bootstrap.css
  24. +6,167 −0 nikola/data/themes/bootstrap-jinja/assets/css/bootstrap.css
  25. +0 −1 nikola/data/themes/bootstrap-jinja/assets/css/bootstrap.min.css
  26. +9 −0 nikola/data/themes/bootstrap-jinja/assets/css/bootstrap.min.css
  27. +0 −1 nikola/data/themes/bootstrap-jinja/assets/css/theme.css
  28. +176 −0 nikola/data/themes/bootstrap-jinja/assets/css/theme.css
  29. BIN nikola/data/themes/bootstrap-jinja/assets/img/glyphicons-halflings-white.png
  30. BIN nikola/data/themes/bootstrap-jinja/assets/img/glyphicons-halflings-white.png
  31. BIN nikola/data/themes/bootstrap-jinja/assets/img/glyphicons-halflings.png
  32. BIN nikola/data/themes/bootstrap-jinja/assets/img/glyphicons-halflings.png
  33. +0 −1 nikola/data/themes/bootstrap-jinja/assets/js/bootstrap.js
  34. +2,280 −0 nikola/data/themes/bootstrap-jinja/assets/js/bootstrap.js
  35. +0 −1 nikola/data/themes/bootstrap-jinja/assets/js/bootstrap.min.js
  36. +6 −0 nikola/data/themes/bootstrap-jinja/assets/js/bootstrap.min.js
  37. +1 −0 nikola/data/themes/bootstrap-jinja/assets/js/colorbox-i18n/jquery.colorbox-bn.js
  38. +0 −1 nikola/data/themes/bootstrap-jinja/assets/js/flowr.plugin.js
  39. +265 −0 nikola/data/themes/bootstrap-jinja/assets/js/flowr.plugin.js
  40. +1 −0 nikola/data/themes/bootstrap-jinja/assets/js/jquery.js
  41. +1 −1 nikola/data/themes/bootstrap/README.md
  42. +1 −0 nikola/data/themes/bootstrap/assets/js/colorbox-i18n/jquery.colorbox-bn.js
  43. +1 −0 nikola/data/themes/bootstrap/assets/js/jquery.js
  44. +0 −1 nikola/data/themes/bootstrap3-jinja/assets/css/docs.css
  45. +160 −0 nikola/data/themes/bootstrap3-jinja/assets/css/docs.css
  46. BIN nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomCenter.png
  47. BIN nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomCenter.png
  48. BIN nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomLeft.png
  49. BIN nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomLeft.png
  50. BIN nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomRight.png
  51. BIN nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomRight.png
  52. BIN nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderMiddleLeft.png
  53. BIN nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderMiddleLeft.png
  54. BIN nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderMiddleRight.png
  55. BIN nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderMiddleRight.png
  56. BIN nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopCenter.png
  57. BIN nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopCenter.png
  58. BIN nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopLeft.png
  59. BIN nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopLeft.png
  60. BIN nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopRight.png
  61. BIN nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopRight.png
  62. +0 −1 nikola/data/themes/bootstrap3-jinja/assets/css/rst.css
  63. +318 −0 nikola/data/themes/bootstrap3-jinja/assets/css/rst.css
  64. +0 −1 nikola/data/themes/bootstrap3-jinja/assets/css/theme.css
  65. +177 −0 nikola/data/themes/bootstrap3-jinja/assets/css/theme.css
  66. +1 −0 nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.woff2
  67. +1 −0 nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.woff2
  68. +65 −98 nikola/nikola.py
  69. +11 −1 nikola/plugin_categories.py
  70. +12 −1 nikola/plugins/command/github_deploy.py
  71. +28 −11 nikola/plugins/command/import_wordpress.py
  72. +1 −1 nikola/plugins/command/init.py
  73. +2 −2 nikola/plugins/command/install_theme.py
  74. +2 −2 nikola/plugins/command/plugin.py
  75. +9 −0 nikola/plugins/command/rst2html.plugin
  76. +68 −0 nikola/plugins/command/rst2html/__init__.py
  77. +13 −0 nikola/plugins/command/rst2html/rst2html.tmpl
  78. +9 −0 nikola/plugins/command/status.plugin
  79. +104 −0 nikola/plugins/command/status.py
  80. +1 −1 nikola/plugins/compile/ipynb/README.rst
  81. +34 −30 nikola/plugins/compile/rest/__init__.py
  82. +10 −0 nikola/plugins/misc/scan_posts.plugin
  83. +100 −0 nikola/plugins/misc/scan_posts.py
  84. +9 −2 nikola/post.py
  85. +6 −1 nikola/utils.py
  86. +1 −1 requirements-tests.txt
  87. +6 −3 scripts/jinjify.py
  88. +59 −0 scripts/update-bower.sh
  89. +1 −1 setup.py
  90. +3 −3 tests/data/translated_titles/conf.py
  91. +8 −11 tests/test_command_import_wordpress.py
@@ -4,13 +4,21 @@ New in master
Features
--------

* New `nikola rst2html` command (Issue #1710)
* New `nikola status` command (Issue #1740)
* Support [code] in wordpress importers (Issue #1186)
* Cleaner formatting of HTML output
* Allowing category hierarchies via new option CATEGORY_ALLOW_HIERARCHIES
(Issue #1520)

Bugfixes
--------

* Treat special-purpose “draft” tag case-insensitive
* Avoid some rebuild loops (Issue #1747)
* Better error if two posts/pages output conflict (Issue #1749)
* Scanning of posts refactored out of core (Issue #1700)
* github_deploy records lastdeploy timestamp like regular deploy
* Use a global directory for gallery images, ignoring translations (Issue #1726)
* The post-list directive only triggers rebuilds if timeline changes (Issue #1688)
* Don’t check the same remote URL more than once (Issue #1732)
@@ -33,7 +33,7 @@ It has many features, but here are some of the nicer ones:
* `Blogs, with tags, feeds, archives, comments, etc.`__
* `Themable`_
* Fast builds, thanks to `doit`_
* Flexible, extensible via plugins
* Flexible, extensible via the dozens of `available plugins`_
* Small codebase (programmers can understand all of Nikola core in a day)
* `reStructuredText`_ or Markdown as input language (also Wiki, BBCode, Textile, and HTML)
* Easy `image galleries`_ (just drop files in a folder!)
@@ -42,12 +42,13 @@ It has many features, but here are some of the nicer ones:
* Doesn't reinvent wheels, leverages existing tools.
* Python 2.7, 3.3 and 3.4 compatible.

.. _Nikola Handbook: http://getnikola.com/handbook.html#why-static
__ http://users.getnikola.com/
.. _Themable: http://themes.getnikola.com
.. _Nikola Handbook: https://getnikola.com/handbook.html#why-static
__ https://users.getnikola.com/
.. _Themable: https://themes.getnikola.com
.. _doit: http://pydoit.org
.. _reStructuredText: http://getnikola.com/quickstart.html
.. _image galleries: http://getnikola.com/galleries/demo/
.. _available plugins: https://plugins.getnikola.com/
.. _reStructuredText: https://getnikola.com/quickstart.html
.. _image galleries: https://getnikola.com/galleries/demo/
__ https://www.transifex.com/projects/p/nikola/

Nikola Architecture
@@ -70,4 +71,4 @@ For tests (see tests/README.rst for more details)::

pip install Nikola[extras,tests]

For more information, see http://getnikola.com/
For more information, see https://getnikola.com/
@@ -43,7 +43,7 @@ configuration file:
BLOG_TITLE = "Not a Blog"
# This is the main URL for your site. It will be used
# in a prominent link
SITE_URL = "http://getnikola.com/"
SITE_URL = "https://getnikola.com/"
BLOG_EMAIL = "ralsina@example.com"
BLOG_DESCRIPTION = "This is a demo site (not a blog) for Nikola."

@@ -105,7 +105,7 @@ doesn’t matter at all in stories. ``description`` is useful for SEO purposes
if you care for that.

And below, the content. By default you are expected to use
`reStructuredText <http://getnikola.com/quickstart.html>`_ but
`reStructuredText <https://getnikola.com/quickstart.html>`_ but
Nikola supports a ton of formats, including Markdown, plain HTML, BBCode,
Wiki, and Textile.

@@ -38,7 +38,7 @@ When you run ``nikola --help`` you will see something like this::

$ nikola help
Nikola is a tool to create static websites and blogs. For full documentation and more
information, please visit http://getnikola.com
information, please visit https://getnikola.com/


Available commands:
@@ -87,7 +87,7 @@ First, the ``serve.plugin`` file:
[Documentation]
Author = Roberto Alsina
Version = 0.1
Website = http://getnikola.com
Website = https://getnikola.com
Description = Start test server.

.. note:: If you want to publish your plugin on the Plugin Index, `read
@@ -179,7 +179,7 @@ First, you have to create a .plugin file. Here's the one for the Mako plugin:
[Documentation]
Author = Roberto Alsina
Version = 0.1
Website = http://getnikola.com
Website = https://getnikola.com
Description = Support for Mako templates.

.. note:: If you want to publish your plugin on the Plugin Index, `read
@@ -300,7 +300,7 @@ in the logical ways:
[Documentation]
Author = Roberto Alsina
Version = 0.1
Website = http://getnikola.com
Website = https://getnikola.com
Description = Copy theme assets into output.


@@ -432,10 +432,17 @@ Does nothing specific, can be used to modify the site object (and thus the confi
Put all the magic you want in ``set_site()``, and don’t forget to run the one
from ``super()``.

PostScanner Plugins
-------------------

Get posts and stories from "somewhere" to be added to the timeline.
The only currently existing plugin of this kind reads them from disk.


Plugin Index
============

There is a `plugin index <http://plugins.getnikola.com/>`__, which stores all
There is a `plugin index <https://plugins.getnikola.com/>`__, which stores all
of the plugins for Nikola people wanted to share with the world.

You may want to read the `README for the Index
@@ -26,7 +26,7 @@ Nikola is a Pile of Plugins

There are several kinds of plugins, all implementing interfaces defined in
``nikola/plugin_categories.py`` and documented in
`Extending Nikola <http://getnikola.com/extending.html>`_
`Extending Nikola <https://getnikola.com/extending.html>`_

If your plugin has a dependency, please make sure it doesn't make Nikola
throw an exception when the dependency is missing. Try to fail gracefully
@@ -95,17 +95,14 @@ posts are added into RSS feeds and stories are not. All of them are in a list ca
"the timeline" formed by objects of class ``Post``.

When you are creating a task that needs the list of posts and/or stories (for example,
the RSS creation plugin), your plugin should call ``self.site.scan_posts()`` to ensure
the timeline is created and available in ``self.site.timeline``. You should not modify
the timeline, because it will cause consistency issues.
the RSS creation plugin) on task execution time, your plugin should call ``self.site.scan_posts()``
in ``gen_tasks`` to ensure the timeline is created and available in
``self.site.timeline``. You should not modify the timeline, because it will cause consistency issues.

.. sidebar:: scan_posts

The scan_posts function is what reads your site and creates the timeline.

I am considering moving scan_posts off the core and into its own plugin
so it can be replaced (for example, by a version that reads a database
instead of scanning a folder tree).
The ``Nikola.scan_posts`` function can be used in plugins to force the
timeline creation, for example, while creating the tasks.

Your plugin can use the timeline to generate "stuff" (technical term). For example,
Nikola comes with plugins that use the timeline to create a website (surprised?).
BIN +16 Bytes (100%) docs/man/nikola.1.gz
Binary file not shown.
@@ -67,7 +67,7 @@ Nikola can do:
* A blog (`example <http://ralsina.me>`__)
* Your company's site
* Your personal site
* A software project's site (`example <http://getnikola.com>`__)
* A software project's site (`example <https://getnikola.com>`__)
* A book's site

Since Nikola-based sites don't run any code on the server, there is no way to process
@@ -91,13 +91,13 @@ Getting Help

.. class:: lead

`Get help here! <http://getnikola.com/contact.html>`_
`Get help here! <https://getnikola.com/contact.html>`_

TL;DR:

* You can file bugs at `the issue tracker <https://github.com/getnikola/nikola/issues>`__
* You can discuss Nikola at the `nikola-discuss google group <http://groups.google.com/group/nikola-discuss>`_
* You can subscribe to `the Nikola Blog <http://getnikola.com/blog>`_
* You can subscribe to `the Nikola Blog <https://getnikola.com/blog>`_
* You can follow `Nikola on Twitter <https://twitter.com/GetNikola>`_

Why Static?
@@ -180,7 +180,7 @@ If you want to create a blog or a site, Nikola provides:
* Google sitemap generation
* Custom deployment (if it's a command, you can use it)
* A (very) basic look and feel you can customize, and is even text-mode friendly
* The input format is light markup (`reStructuredText <http://getnikola.com/quickstart.html>`__ or
* The input format is light markup (`reStructuredText <https://getnikola.com/quickstart.html>`__ or
`Markdown <http://daringfireball.net/projects/markdown/>`_)
* Easy-to-create image galleries
* Support for displaying source code
@@ -308,7 +308,7 @@ The recommended formats are reStructuredText and Markdown, but there is also sup
for Textile and WikiCreole and even for just writing HTML. For more details,
read `Configuring other input formats`_.

.. note:: There is a great `quick tutorial to learn reStructuredText. <http://getnikola.com/quickstart.html>`__
.. note:: There is a great `quick tutorial to learn reStructuredText. <https://getnikola.com/quickstart.html>`__

First, let's see how you "build" your site. Nikola comes with a minimal site to get you started.

@@ -372,7 +372,7 @@ and even individual files like ``nikola build output/index.html``
Nikola also has other commands besides ``build``::

$ nikola help
Nikola is a tool to create static websites and blogs. For full documentation and more information, please visit http://getnikola.com/
Nikola is a tool to create static websites and blogs. For full documentation and more information, please visit https://getnikola.com/


Available commands:
@@ -439,7 +439,7 @@ but you can use a lot of different markups using the ``-f`` option.

Currently Nikola supports reStructuredText, Markdown, IPython Notebooks, HTML as input,
can also use Pandoc for conversion, and has support for BBCode, CreoleWiki, txt2tags, Textile
and more via `plugins <http://plugins.getnikola.com>`__.
and more via `plugins <https://plugins.getnikola.com>`__.
For more details, read `Configuring other input formats`_.

You can control what markup compiler is used for each file extension with the ``COMPILERS``
@@ -620,7 +620,7 @@ Currently supported languages are:
* Urdu

If you wish to add support for more languages, check out the instructions
at the `theming guide <http://getnikola.com/theming.html>`_.
at the `theming guide <https://getnikola.com/theming.html>`_.

The post page is generated using the ``post.tmpl`` template, which you can use
to customize the output.
@@ -872,7 +872,7 @@ You surely want to edit these options::
# Data about this site
BLOG_AUTHOR = "Your Name" # (translatable)
BLOG_TITLE = "Demo Site" # (translatable)
SITE_URL = "http://getnikola.com/"
SITE_URL = "https://getnikola.com/"
BLOG_EMAIL = "joe@demo.site"
BLOG_DESCRIPTION = "This is a demo site for Nikola." # (translatable)

@@ -904,8 +904,8 @@ CSS tweaking

If you want to use LESS_ or Sass_ for your custom CSS, or the theme you use
contains LESS or Sass code that you want to override, you will need to install
the `LESS plugin <http://plugins.getnikola.com/#less>`__ or
`SASS plugin <http://plugins.getnikola.com/#sass>`__ create a ``less`` or
the `LESS plugin <https://plugins.getnikola.com/#less>`__ or
`SASS plugin <https://plugins.getnikola.com/#sass>`__ create a ``less`` or
``sass`` directory in your site root, put your ``.less`` or ``.scss`` files
there and a targets file containing the list of files you want compiled.

@@ -1057,7 +1057,7 @@ Getting More Themes
-------------------

There are a few themes for Nikola. They are available at
the `Themes Index <http://themes.getnikola.com/>`_.
the `Themes Index <https://themes.getnikola.com/>`_.
Nikola has a built-in theme download/install mechanism to install those themes — the ``install_theme`` command::

$ nikola install_theme -l
@@ -1070,7 +1070,7 @@ Nikola has a built-in theme download/install mechanism to install those themes

$ nikola install_theme blogtxt
[2013-10-12T16:46:13Z] NOTICE: install_theme: Downloading:
http://themes.getnikola.com/v6/blogtxt.zip
https://themes.getnikola.com/v6/blogtxt.zip
[2013-10-12T16:46:15Z] NOTICE: install_theme: Extracting: blogtxt into themes

And there you are, you now have themes/blogtxt installed. It's very
@@ -1830,7 +1830,7 @@ directories listed in the ``EXTRA_PLUGINS_DIRS`` configuration variable.
Getting Extra Plugins
---------------------

If you want extra plugins, there is also the `Plugins Index <http://plugins.getnikola.com/>`_.
If you want extra plugins, there is also the `Plugins Index <https://plugins.getnikola.com/>`_.

Similarly to themes, there is a nice, built-in command to manage them —
``plugin``::
@@ -1844,7 +1844,7 @@ Similarly to themes, there is a nice, built-in command to manage them —

$ nikola plugin --install helloworld
[2013-10-12T16:51:56Z] NOTICE: install_plugin: Downloading: http://plugins.getnikola.com/v6/helloworld.zip
[2013-10-12T16:51:56Z] NOTICE: install_plugin: Downloading: https://plugins.getnikola.com/v6/helloworld.zip
[2013-10-12T16:51:58Z] NOTICE: install_plugin: Extracting: helloworld into plugins
plugins/helloworld/requirements.txt
[2013-10-12T16:51:58Z] NOTICE: install_plugin: This plugin has Python dependencies.
@@ -1872,7 +1872,7 @@ And upgrade them::
[2014-04-15T09:00:18Z] WARNING: plugin: This is not very smart, it just reinstalls some plugins and hopes for the best
Will upgrade 1 plugins: graphviz
Upgrading graphviz
[2014-04-15T09:00:20Z] INFO: plugin: Downloading: http://plugins.getnikola.com/v7/graphviz.zip
[2014-04-15T09:00:20Z] INFO: plugin: Downloading: https://plugins.getnikola.com/v7/graphviz.zip
[2014-04-15T09:00:20Z] INFO: plugin: Extracting: graphviz into /home/ralsina/.nikola/plugins/
[2014-04-15T09:00:20Z] NOTICE: plugin: This plugin has third-party dependencies you need to install manually.
Contents of the requirements-nonpy.txt file:
@@ -3,13 +3,12 @@ Nikola Documentation

Those are the docs for the current GitHub master. It might be incompatible
with the stable release. The docs for the stable release are available `on
the Nikola website <http://getnikola.com/documentation.html>`_.
the Nikola website <https://getnikola.com/documentation.html>`_.

.. toctree::
:maxdepth: 5

manual
upgrading-to-v6
creating-a-site
creating-a-theme
theming

This file was deleted.

0 comments on commit ee3e113

Please sign in to comment.