Skip to content
Permalink
Browse files
7.5.0
  • Loading branch information
ralsina committed Jun 8, 2015
1 parent 5c2003e commit 50bee014552809bf3465213c6a6e30c7ca163b2d
@@ -47,7 +47,6 @@
# eu Basque
# fa Persian
# fi Finnish
# fil Filipino
# fr French
# hi Hindi
# hr Croatian
@@ -64,11 +63,9 @@
# sl Slovene
# sr Serbian (Cyrillic)
# sv Swedish
# tl Tagalog
# tr Turkish [NOT tr_TR]
# uk Ukrainian
# ur Urdu
# zh_TW Chinese (Taiwan)
# zh_cn Chinese (Simplified)
#
# If you want to use Nikola with a non-supported language you have to provide
@@ -317,6 +314,16 @@
# CATEGORY_PATH = "categories"
# CATEGORY_PREFIX = "cat_"

# If CATEGORY_ALLOW_HIERARCHIES is set to True, categories can be organized in
# hierarchies. For a post, the whole path in the hierarchy must be specified,
# using a forward slash ('/') to separate paths. Use a backslash ('\') to escape
# a forward slash or a backslash (i.e. '\//\\' is a path specifying the
# subcategory called '\' of the top-level category called '/').
# CATEGORY_ALLOW_HIERARCHIES = False
# If CATEGORY_OUTPUT_FLAT_HIERARCHY is set to True, the output written to output
# contains only the name of the leaf category and not the whole path.
# CATEGORY_OUTPUT_FLAT_HIERARCHY = False

# If CATEGORY_PAGES_ARE_INDEXES is set to True, each category's page will contain
# the posts themselves. If set to False, it will be just a list of links.
# CATEGORY_PAGES_ARE_INDEXES = False
@@ -781,7 +788,8 @@
# done in the code, hope you don't mind ;-)
# Note: most Nikola-specific extensions are done via the Nikola plugin system,
# with the MarkdownExtension class and should not be added here.
# MARKDOWN_EXTENSIONS = ['fenced_code', 'codehilite']
# The default is ['fenced_code', 'codehilite']
MARKDOWN_EXTENSIONS = ['fenced_code', 'codehilite', 'extras']

# Extra options to pass to the pandoc comand.
# by default, it's empty, is a list of strings, for example
@@ -1,3 +1,37 @@
New in v7.5.0
=============

Features
--------

* Make default themes more accessible (Issue #377)
* Add ipython support to the default themes (Issue #1782)
* Automatically mark ipynb posts/pages as requiring mathjax (Issue #1782)
* New --get-path option for ``nikola install_theme`` (Issue #1762)
* 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
--------

* Dropped empty languages (fil, tl, zh_TW)
* Extract ``nikola check`` target list from actual task list instead of parsing (Issue #1758)
* 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)
* All remotely checked links resulted in incorrect warnings (`nikola check -lr`)
* Exclude `<meta content="noindex" name="robots">` from sitemaps
* new_post paths are now relative to CWD (Issue #1325)

New in v7.4.1
=============

@@ -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.

@@ -196,6 +196,11 @@ in a particular way, using a setting called ``CODE_COLOR_SCHEME`` where you can
what color scheme the syntax highlighter uses. You can use your own ``assets/css/code.css`` if you
don’t like the provided ones.

Nikola **requires** ``assets/css/rst.css`` and ``assets/css/code.css`` to function properly.
We will also add themes for IPython Notebook (``assets/css/ipython.min.css``
and ``assets/css/nikola_ipython.css``) into the template; note that they are
activated only if you configured your ``POSTS``/``PAGES`` with ipynb support.

But how do I tell **our** lanyon theme to use those CSS files instead of whatever it’s using now?
By giving our theme its own base_helper.tmpl.

@@ -225,6 +230,10 @@ The part we want to change is this:
<link href="/assets/css/custom.css" rel="stylesheet" type="text/css">
%endif
%endif
% if needs_ipython_css:
<link href="/assets/css/ipython.min.css" rel="stylesheet" type="text/css">
<link href="/assets/css/nikola_ipython.css" rel="stylesheet" type="text/css">
% endif
</%def>

And we will change it so it uses the lanyon styles instead of theme.css (again, ignore the bundles for now!):
@@ -243,6 +252,10 @@ And we will change it so it uses the lanyon styles instead of theme.css (again,
<link href="/assets/css/custom.css" rel="stylesheet" type="text/css">
%endif
%endif
% if needs_ipython_css:
<link href="/assets/css/ipython.min.css" rel="stylesheet" type="text/css">
<link href="/assets/css/nikola_ipython.css" rel="stylesheet" type="text/css">
% endif
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Serif:400,400italic,700|PT+Sans:400">
</%def>

@@ -8,7 +8,7 @@
Extending Nikola
================

:Version: 7.4.1
:Version: 7.5.0
:Author: Roberto Alsina <ralsina@netmanagers.com.ar>

.. class:: alert alert-info pull-right
@@ -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.


@@ -407,9 +407,11 @@ Currently Nikola emits the following signals:
When all the configuration file is processed. Note that plugins are activated before this is emitted.
``scanned``
After posts are scanned.
``new_post``
When a new post is created, using the ``nikola new_post`` command. The signal
``new_post`` / ``new_page``
When a new post is created, using the ``nikola new_post``/``nikola new_page`` commands. The signal
data contains the path of the file, and the metadata file (if there is one).
``existing_post`` / ``existing_page``
When a new post fails to be created due to a title conflict. Contains the same data as ``new_post``.
``deployed``
When the ``nikola deploy`` command is run, and there is at least one new
entry/post since ``last_deploy``. The signal data is of the form::
@@ -430,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
@@ -3,7 +3,7 @@
.. date: 1970-01-01 15:00:00
.. description: Get help using Nikola, or contact us.

:Version: 7.4.1
:Version: 7.5.0

.. class:: alert alert-info pull-right

@@ -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?).

0 comments on commit 50bee01

Please sign in to comment.