Skip to content

Commit

Permalink
Nikola v7.6.0
Browse files Browse the repository at this point in the history
Signed-off-by: Chris Warrick <kwpolska@gmail.com>
  • Loading branch information
Kwpolska committed Jul 2, 2015
1 parent 4bee61f commit b2e6223
Show file tree
Hide file tree
Showing 12 changed files with 567 additions and 112 deletions.
12 changes: 6 additions & 6 deletions WhatIsNikola.rst
Expand Up @@ -7,12 +7,12 @@
What is Nikola?
===============

Nikola is a static site and blog generator, written in Python. It can
use Mako and Jinja2 templates, and input in many popular markup
Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup
formats, such as reStructuredText and Markdown — and can even turn
IPython Notebooks into blog posts! It also supports image galleries,
and is multilingual. Nikola is flexible, and page builds are
extremely fast, courtesy of doit (which is rebuilding only what has
been changed).
Jupyter (IPython) Notebooks into blog posts! It also supports image
galleries, and is multilingual. Nikola is flexible, and page builds
are extremely fast, courtesy of doit (which is rebuilding only what
has been changed).

Find out more at the website: https://getnikola.com/
10 changes: 5 additions & 5 deletions listings/conf.py
Expand Up @@ -541,7 +541,7 @@
# INDEXES_STATIC = True
#
# (translatable) If PRETTY_URLS is set to True, this setting will be used to create
# more pretty URLs for index pages, such as page/2/index.html instead of index-2.html.
# prettier URLs for index pages, such as page/2/index.html instead of index-2.html.
# Valid values for this settings are:
# * False,
# * a list or tuple, specifying the path to be generated,
Expand Down Expand Up @@ -733,12 +733,12 @@
# /robots.txt and /sitemap.xml, and to inform search engines about /sitemapindex.xml.
# ROBOTS_EXCLUSIONS = ["/archive.html", "/category/*.html"]

# Instead of putting files in <slug>.html, put them in
# <slug>/index.html. Also enables STRIP_INDEXES
# Instead of putting files in <slug>.html, put them in <slug>/index.html.
# No web server configuration is required. Also enables STRIP_INDEXES.
# This can be disabled on a per-page/post basis by adding
# .. pretty_url: False
# to the metadata
# PRETTY_URLS = False
# to the metadata.
PRETTY_URLS = False

# If True, publish future dated posts right away instead of scheduling them.
# Defaults to False.
Expand Down
80 changes: 80 additions & 0 deletions posts/nikola-v760-is-out.txt
@@ -0,0 +1,80 @@
.. title: Nikola v7.6.0 is out!
.. slug: nikola-v760-is-out
.. date: 2015-07-02 12:11:48 UTC
.. tags: nikola, planet, python, programming, release
.. author: Chris Warrick
.. category:
.. link:
.. description:
.. type: text

On behalf of the Nikola team, I am pleased to announce the immediate
availability of Nikola v7.6.0. It fixes some bugs and adds new
features.

What is Nikola?
===============

Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup
formats, such as reStructuredText and Markdown — and can even turn
Jupyter (IPython) Notebooks into blog posts! It also supports image
galleries, and is multilingual. Nikola is flexible, and page builds
are extremely fast, courtesy of doit (which is rebuilding only what
has been changed).

Find out more at the website: https://getnikola.com/

Key Changes since v7.5.1
========================

* ``nikola auto`` fixed for Python 3 and while rebuilding
* ``nikola auto`` now uses watchdog and supports **Windows**
* Support for Jupyter Notebooks: you can now use non-Python ``.ipynb``
files with Nikola (``ipynb@KERNEL`` to pick a kernel)
* Added ``nikola new_post -F`` to list available compilers
* Better print CSS
* Per-post filters via metadata

Downloads
=========

Get it on `GitHub`__ and `PyPI`__.

__ https://github.com/getnikola/nikola/releases/tag/v7.6.0
__ https://pypi.python.org/pypi/Nikola/7.6.0

Changes
=======

Features
--------

* Translate ``Write your post here.`` to default language (Issue #1621)
* Enable ``PRETTY_URLS`` by default on new sites created by the wizard
(Issue #1838)
* Add ``-F``, ``--available-compilers`` option to ``nikola new_post``
and ``nikola new_page`` (Issue #1837)
* Add print CSS to all default themes (Issue #1817)
* Support other kernels for ipynb/Jupyter using
``nikola new_post -f ipynb@kernel`` (Issues #1774, #1834)
* Add distinct styling for the site footer in bootstrap3
* Bootstrap v3.3.5 (Issue #1828)
* Use ``watchdog`` in ``nikola auto`` (Issue #1810)
* Add redirection for tags in Wordpress importer (Issue #1168)
* Add support for ``html_tidy_withconfig`` to use a ``tidy5.conf`` file
(Issue #1795)
* Change default tidy5 filters not to drop empty elements (Issue #1795)
* Apply per-post filters via metadata (Issue #914)

Bugfixes
--------

* Nikola auto was broken in python 3 (Issue #1830)
* Read configuration when importing into an existing site (Issue #1823)
* Don’t crash on non-UTF-8 files during sitemap generation (Issue #1842)
* Unnecessary rebuilds of yearly archives (Issue #1833)
* Quietly ignore non-existent files in ``nikola check -l`` (Issue #1831)
* Don’t rebuild all tag or category pages when changing tag/category descriptions
* Fix crash in wordpress code importer (Issue #1819)
* Call correct command in ``nikola auto``
37 changes: 36 additions & 1 deletion stories/CHANGES.txt
@@ -1,11 +1,46 @@
New in v7.6.0
=============

Features
--------

* Translate ``Write your post here.`` to default language (Issue #1621)
* Enable ``PRETTY_URLS`` by default on new sites created by the wizard
(Issue #1838)
* Add ``-F``, ``--available-compilers`` option to ``nikola new_post``
and ``nikola new_page`` (Issue #1837)
* Add print CSS to all default themes (Issue #1817)
* Support other kernels for ipynb/Jupyter using
``nikola new_post -f ipynb@kernel`` (Issues #1774, #1834)
* Add distinct styling for the site footer in bootstrap3
* Bootstrap v3.3.5 (Issue #1828)
* Use ``watchdog`` in ``nikola auto`` (Issue #1810)
* Add redirection for tags in Wordpress importer (Issue #1168)
* Add support for ``html_tidy_withconfig`` to use a ``tidy5.conf`` file
(Issue #1795)
* Change default tidy5 filters not to drop empty elements (Issue #1795)
* Apply per-post filters via metadata (Issue #914)

Bugfixes
--------

* Nikola auto was broken in python 3 (Issue #1830)
* Read configuration when importing into an existing site (Issue #1823)
* Don’t crash on non-UTF-8 files during sitemap generation (Issue #1842)
* Unnecessary rebuilds of yearly archives (Issue #1833)
* Quietly ignore non-existent files in ``nikola check -l`` (Issue #1831)
* Don’t rebuild all tag or category pages when changing tag/category descriptions
* Fix crash in wordpress code importer (Issue #1819)
* Call correct command in ``nikola auto``

New in v7.5.1
=============

Features
--------

* Suggest misspelled commands (Issue #1807)
* New implementation of the ``nikola auto`` command.
* New implementation of the ``nikola auto`` command
* ``requests`` is now required for all Nikola sites
* New ``nikola version --check`` option (Issue #1767)

Expand Down
4 changes: 2 additions & 2 deletions stories/conf.txt
@@ -1,9 +1,9 @@
.. title: Nikola v7.5.1 configuration file
.. title: Nikola v7.6.0 configuration file
.. slug: conf
.. date: 2014-11-08 18:51:30 UTC
.. description: The Nikola configuration file.
.. type: text

The default config file for Nikola v7.5.1 is reproduced below.
The default config file for Nikola v7.6.0 is reproduced below.

.. listing:: conf.py python
2 changes: 1 addition & 1 deletion stories/extending.txt
Expand Up @@ -8,7 +8,7 @@
Extending Nikola
================

:Version: 7.5.1
:Version: 7.6.0
:Author: Roberto Alsina <ralsina@netmanagers.com.ar>

.. class:: alert alert-info pull-right
Expand Down
134 changes: 125 additions & 9 deletions stories/manual.txt
Expand Up @@ -7,7 +7,7 @@
The Nikola Handbook
===================

:Version: 7.5.1
:Version: 7.6.0

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

Expand All @@ -19,7 +19,7 @@ All You Need to Know

After you have Nikola `installed <#installing-nikola>`_:

Create a empty site (with a setup wizard):
Create an empty site (with a setup wizard):
``nikola init mysite``

You can create a site with demo files in it with ``nikola init --demo mysite``
Expand All @@ -31,15 +31,14 @@ Create a post:

Edit the post:
The filename should be in the output of the previous command.
You can also use ``nikola new_post -e`` to open an editor automatically.

Build the site:
``nikola build``

Start the test server:
``nikola serve``
Start the test server and open a browser (http://127.0.0.1:8000/):
``nikola serve -b``

See the site:
http://127.0.0.1:8000

That should get you going. If you want to know more, this manual will always be here
for you.
Expand All @@ -57,7 +56,7 @@ that it takes some texts you wrote, and uses them to create a folder full
of HTML files. If you upload that folder to a server, you will have a
rather full-featured website, done with little effort.

It's original goal is to create blogs, but it supports most kind of sites, and
Its original goal is to create blogs, but it supports most kind of sites, and
can be used as a CMS, as long as what you present to the user is your own content
instead of something the user generates.

Expand Down Expand Up @@ -503,6 +502,9 @@ to your configuration::
Like tags, except each post can have only one, and they usually have
more descriptive names.

filters
See the `Post Processing Filters`_ section.

hidetitle
Set "True" if you do not want to see the **page** title as a
heading of the output html file (does not work for posts).
Expand Down Expand Up @@ -821,6 +823,102 @@ setup.
the same extension as is set in ``COMPILERS`` and configure the outputs
properly.

Markdown
````````

To use Markdown in your posts/pages, make sure ``markdown`` is in your
``COMPILERS`` and that at least one of your desired extensions is defined in
``POSTS`` and ``PAGES``.

You can use Python-Markdown extensions by setting the ``MARKDOWN_EXTENSIONS``
config option:

.. code:: python

MARKDOWN_EXTENSIONS = ['fenced_code', 'codehilite', 'extra']

IPython Notebook/Jupyter
````````````````````````

To use Jupyter notebooks (previously known as IPython Notebooks) as posts/pages,
make sure ``ipynb`` is in your ``COMPILERS`` and that the ``.ipynb`` extension
is defined in ``POSTS`` and ``PAGES``.

The ``-f`` argument to ``new_post`` should be used in the ``ipynb@KERNEL`` format.
It defaults to Python in the version used by Nikola if not specified.

HTML
````

To use plain HTML in your posts/pages, make sure ``html`` is in your
``COMPILERS``
and that the ``.html`` extension is defined in ``POSTS`` and ``PAGES``.

PHP
```

There are two ways of using PHP within Nikola:

1. To use PHP in your posts/pages (inside your site, with the theme and
everything), make sure ``php`` is in your ``COMPILERS`` and that the ``.php``
extension is defined in ``POSTS`` and ``PAGES``.
2. To use PHP as standalone files (without any modifications), put them in
``files/`` (or whatever ``FILES_FOLDERS`` is configured to).

Pandoc
``````

To use Pandoc, you must uncomment the entry in ``COMPILERS`` and set the
extensions list to your desired extensions while also removing them from their
original compilers. The input format is inferred from the extension by Pandoc.

Using Pandoc for reStructuredText, Markdown and other input formats that have a
standalone Nikola plugin is **not recommended** as it disables plugins and
extensions that are usually provided by Nikola.

Indexes
~~~~~~~

All your posts that are not drafts, private or dated in the future, will be
shown in indexes.

Settings
````````

Indexes are put in the ``INDEX_PATH`` directory, which defaults to an empty
string (site root). The “main” index is ``index.html``, and all the further
indexes are ``index-*.html``, respectively.

By default, 10 posts are displayed on an index page. This can be changed with
``INDEX_DISPLAY_POST_COUNT``. Indexes can show full posts or just the teasers,
as controlled by the ``INDEX_TEASERS`` setting (defaults to ``False``).

Titles of the pages can be controlled by using ``INDEXES_TITLES``,
``INDEXES_PAGES`` and ``INDEXES_PAGES_MAIN`` settings.

Categories and tags use simple lists by default that show only titles and
dates; however, you can switch them to full indexes by using
``CATEGORY_PAGES_ARE_INDEXES`` and ``TAG_PAGES_ARE_INDEXES``, respectively.

Static indexes
``````````````

Nikola uses *static indexes* by default. This means that ``index-1.html`` has
the oldest posts, and the newest posts past the first 10 are in
``index-N.html``, where ``N`` is the highest number. Only the page with the
highest number and the main page (``index-N.html`` and ``index.html``) are
rebuilt (the others remain unchanged). The page that appears when you click
*Older posts* on the index page, ``index-N.html``, might contain **less than 10
posts** if there are not enough posts to fill up all pages.

This can be disabled by setting ``INDEXES_STATIC`` to ``False``. In that mode,
``index-1.html`` contains all the newest posts past the first 10 and will
always contain 10 posts (unless you have less than 20). The last page,
``index-N.html``, contains the oldest posts, and might contain less than 10
posts. This is how many blog engines and CMSes behave. Note that this will
lead to rebuilding all index pages, which might be a problem for larger blogs
(with a lot of index pages).

Creating a Page
---------------

Expand Down Expand Up @@ -1364,6 +1462,21 @@ html_tidy_wrap_attr
html_tidy_mini
Minify HTML 5 into smaller documents with `tidy5 <http://www.html-tidy.org/>`_

html_tidy_withconfig
Run `tidy5 <http://www.html-tidy.org/>`_ with ``tidy5.conf`` as the config file (supplied by user)

html5lib_minify
Minify HTML5 using html5lib_minify

html5lib_xmllike
Format using html5lib

typogrify
Improve typography using `typogrify <http://static.mintchaos.com/projects/typogrify/>`__

typogrify_sans_widont
Same as typogrify without the widont filter

minify_lines
**THIS FILTER HAS BEEN TURNED INTO A NOOP** and currently does nothing.

Expand All @@ -1379,8 +1492,11 @@ optipng
jpegoptim
Compress JPEG files using `jpegoptim <http://www.kokkonen.net/tjko/projects.html>`_

typogrify
Improve typography using `typogrify <https://github.com/mintchaos/typogrify>`_

You can apply filters to specific posts or pages by using the ``filters`` metadata field::

.. filters:: filters.html_tidy_nowrap, "sed s/foo/bar"



Optimizing Your Website
Expand Down
2 changes: 1 addition & 1 deletion stories/social_buttons.txt
Expand Up @@ -8,7 +8,7 @@
Using Alternative Social Buttons with Nikola
============================================

:Version: 7.5.1
:Version: 7.6.0

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

Expand Down

0 comments on commit b2e6223

Please sign in to comment.