aboutsummaryrefslogtreecommitdiffstats
path: root/nikola/data
diff options
context:
space:
mode:
Diffstat (limited to 'nikola/data')
-rw-r--r--nikola/data/samplesite/files/images/biohazard.pngbin179 -> 0 bytes
-rw-r--r--nikola/data/samplesite/files/images/nikola.pngbin0 -> 1750 bytes
-rw-r--r--nikola/data/samplesite/stories/quickref.rst15
-rw-r--r--nikola/data/samplesite/stories/quickstart.rst8
-rw-r--r--nikola/data/themes/base-jinja/templates/base.tmpl1
-rw-r--r--nikola/data/themes/base-jinja/templates/base_header.tmpl2
-rw-r--r--nikola/data/themes/base-jinja/templates/base_helper.tmpl9
-rw-r--r--nikola/data/themes/base-jinja/templates/post.tmpl11
-rw-r--r--nikola/data/themes/base-jinja/templates/post_helper.tmpl44
-rw-r--r--nikola/data/themes/base-jinja/templates/story.tmpl17
-rw-r--r--nikola/data/themes/base/assets/css/rst.css8
-rw-r--r--nikola/data/themes/base/assets/css/theme.css30
-rw-r--r--nikola/data/themes/base/messages/messages_ar.py34
-rw-r--r--nikola/data/themes/base/messages/messages_bg.py1
-rw-r--r--nikola/data/themes/base/messages/messages_ca.py1
-rw-r--r--nikola/data/themes/base/messages/messages_cs.py15
-rw-r--r--nikola/data/themes/base/messages/messages_da.py34
-rw-r--r--nikola/data/themes/base/messages/messages_de.py5
-rw-r--r--nikola/data/themes/base/messages/messages_el.py1
-rw-r--r--nikola/data/themes/base/messages/messages_en.py1
-rw-r--r--nikola/data/themes/base/messages/messages_eo.py1
-rw-r--r--nikola/data/themes/base/messages/messages_es.py1
-rw-r--r--nikola/data/themes/base/messages/messages_et.py1
-rw-r--r--nikola/data/themes/base/messages/messages_eu.py1
-rw-r--r--nikola/data/themes/base/messages/messages_fa.py1
-rw-r--r--nikola/data/themes/base/messages/messages_fi.py1
-rw-r--r--nikola/data/themes/base/messages/messages_fr.py3
-rw-r--r--nikola/data/themes/base/messages/messages_gl.py34
-rw-r--r--nikola/data/themes/base/messages/messages_hi.py1
-rw-r--r--nikola/data/themes/base/messages/messages_hr.py1
-rw-r--r--nikola/data/themes/base/messages/messages_it.py1
-rw-r--r--nikola/data/themes/base/messages/messages_ja.py1
-rw-r--r--nikola/data/themes/base/messages/messages_nb.py1
-rw-r--r--nikola/data/themes/base/messages/messages_nl.py1
-rw-r--r--nikola/data/themes/base/messages/messages_pl.py5
-rw-r--r--nikola/data/themes/base/messages/messages_pt.py34
-rw-r--r--nikola/data/themes/base/messages/messages_pt_br.py1
-rw-r--r--nikola/data/themes/base/messages/messages_ru.py1
-rw-r--r--nikola/data/themes/base/messages/messages_si_lk.py34
-rw-r--r--nikola/data/themes/base/messages/messages_sk.py3
-rw-r--r--nikola/data/themes/base/messages/messages_sl.py3
-rw-r--r--nikola/data/themes/base/messages/messages_tr.py1
-rw-r--r--nikola/data/themes/base/messages/messages_ur.py1
-rw-r--r--nikola/data/themes/base/messages/messages_zh_cn.py1
-rw-r--r--nikola/data/themes/base/templates/base.tmpl1
-rw-r--r--nikola/data/themes/base/templates/base_helper.tmpl9
-rw-r--r--nikola/data/themes/base/templates/post.tmpl11
-rw-r--r--nikola/data/themes/base/templates/post_helper.tmpl44
-rw-r--r--nikola/data/themes/base/templates/story.tmpl17
-rw-r--r--nikola/data/themes/bootstrap-jinja/templates/base.tmpl3
-rw-r--r--nikola/data/themes/bootstrap-jinja/templates/base_helper.tmpl11
-rw-r--r--nikola/data/themes/bootstrap-jinja/templates/post.tmpl11
-rw-r--r--nikola/data/themes/bootstrap/assets/css/theme.css21
-rw-r--r--nikola/data/themes/bootstrap/templates/base.tmpl3
-rw-r--r--nikola/data/themes/bootstrap/templates/base_helper.tmpl9
-rw-r--r--nikola/data/themes/bootstrap/templates/post.tmpl11
-rw-r--r--nikola/data/themes/bootstrap3-jinja/AUTHORS.txt1
-rw-r--r--nikola/data/themes/bootstrap3-jinja/README.md8
l---------nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap-theme.css.map1
l---------nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap.css.map1
l---------nikola/data/themes/bootstrap3-jinja/assets/css/docs.css1
l---------nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomCenter.png1
l---------nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomLeft.png1
l---------nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomRight.png1
l---------nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderMiddleLeft.png1
l---------nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderMiddleRight.png1
l---------nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopCenter.png1
l---------nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopLeft.png1
l---------nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopRight.png1
l---------nikola/data/themes/bootstrap3-jinja/assets/css/rst.css1
l---------nikola/data/themes/bootstrap3-jinja/assets/css/theme.css1
l---------nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.eot1
l---------nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.svg1
l---------nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.ttf1
l---------nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.woff1
l---------nikola/data/themes/bootstrap3-jinja/bundles1
-rw-r--r--nikola/data/themes/bootstrap3-jinja/engine1
-rw-r--r--nikola/data/themes/bootstrap3-jinja/parent1
-rw-r--r--nikola/data/themes/bootstrap3-jinja/templates/base.tmpl88
-rw-r--r--nikola/data/themes/bootstrap3-jinja/templates/base_helper.tmpl165
-rw-r--r--nikola/data/themes/bootstrap3-jinja/templates/gallery.tmpl94
-rw-r--r--nikola/data/themes/bootstrap3-jinja/templates/listing.tmpl28
-rw-r--r--nikola/data/themes/bootstrap3-jinja/templates/slides.tmpl24
-rw-r--r--nikola/data/themes/bootstrap3/README.md8
l---------nikola/data/themes/bootstrap3/assets/css/bootstrap-theme.css.map1
l---------nikola/data/themes/bootstrap3/assets/css/bootstrap.css.map1
-rw-r--r--nikola/data/themes/bootstrap3/assets/css/docs.css160
-rw-r--r--nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomCenter.pngbin0 -> 111 bytes
-rw-r--r--nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomLeft.pngbin0 -> 215 bytes
-rw-r--r--nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomRight.pngbin0 -> 217 bytes
-rw-r--r--nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleLeft.pngbin0 -> 108 bytes
-rw-r--r--nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleRight.pngbin0 -> 108 bytes
-rw-r--r--nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopCenter.pngbin0 -> 111 bytes
-rw-r--r--nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopLeft.pngbin0 -> 216 bytes
-rw-r--r--nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopRight.pngbin0 -> 214 bytes
-rw-r--r--nikola/data/themes/bootstrap3/assets/css/rst.css318
-rw-r--r--nikola/data/themes/bootstrap3/assets/css/theme.css183
l---------nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.eot1
l---------nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.svg1
l---------nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.ttf1
l---------nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.woff1
-rw-r--r--nikola/data/themes/bootstrap3/bundles4
-rw-r--r--nikola/data/themes/bootstrap3/engine1
-rw-r--r--nikola/data/themes/bootstrap3/parent1
-rw-r--r--nikola/data/themes/bootstrap3/templates/base.tmpl88
-rw-r--r--nikola/data/themes/bootstrap3/templates/base_helper.tmpl165
-rw-r--r--nikola/data/themes/bootstrap3/templates/gallery.tmpl94
-rw-r--r--nikola/data/themes/bootstrap3/templates/listing.tmpl28
-rw-r--r--nikola/data/themes/bootstrap3/templates/slides.tmpl24
109 files changed, 1917 insertions, 112 deletions
diff --git a/nikola/data/samplesite/files/images/biohazard.png b/nikola/data/samplesite/files/images/biohazard.png
deleted file mode 100644
index ae4629d..0000000
--- a/nikola/data/samplesite/files/images/biohazard.png
+++ /dev/null
Binary files differ
diff --git a/nikola/data/samplesite/files/images/nikola.png b/nikola/data/samplesite/files/images/nikola.png
new file mode 100644
index 0000000..71a491f
--- /dev/null
+++ b/nikola/data/samplesite/files/images/nikola.png
Binary files differ
diff --git a/nikola/data/samplesite/stories/quickref.rst b/nikola/data/samplesite/stories/quickref.rst
index 7886cd1..bf5324f 100644
--- a/nikola/data/samplesite/stories/quickref.rst
+++ b/nikola/data/samplesite/stories/quickref.rst
@@ -1242,11 +1242,11 @@
<tr valign="top">
<td><samp>For&nbsp;instance:</samp>
- <p><samp>..&nbsp;image::&nbsp;images/biohazard.png</samp>
+ <p><samp>..&nbsp;image::&nbsp;images/nikola.png</samp>
<td>
For instance:
- <p><img src="/images/biohazard.png" alt="ball1">
+ <p><img src="/images/nikola.png" alt="ball1">
</table>
<h3><a href="#contents" name="substitution-references-and-definitions"
@@ -1266,17 +1266,16 @@
<tbody>
<tr valign="top">
<td><samp>
- The&nbsp;|biohazard|&nbsp;symbol&nbsp;must&nbsp;be
- used&nbsp;on&nbsp;containers&nbsp;used&nbsp;to
- dispose&nbsp;of&nbsp;medical&nbsp;waste.</samp>
+ The&nbsp;|Nikola|&nbsp;static&nbsp;site&nbsp;generator
+ is&nbsp;named&nbsp;after&nbsp;Nikola&nbsp;Tesla.</samp>
<p><samp>
- ..&nbsp;|biohazard|&nbsp;image::&nbsp;biohazard.png</samp>
+ ..&nbsp;|Nikola|&nbsp;image::&nbsp;nikola.png</samp>
<td>
- <p>The <img src="/images/biohazard.png" align="bottom" alt="biohazard"> symbol
- must be used on containers used to dispose of medical waste.
+ <p>The <img src="/images/nikola.png" align="bottom" alt="Nikola"> static
+ site generator is named after Nikola Tesla.
</table>
diff --git a/nikola/data/samplesite/stories/quickstart.rst b/nikola/data/samplesite/stories/quickstart.rst
index 5b78807..d08b295 100644
--- a/nikola/data/samplesite/stories/quickstart.rst
+++ b/nikola/data/samplesite/stories/quickstart.rst
@@ -369,18 +369,18 @@ __ quickref.html#directives
To include an image in your document, you use the the ``image`` directive__.
For example::
- .. image:: /images/biohazard.png
+ .. image:: /images/nikola.png
results in:
-.. image:: /images/biohazard.png
+.. image:: /images/nikola.png
-The ``/images/biohazard.png`` part indicates the filename of the image
+The ``/images/nikola.png`` part indicates the filename of the image
you wish to appear in the document. There's no restriction placed on
the image (format, size etc). If the image is to appear in HTML and
you wish to supply additional information, you may::
- .. image:: /images/biohazard.png
+ .. image:: /images/nikola.png
:height: 100
:width: 200
:scale: 50
diff --git a/nikola/data/themes/base-jinja/templates/base.tmpl b/nikola/data/themes/base-jinja/templates/base.tmpl
index 2b15177..3768b9e 100644
--- a/nikola/data/themes/base-jinja/templates/base.tmpl
+++ b/nikola/data/themes/base-jinja/templates/base.tmpl
@@ -11,6 +11,7 @@
{{ template_hooks['extra_head']() }}
</head>
<body>
+<a href="#content" class="sr-only sr-only-focusable">{{ messages("Skip to main content") }}</a>
<div id="container">
{{ header.html_header() }}
<main id="content">
diff --git a/nikola/data/themes/base-jinja/templates/base_header.tmpl b/nikola/data/themes/base-jinja/templates/base_header.tmpl
index 1001db3..7947f68 100644
--- a/nikola/data/themes/base-jinja/templates/base_header.tmpl
+++ b/nikola/data/themes/base-jinja/templates/base_header.tmpl
@@ -31,7 +31,7 @@
<nav id="menu" role="navigation">
<ul>
{% for url, text in navigation_links[lang] %}
- {% if url is mapping %}
+ {% if isinstance(url, tuple) %}
<li> {{ text }}
<ul>
{% for suburl, text in url %}
diff --git a/nikola/data/themes/base-jinja/templates/base_helper.tmpl b/nikola/data/themes/base-jinja/templates/base_helper.tmpl
index 2dda87b..bd5d025 100644
--- a/nikola/data/themes/base-jinja/templates/base_helper.tmpl
+++ b/nikola/data/themes/base-jinja/templates/base_helper.tmpl
@@ -47,11 +47,18 @@ lang="{{ lang }}">
<meta property="fb:app_id" content="{{ comment_system_id }}">
{% endif %}
+ {% if prevlink %}
+ <link rel="prev" href="{{ prevlink }}" type="text/html">
+ {% endif %}
+ {% if nextlink %}
+ <link rel="next" href="{{ nextlink }}" type="text/html">
+ {% endif %}
+
{{ mathjax_config }}
{% if use_cdn %}
<!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
{% else %}
- <!--[if lt IE 9]><script src="/assets/js/html5.js"></script><![endif]-->
+ <!--[if lt IE 9]><script src="{{ url_replacer(permalink, '/assets/js/html5.js', lang) }}"></script><![endif]-->
{% endif %}
{{ extra_head_data }}
diff --git a/nikola/data/themes/base-jinja/templates/post.tmpl b/nikola/data/themes/base-jinja/templates/post.tmpl
index 75c7690..e6dc97b 100644
--- a/nikola/data/themes/base-jinja/templates/post.tmpl
+++ b/nikola/data/themes/base-jinja/templates/post.tmpl
@@ -7,9 +7,18 @@
{% block extra_head %}
{{ super() }}
{% if post.meta('keywords') %}
- <meta name="keywords" content="{{ post.meta('keywords')|e }}">
+ <meta name="keywords" content="{{ post.meta('keywords')|e }}">
+ {% endif %}
+ {% if post.description() %}
+ <meta name="description" itemprop="description" content="{{ post.description() }}">
{% endif %}
<meta name="author" content="{{ post.author() }}">
+ {% if post.prev_post %}
+ <link rel="prev" href="{{ post.prev_post.permalink() }}" title="{{ post.prev_post.title() }}" type="text/html">
+ {% endif %}
+ {% if post.next_post %}
+ <link rel="next" href="{{ post.next_post.permalink() }}" title="{{ post.next_post.title() }}" type="text/html">
+ {% endif %}
{{ helper.open_graph_metadata(post) }}
{{ helper.twitter_card_information(post) }}
{{ helper.meta_translations(post) }}
diff --git a/nikola/data/themes/base-jinja/templates/post_helper.tmpl b/nikola/data/themes/base-jinja/templates/post_helper.tmpl
index c695e57..541cd31 100644
--- a/nikola/data/themes/base-jinja/templates/post_helper.tmpl
+++ b/nikola/data/themes/base-jinja/templates/post_helper.tmpl
@@ -38,33 +38,33 @@
{% endmacro %}
{% macro open_graph_metadata(post) %}
- {% if use_open_graph %}
- <meta name="og:title" content="{{ post.title()[:70]|e }}">
- <meta name="og:url" content="{{ abs_link(permalink) }}">
- {% if post.description() %}
- <meta name="og:description" content="{{ post.description()[:200]|e }}">
- {% else %}
- <meta name="og:description" content="{{ post.text(strip_html=True)[:200]|e }}">
- {% endif %}
- <meta name="og:site_name" content="{{ blog_title|e }}">
- <meta name="og:type" content="article">
+{% if use_open_graph %}
+ <meta name="og:title" content="{{ post.title()[:70]|e }}">
+ <meta name="og:url" content="{{ abs_link(permalink) }}">
+ {% if post.description() %}
+ <meta name="og:description" content="{{ post.description()[:200]|e }}">
+ {% else %}
+ <meta name="og:description" content="{{ post.text(strip_html=True)[:200]|e }}">
{% endif %}
+ <meta name="og:site_name" content="{{ blog_title|e }}">
+ <meta name="og:type" content="article">
+{% endif %}
{% endmacro %}
{% macro twitter_card_information(post) %}
- {% if twitter_card and twitter_card['use_twitter_cards'] %}
- <meta name="twitter:card" content="{{ twitter_card.get('card', 'summary')|e }}">
- {% if 'site:id' in twitter_card %}
- <meta name="twitter:site:id" content="{{ twitter_card['site:id'] }}">
- {% elif 'site' in twitter_card %}
- <meta name="twitter:site" content="{{ twitter_card['site'] }}">
- {% endif %}
- {% if 'creator:id' in twitter_card %}
- <meta name="twitter:creator:id" content="{{ twitter_card['creator:id'] }}">
- {% elif 'creator' in twitter_card %}
- <meta name="twitter:creator" content="{{ twitter_card['creator'] }}">
- {% endif %}
+{% if twitter_card and twitter_card['use_twitter_cards'] %}
+ <meta name="twitter:card" content="{{ twitter_card.get('card', 'summary')|e }}">
+ {% if 'site:id' in twitter_card %}
+ <meta name="twitter:site:id" content="{{ twitter_card['site:id'] }}">
+ {% elif 'site' in twitter_card %}
+ <meta name="twitter:site" content="{{ twitter_card['site'] }}">
+ {% endif %}
+ {% if 'creator:id' in twitter_card %}
+ <meta name="twitter:creator:id" content="{{ twitter_card['creator:id'] }}">
+ {% elif 'creator' in twitter_card %}
+ <meta name="twitter:creator" content="{{ twitter_card['creator'] }}">
{% endif %}
+{% endif %}
{% endmacro %}
{% macro mathjax_script(post) %}
diff --git a/nikola/data/themes/base-jinja/templates/story.tmpl b/nikola/data/themes/base-jinja/templates/story.tmpl
index 99caaee..11973f1 100644
--- a/nikola/data/themes/base-jinja/templates/story.tmpl
+++ b/nikola/data/themes/base-jinja/templates/story.tmpl
@@ -4,27 +4,13 @@
{% import 'comments_helper.tmpl' as comments with context %}
{% extends 'post.tmpl' %}
-{% block extra_head %}
- {{ super() }}
- {% if post.meta('keywords') %}
- <meta name="keywords" content="{{ post.meta('keywords')|e }}">
- {% endif %}
- <meta name="author" content="{{ post.author() }}">
- {{ helper.open_graph_metadata(post) }}
- {{ helper.twitter_card_information(post) }}
- {{ helper.meta_translations(post) }}
- {% if post.description() %}
- <meta name="description" itemprop="description" content="{{ post.description() }}">
- {% endif %}
-{% endblock %}
-
{% block content %}
<article class="storypage" itemscope="itemscope" itemtype="http://schema.org/Article">
<header>
{{ pheader.html_title() }}
{{ pheader.html_translations(post) }}
</header>
- <div itemprop="articleBody text">
+ <div class="e-content entry-content" itemprop="articleBody text">
{{ post.text() }}
</div>
{% if site_has_comments and enable_comments and not post.meta('nocomments') %}
@@ -33,5 +19,6 @@
{{ comments.comment_form(post.permalink(absolute=True), post.title(), post.base_path) }}
</section>
{% endif %}
+ {{ helper.mathjax_script(post) }}
</article>
{% endblock %}
diff --git a/nikola/data/themes/base/assets/css/rst.css b/nikola/data/themes/base/assets/css/rst.css
index 855b9fb..784308b 100644
--- a/nikola/data/themes/base/assets/css/rst.css
+++ b/nikola/data/themes/base/assets/css/rst.css
@@ -109,6 +109,14 @@ div.line-block div.line-block {
margin-bottom: 0 ;
margin-left: 1.5em }
+
+html[dir="rtl"] div.line-block div.line-block {
+ margin-top: 0 ;
+ margin-bottom: 0 ;
+ margin-right: 1.5em ;
+ margin-left: 0 ;
+}
+
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
diff --git a/nikola/data/themes/base/assets/css/theme.css b/nikola/data/themes/base/assets/css/theme.css
index 6fd1072..18b93db 100644
--- a/nikola/data/themes/base/assets/css/theme.css
+++ b/nikola/data/themes/base/assets/css/theme.css
@@ -157,6 +157,7 @@ body {
content: "";
}
.postpromonav .pager {
+ clear: both;
height: 1em;
}
.postpromonav .tags li,
@@ -169,6 +170,14 @@ body {
.postpromonav .pager .next:dir(rtl) {
float: left;
}
+
+.postpromonav .pager .previous {
+ float: left;
+}
+.postpromonav .pager .previous:dir(rtl) {
+ float: right;
+}
+
.metadata p {
display: inline;
}
@@ -253,3 +262,24 @@ img {
.codetable .linenos {
padding-right: 10px;
}
+
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ border: 0;
+}
+
+.sr-only-focusable:active,
+.sr-only-focusable:focus {
+ position: static;
+ width: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ clip: auto;
+}
diff --git a/nikola/data/themes/base/messages/messages_ar.py b/nikola/data/themes/base/messages/messages_ar.py
new file mode 100644
index 0000000..f7ba16a
--- /dev/null
+++ b/nikola/data/themes/base/messages/messages_ar.py
@@ -0,0 +1,34 @@
+# -*- encoding:utf-8 -*-
+from __future__ import unicode_literals
+
+MESSAGES = {
+ "%d min remaining to read": "",
+ "Also available in:": "",
+ "Archive": "",
+ "Categories": "الأصناف",
+ "Comments": "التّعليقات",
+ "LANGUAGE": "العربيّة",
+ "Languages:": "",
+ "More posts about %s": "المزيد من المقالات حول %s",
+ "Newer posts": "",
+ "Next post": "",
+ "No posts found.": "",
+ "Nothing found.": "",
+ "Older posts": "",
+ "Original site": "",
+ "Posted:": "",
+ "Posts about %s": "",
+ "Posts for year %s": "",
+ "Posts for {month} {year}": "",
+ "Previous post": "",
+ "Publication date": "",
+ "RSS feed": "",
+ "Read in English": "",
+ "Read more": "قراءة المزيد",
+ "Skip to main content": "",
+ "Source": "",
+ "Tags and Categories": "",
+ "Tags": "",
+ "old posts, page %d": "",
+ "page %d": "",
+}
diff --git a/nikola/data/themes/base/messages/messages_bg.py b/nikola/data/themes/base/messages/messages_bg.py
index 4158ac8..28adb77 100644
--- a/nikola/data/themes/base/messages/messages_bg.py
+++ b/nikola/data/themes/base/messages/messages_bg.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "",
"Read in English": "Прочетете на български",
"Read more": "Прочети още",
+ "Skip to main content": "",
"Source": "Source",
"Tags and Categories": "Тагове и Категории",
"Tags": "Тагове",
diff --git a/nikola/data/themes/base/messages/messages_ca.py b/nikola/data/themes/base/messages/messages_ca.py
index 7723f3e..58c8577 100644
--- a/nikola/data/themes/base/messages/messages_ca.py
+++ b/nikola/data/themes/base/messages/messages_ca.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "",
"Read in English": "Llegeix-ho en català",
"Read more": "Llegeix-ne més",
+ "Skip to main content": "",
"Source": "Codi",
"Tags and Categories": "",
"Tags": "Etiquetes",
diff --git a/nikola/data/themes/base/messages/messages_cs.py b/nikola/data/themes/base/messages/messages_cs.py
index f80a79f..548c6d7 100644
--- a/nikola/data/themes/base/messages/messages_cs.py
+++ b/nikola/data/themes/base/messages/messages_cs.py
@@ -2,18 +2,18 @@
from __future__ import unicode_literals
MESSAGES = {
- "%d min remaining to read": "",
+ "%d min remaining to read": "%d min zbývajících",
"Also available in:": "Dostupné také v",
"Archive": "Archiv",
"Categories": "Kategorie",
- "Comments": "",
+ "Comments": "Komentáře",
"LANGUAGE": "Čeština",
- "Languages:": "",
+ "Languages:": "Jazyky:",
"More posts about %s": "Další příspěvky o %s",
"Newer posts": "Novější příspěvky",
"Next post": "Další příspěvek",
- "No posts found.": "",
- "Nothing found.": "",
+ "No posts found.": "Nebyly nalezeny žádné příspěvky.",
+ "Nothing found.": "Nic nebylo nalezeno.",
"Older posts": "Starší příspěvky",
"Original site": "Původní stránka",
"Posted:": "Zveřejněno:",
@@ -21,10 +21,11 @@ MESSAGES = {
"Posts for year %s": "Příspěvky v roce %s",
"Posts for {month} {year}": "Příspěvky v {month} {year}",
"Previous post": "Předchozí příspěvek",
- "Publication date": "",
- "RSS feed": "",
+ "Publication date": "Datum zveřejnění",
+ "RSS feed": "RSS zdroj",
"Read in English": "Číst v češtině",
"Read more": "Číst dál",
+ "Skip to main content": "",
"Source": "Zdroj",
"Tags and Categories": "Štítky a kategorie",
"Tags": "Štítky",
diff --git a/nikola/data/themes/base/messages/messages_da.py b/nikola/data/themes/base/messages/messages_da.py
new file mode 100644
index 0000000..c5c82ee
--- /dev/null
+++ b/nikola/data/themes/base/messages/messages_da.py
@@ -0,0 +1,34 @@
+# -*- encoding:utf-8 -*-
+from __future__ import unicode_literals
+
+MESSAGES = {
+ "%d min remaining to read": "",
+ "Also available in:": "",
+ "Archive": "",
+ "Categories": "",
+ "Comments": "",
+ "LANGUAGE": "",
+ "Languages:": "",
+ "More posts about %s": "",
+ "Newer posts": "",
+ "Next post": "",
+ "No posts found.": "",
+ "Nothing found.": "",
+ "Older posts": "",
+ "Original site": "",
+ "Posted:": "",
+ "Posts about %s": "",
+ "Posts for year %s": "",
+ "Posts for {month} {year}": "",
+ "Previous post": "",
+ "Publication date": "",
+ "RSS feed": "",
+ "Read in English": "",
+ "Read more": "",
+ "Skip to main content": "",
+ "Source": "",
+ "Tags and Categories": "",
+ "Tags": "",
+ "old posts, page %d": "",
+ "page %d": "",
+}
diff --git a/nikola/data/themes/base/messages/messages_de.py b/nikola/data/themes/base/messages/messages_de.py
index 737e63b..6be6ad5 100644
--- a/nikola/data/themes/base/messages/messages_de.py
+++ b/nikola/data/themes/base/messages/messages_de.py
@@ -2,7 +2,7 @@
from __future__ import unicode_literals
MESSAGES = {
- "%d min remaining to read": "",
+ "%d min remaining to read": "%d min verbleiben zum Lesen",
"Also available in:": "Auch verfügbar in:",
"Archive": "Archiv",
"Categories": "Kategorien",
@@ -25,9 +25,10 @@ MESSAGES = {
"RSS feed": "RSS-Feed",
"Read in English": "Auf Deutsch lesen",
"Read more": "Weiterlesen",
+ "Skip to main content": "",
"Source": "Source",
"Tags and Categories": "Tags und Kategorien",
"Tags": "Tags",
- "old posts, page %d": "Vorherige Einträge, Seite %d",
+ "old posts, page %d": "Ältere Einträge, Seite %d",
"page %d": "Seite %d",
}
diff --git a/nikola/data/themes/base/messages/messages_el.py b/nikola/data/themes/base/messages/messages_el.py
index aeca302..ce2fd89 100644
--- a/nikola/data/themes/base/messages/messages_el.py
+++ b/nikola/data/themes/base/messages/messages_el.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "",
"Read in English": "Διαβάστε στα Ελληνικά",
"Read more": "Διαβάστε περισσότερα",
+ "Skip to main content": "",
"Source": "Πηγαίος κώδικας",
"Tags and Categories": "Ετικέτες και κατηγορίες",
"Tags": "Ετικέτες",
diff --git a/nikola/data/themes/base/messages/messages_en.py b/nikola/data/themes/base/messages/messages_en.py
index bdf2d42..df04974 100644
--- a/nikola/data/themes/base/messages/messages_en.py
+++ b/nikola/data/themes/base/messages/messages_en.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "RSS feed",
"Read in English": "Read in English",
"Read more": "Read more",
+ "Skip to main content": "Skip to main content",
"Source": "Source",
"Tags and Categories": "Tags and Categories",
"Tags": "Tags",
diff --git a/nikola/data/themes/base/messages/messages_eo.py b/nikola/data/themes/base/messages/messages_eo.py
index e439e6b..38b54e2 100644
--- a/nikola/data/themes/base/messages/messages_eo.py
+++ b/nikola/data/themes/base/messages/messages_eo.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "",
"Read in English": "Legu ĝin en Esperanto",
"Read more": "Legu plu",
+ "Skip to main content": "",
"Source": "Fonto",
"Tags and Categories": "Etikedoj kaj Kategorioj",
"Tags": "Etikedoj",
diff --git a/nikola/data/themes/base/messages/messages_es.py b/nikola/data/themes/base/messages/messages_es.py
index 0905f00..67de5aa 100644
--- a/nikola/data/themes/base/messages/messages_es.py
+++ b/nikola/data/themes/base/messages/messages_es.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "feed RSS",
"Read in English": "Leer en español",
"Read more": "Leer más",
+ "Skip to main content": "",
"Source": "Código",
"Tags and Categories": "Tags y Categorías",
"Tags": "Tags",
diff --git a/nikola/data/themes/base/messages/messages_et.py b/nikola/data/themes/base/messages/messages_et.py
index f473985..3a53c2f 100644
--- a/nikola/data/themes/base/messages/messages_et.py
+++ b/nikola/data/themes/base/messages/messages_et.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "",
"Read in English": "Loe eesti keeles",
"Read more": "Loe veel",
+ "Skip to main content": "",
"Source": "Lähtekood",
"Tags and Categories": "Sildid ja kategooriad",
"Tags": "Märksõnad",
diff --git a/nikola/data/themes/base/messages/messages_eu.py b/nikola/data/themes/base/messages/messages_eu.py
index 8958d42..6920552 100644
--- a/nikola/data/themes/base/messages/messages_eu.py
+++ b/nikola/data/themes/base/messages/messages_eu.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "",
"Read in English": "Euskaraz irakurri",
"Read more": "Irakurri gehiago",
+ "Skip to main content": "",
"Source": "Iturria",
"Tags and Categories": "Etiketak eta Kategoriak",
"Tags": "Etiketak",
diff --git a/nikola/data/themes/base/messages/messages_fa.py b/nikola/data/themes/base/messages/messages_fa.py
index 49cfda5..5899ec5 100644
--- a/nikola/data/themes/base/messages/messages_fa.py
+++ b/nikola/data/themes/base/messages/messages_fa.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "خوراک",
"Read in English": "به فارسی بخوانید",
"Read more": "بیشتر بخوانید",
+ "Skip to main content": "",
"Source": "منبع",
"Tags and Categories": "برچسب‌ها و دسته‌ها",
"Tags": "برچسب‌ها",
diff --git a/nikola/data/themes/base/messages/messages_fi.py b/nikola/data/themes/base/messages/messages_fi.py
index b621459..1988e3f 100644
--- a/nikola/data/themes/base/messages/messages_fi.py
+++ b/nikola/data/themes/base/messages/messages_fi.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "RSS syöte",
"Read in English": "Lue suomeksi",
"Read more": "Lue lisää",
+ "Skip to main content": "",
"Source": "Lähde",
"Tags and Categories": "Tagit ja kategoriat",
"Tags": "Tagit",
diff --git a/nikola/data/themes/base/messages/messages_fr.py b/nikola/data/themes/base/messages/messages_fr.py
index 316ba20..a30aa1a 100644
--- a/nikola/data/themes/base/messages/messages_fr.py
+++ b/nikola/data/themes/base/messages/messages_fr.py
@@ -2,7 +2,7 @@
from __future__ import unicode_literals
MESSAGES = {
- "%d min remaining to read": "",
+ "%d min remaining to read": "Il reste encore %d min. de lecture",
"Also available in:": "Egalement disponible en:",
"Archive": "Archives",
"Categories": "Catégories",
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "Flux RSS",
"Read in English": "Lire en français",
"Read more": "Lire la suite",
+ "Skip to main content": "Aller au contenu principal",
"Source": "Source",
"Tags and Categories": "Étiquettes et catégories",
"Tags": "Étiquettes",
diff --git a/nikola/data/themes/base/messages/messages_gl.py b/nikola/data/themes/base/messages/messages_gl.py
new file mode 100644
index 0000000..c5c82ee
--- /dev/null
+++ b/nikola/data/themes/base/messages/messages_gl.py
@@ -0,0 +1,34 @@
+# -*- encoding:utf-8 -*-
+from __future__ import unicode_literals
+
+MESSAGES = {
+ "%d min remaining to read": "",
+ "Also available in:": "",
+ "Archive": "",
+ "Categories": "",
+ "Comments": "",
+ "LANGUAGE": "",
+ "Languages:": "",
+ "More posts about %s": "",
+ "Newer posts": "",
+ "Next post": "",
+ "No posts found.": "",
+ "Nothing found.": "",
+ "Older posts": "",
+ "Original site": "",
+ "Posted:": "",
+ "Posts about %s": "",
+ "Posts for year %s": "",
+ "Posts for {month} {year}": "",
+ "Previous post": "",
+ "Publication date": "",
+ "RSS feed": "",
+ "Read in English": "",
+ "Read more": "",
+ "Skip to main content": "",
+ "Source": "",
+ "Tags and Categories": "",
+ "Tags": "",
+ "old posts, page %d": "",
+ "page %d": "",
+}
diff --git a/nikola/data/themes/base/messages/messages_hi.py b/nikola/data/themes/base/messages/messages_hi.py
index 6b53e01..3d69697 100644
--- a/nikola/data/themes/base/messages/messages_hi.py
+++ b/nikola/data/themes/base/messages/messages_hi.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "",
"Read in English": "हिन्दी में पढ़िए",
"Read more": "और पढ़िए",
+ "Skip to main content": "",
"Source": "सोर्स",
"Tags and Categories": "टैग्स और श्रेणियाँ",
"Tags": "टैग्स",
diff --git a/nikola/data/themes/base/messages/messages_hr.py b/nikola/data/themes/base/messages/messages_hr.py
index c3343c9..f5f0886 100644
--- a/nikola/data/themes/base/messages/messages_hr.py
+++ b/nikola/data/themes/base/messages/messages_hr.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "RSS kanal",
"Read in English": "Čitaj na hrvatskom",
"Read more": "Čitaj dalje",
+ "Skip to main content": "",
"Source": "Izvor",
"Tags and Categories": "Tagovi i kategorije",
"Tags": "Tagovi",
diff --git a/nikola/data/themes/base/messages/messages_it.py b/nikola/data/themes/base/messages/messages_it.py
index b248d34..62442d4 100644
--- a/nikola/data/themes/base/messages/messages_it.py
+++ b/nikola/data/themes/base/messages/messages_it.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "Flusso RSS",
"Read in English": "Leggi in italiano",
"Read more": "Continua la lettura",
+ "Skip to main content": "",
"Source": "Sorgente",
"Tags and Categories": "Tags e Categorie",
"Tags": "Tags",
diff --git a/nikola/data/themes/base/messages/messages_ja.py b/nikola/data/themes/base/messages/messages_ja.py
index 4b0fd54..cba5ee9 100644
--- a/nikola/data/themes/base/messages/messages_ja.py
+++ b/nikola/data/themes/base/messages/messages_ja.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "RSS フィード",
"Read in English": "日本語で読む",
"Read more": "続きを読む",
+ "Skip to main content": "",
"Source": "ソース",
"Tags and Categories": "タグとカテゴリー",
"Tags": "タグ",
diff --git a/nikola/data/themes/base/messages/messages_nb.py b/nikola/data/themes/base/messages/messages_nb.py
index f6232df..f4d6062 100644
--- a/nikola/data/themes/base/messages/messages_nb.py
+++ b/nikola/data/themes/base/messages/messages_nb.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "",
"Read in English": "Les på norsk",
"Read more": "Les mer",
+ "Skip to main content": "",
"Source": "Kilde",
"Tags and Categories": "Merker og kategorier",
"Tags": "Merker",
diff --git a/nikola/data/themes/base/messages/messages_nl.py b/nikola/data/themes/base/messages/messages_nl.py
index 7cba96b..4aa9147 100644
--- a/nikola/data/themes/base/messages/messages_nl.py
+++ b/nikola/data/themes/base/messages/messages_nl.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "RSS-feed",
"Read in English": "Lees in het Nederlands",
"Read more": "Lees verder",
+ "Skip to main content": "Ga door naar de hoofdinhoud",
"Source": "Bron",
"Tags and Categories": "Tags en Categorieën",
"Tags": "Tags",
diff --git a/nikola/data/themes/base/messages/messages_pl.py b/nikola/data/themes/base/messages/messages_pl.py
index 6b6e48d..b1d4e82 100644
--- a/nikola/data/themes/base/messages/messages_pl.py
+++ b/nikola/data/themes/base/messages/messages_pl.py
@@ -7,7 +7,7 @@ MESSAGES = {
"Archive": "Archiwum",
"Categories": "Kategorie",
"Comments": "Komentarze",
- "LANGUAGE": "polski",
+ "LANGUAGE": "Polski",
"Languages:": "Języki:",
"More posts about %s": "Więcej postów o %s",
"Newer posts": "Nowsze posty",
@@ -25,9 +25,10 @@ MESSAGES = {
"RSS feed": "Kanał RSS",
"Read in English": "Czytaj po polsku",
"Read more": "Czytaj więcej",
+ "Skip to main content": "Przejdź do treści",
"Source": "Źródło",
"Tags and Categories": "Tagi i Kategorie",
- "Tags": "Tags",
+ "Tags": "Tagi",
"old posts, page %d": "stare posty, strona %d",
"page %d": "strona %d",
}
diff --git a/nikola/data/themes/base/messages/messages_pt.py b/nikola/data/themes/base/messages/messages_pt.py
new file mode 100644
index 0000000..c5c82ee
--- /dev/null
+++ b/nikola/data/themes/base/messages/messages_pt.py
@@ -0,0 +1,34 @@
+# -*- encoding:utf-8 -*-
+from __future__ import unicode_literals
+
+MESSAGES = {
+ "%d min remaining to read": "",
+ "Also available in:": "",
+ "Archive": "",
+ "Categories": "",
+ "Comments": "",
+ "LANGUAGE": "",
+ "Languages:": "",
+ "More posts about %s": "",
+ "Newer posts": "",
+ "Next post": "",
+ "No posts found.": "",
+ "Nothing found.": "",
+ "Older posts": "",
+ "Original site": "",
+ "Posted:": "",
+ "Posts about %s": "",
+ "Posts for year %s": "",
+ "Posts for {month} {year}": "",
+ "Previous post": "",
+ "Publication date": "",
+ "RSS feed": "",
+ "Read in English": "",
+ "Read more": "",
+ "Skip to main content": "",
+ "Source": "",
+ "Tags and Categories": "",
+ "Tags": "",
+ "old posts, page %d": "",
+ "page %d": "",
+}
diff --git a/nikola/data/themes/base/messages/messages_pt_br.py b/nikola/data/themes/base/messages/messages_pt_br.py
index c86b2f8..0805f8e 100644
--- a/nikola/data/themes/base/messages/messages_pt_br.py
+++ b/nikola/data/themes/base/messages/messages_pt_br.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "Feed RSS",
"Read in English": "Ler em português",
"Read more": "Leia mais",
+ "Skip to main content": "",
"Source": "Código",
"Tags and Categories": "Tags e Categorias",
"Tags": "Tags",
diff --git a/nikola/data/themes/base/messages/messages_ru.py b/nikola/data/themes/base/messages/messages_ru.py
index 7c038cc..7205906 100644
--- a/nikola/data/themes/base/messages/messages_ru.py
+++ b/nikola/data/themes/base/messages/messages_ru.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "RSS лента",
"Read in English": "Прочесть по-русски",
"Read more": "Читать далее",
+ "Skip to main content": "",
"Source": "Источник",
"Tags and Categories": "Тэги и категории",
"Tags": "Тэги",
diff --git a/nikola/data/themes/base/messages/messages_si_lk.py b/nikola/data/themes/base/messages/messages_si_lk.py
new file mode 100644
index 0000000..c5c82ee
--- /dev/null
+++ b/nikola/data/themes/base/messages/messages_si_lk.py
@@ -0,0 +1,34 @@
+# -*- encoding:utf-8 -*-
+from __future__ import unicode_literals
+
+MESSAGES = {
+ "%d min remaining to read": "",
+ "Also available in:": "",
+ "Archive": "",
+ "Categories": "",
+ "Comments": "",
+ "LANGUAGE": "",
+ "Languages:": "",
+ "More posts about %s": "",
+ "Newer posts": "",
+ "Next post": "",
+ "No posts found.": "",
+ "Nothing found.": "",
+ "Older posts": "",
+ "Original site": "",
+ "Posted:": "",
+ "Posts about %s": "",
+ "Posts for year %s": "",
+ "Posts for {month} {year}": "",
+ "Previous post": "",
+ "Publication date": "",
+ "RSS feed": "",
+ "Read in English": "",
+ "Read more": "",
+ "Skip to main content": "",
+ "Source": "",
+ "Tags and Categories": "",
+ "Tags": "",
+ "old posts, page %d": "",
+ "page %d": "",
+}
diff --git a/nikola/data/themes/base/messages/messages_sk.py b/nikola/data/themes/base/messages/messages_sk.py
index 3b56a58..e3618f3 100644
--- a/nikola/data/themes/base/messages/messages_sk.py
+++ b/nikola/data/themes/base/messages/messages_sk.py
@@ -2,7 +2,7 @@
from __future__ import unicode_literals
MESSAGES = {
- "%d min remaining to read": "",
+ "%d min remaining to read": "zostáva %d minút na čítanie",
"Also available in:": "Tiež dostupné v:",
"Archive": "Archív",
"Categories": "Kategórie",
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "RSS kanál",
"Read in English": "Čítať v slovenčine",
"Read more": "Čítať ďalej",
+ "Skip to main content": "",
"Source": "Zdroj",
"Tags and Categories": "Štítky a kategórie",
"Tags": "Štítky",
diff --git a/nikola/data/themes/base/messages/messages_sl.py b/nikola/data/themes/base/messages/messages_sl.py
index 53045e3..f9f1d13 100644
--- a/nikola/data/themes/base/messages/messages_sl.py
+++ b/nikola/data/themes/base/messages/messages_sl.py
@@ -2,7 +2,7 @@
from __future__ import unicode_literals
MESSAGES = {
- "%d min remaining to read": "za prebrati preostalo še %d min",
+ "%d min remaining to read": "še %d min za branje preostanka",
"Also available in:": "Na voljo tudi v:",
"Archive": "Arhiv",
"Categories": "Kategorije",
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "vir RSS",
"Read in English": "Beri v slovenščini",
"Read more": "Več o tem",
+ "Skip to main content": "Preskoči na glavno vsebino",
"Source": "Izvor",
"Tags and Categories": "Značke in kategorije",
"Tags": "Značke",
diff --git a/nikola/data/themes/base/messages/messages_tr.py b/nikola/data/themes/base/messages/messages_tr.py
index df9c4eb..3ba8217 100644
--- a/nikola/data/themes/base/messages/messages_tr.py
+++ b/nikola/data/themes/base/messages/messages_tr.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "RSS kaynağı",
"Read in English": "Türkçe olarak oku",
"Read more": "Devamını oku",
+ "Skip to main content": "",
"Source": "Kaynak",
"Tags and Categories": "Etiketler ve Kategoriler",
"Tags": "Etiketler",
diff --git a/nikola/data/themes/base/messages/messages_ur.py b/nikola/data/themes/base/messages/messages_ur.py
index 204d95f..fac2a3e 100644
--- a/nikola/data/themes/base/messages/messages_ur.py
+++ b/nikola/data/themes/base/messages/messages_ur.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "آر ایس ایس فیڈ",
"Read in English": "اردو میں پڑھیے",
"Read more": "مزید پڑھیے",
+ "Skip to main content": "",
"Source": "سورس",
"Tags and Categories": "ٹیگز اور زمرے",
"Tags": "ٹیگز",
diff --git a/nikola/data/themes/base/messages/messages_zh_cn.py b/nikola/data/themes/base/messages/messages_zh_cn.py
index 525cb45..9d36505 100644
--- a/nikola/data/themes/base/messages/messages_zh_cn.py
+++ b/nikola/data/themes/base/messages/messages_zh_cn.py
@@ -25,6 +25,7 @@ MESSAGES = {
"RSS feed": "",
"Read in English": "中文版",
"Read more": "更多",
+ "Skip to main content": "",
"Source": "源代码",
"Tags and Categories": "标签和分类",
"Tags": "标签",
diff --git a/nikola/data/themes/base/templates/base.tmpl b/nikola/data/themes/base/templates/base.tmpl
index f587593..21f5ad5 100644
--- a/nikola/data/themes/base/templates/base.tmpl
+++ b/nikola/data/themes/base/templates/base.tmpl
@@ -11,6 +11,7 @@ ${base.html_headstart()}
${template_hooks['extra_head']()}
</head>
<body>
+<a href="#content" class="sr-only sr-only-focusable">${messages("Skip to main content")}</a>
<div id="container">
${header.html_header()}
<main id="content">
diff --git a/nikola/data/themes/base/templates/base_helper.tmpl b/nikola/data/themes/base/templates/base_helper.tmpl
index beeff99..491b6da 100644
--- a/nikola/data/themes/base/templates/base_helper.tmpl
+++ b/nikola/data/themes/base/templates/base_helper.tmpl
@@ -47,11 +47,18 @@ lang="${lang}">
<meta property="fb:app_id" content="${comment_system_id}">
% endif
+ %if prevlink:
+ <link rel="prev" href="${prevlink}" type="text/html">
+ %endif
+ %if nextlink:
+ <link rel="next" href="${nextlink}" type="text/html">
+ %endif
+
${mathjax_config}
%if use_cdn:
<!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
%else:
- <!--[if lt IE 9]><script src="/assets/js/html5.js"></script><![endif]-->
+ <!--[if lt IE 9]><script src="${url_replacer(permalink, '/assets/js/html5.js', lang)}"></script><![endif]-->
%endif
${extra_head_data}
diff --git a/nikola/data/themes/base/templates/post.tmpl b/nikola/data/themes/base/templates/post.tmpl
index 0babb2b..fc0afba 100644
--- a/nikola/data/themes/base/templates/post.tmpl
+++ b/nikola/data/themes/base/templates/post.tmpl
@@ -7,9 +7,18 @@
<%block name="extra_head">
${parent.extra_head()}
% if post.meta('keywords'):
- <meta name="keywords" content="${post.meta('keywords')|h}">
+ <meta name="keywords" content="${post.meta('keywords')|h}">
% endif
+ %if post.description():
+ <meta name="description" itemprop="description" content="${post.description()}">
+ %endif
<meta name="author" content="${post.author()}">
+ %if post.prev_post:
+ <link rel="prev" href="${post.prev_post.permalink()}" title="${post.prev_post.title()}" type="text/html">
+ %endif
+ %if post.next_post:
+ <link rel="next" href="${post.next_post.permalink()}" title="${post.next_post.title()}" type="text/html">
+ %endif
${helper.open_graph_metadata(post)}
${helper.twitter_card_information(post)}
${helper.meta_translations(post)}
diff --git a/nikola/data/themes/base/templates/post_helper.tmpl b/nikola/data/themes/base/templates/post_helper.tmpl
index 85ba378..c4e0ed1 100644
--- a/nikola/data/themes/base/templates/post_helper.tmpl
+++ b/nikola/data/themes/base/templates/post_helper.tmpl
@@ -38,33 +38,33 @@
</%def>
<%def name="open_graph_metadata(post)">
- %if use_open_graph:
- <meta name="og:title" content="${post.title()[:70]|h}">
- <meta name="og:url" content="${abs_link(permalink)}">
- %if post.description():
- <meta name="og:description" content="${post.description()[:200]|h}">
- %else:
- <meta name="og:description" content="${post.text(strip_html=True)[:200]|h}">
- %endif
- <meta name="og:site_name" content="${blog_title|striphtml}">
- <meta name="og:type" content="article">
+%if use_open_graph:
+ <meta name="og:title" content="${post.title()[:70]|h}">
+ <meta name="og:url" content="${abs_link(permalink)}">
+ %if post.description():
+ <meta name="og:description" content="${post.description()[:200]|h}">
+ %else:
+ <meta name="og:description" content="${post.text(strip_html=True)[:200]|h}">
%endif
+ <meta name="og:site_name" content="${blog_title|striphtml}">
+ <meta name="og:type" content="article">
+%endif
</%def>
<%def name="twitter_card_information(post)">
- %if twitter_card and twitter_card['use_twitter_cards']:
- <meta name="twitter:card" content="${twitter_card.get('card', 'summary')|h}">
- %if 'site:id' in twitter_card:
- <meta name="twitter:site:id" content="${twitter_card['site:id']}">
- %elif 'site' in twitter_card:
- <meta name="twitter:site" content="${twitter_card['site']}">
- %endif
- %if 'creator:id' in twitter_card:
- <meta name="twitter:creator:id" content="${twitter_card['creator:id']}">
- %elif 'creator' in twitter_card:
- <meta name="twitter:creator" content="${twitter_card['creator']}">
- %endif
+%if twitter_card and twitter_card['use_twitter_cards']:
+ <meta name="twitter:card" content="${twitter_card.get('card', 'summary')|h}">
+ %if 'site:id' in twitter_card:
+ <meta name="twitter:site:id" content="${twitter_card['site:id']}">
+ %elif 'site' in twitter_card:
+ <meta name="twitter:site" content="${twitter_card['site']}">
+ %endif
+ %if 'creator:id' in twitter_card:
+ <meta name="twitter:creator:id" content="${twitter_card['creator:id']}">
+ %elif 'creator' in twitter_card:
+ <meta name="twitter:creator" content="${twitter_card['creator']}">
%endif
+%endif
</%def>
<%def name="mathjax_script(post)">
diff --git a/nikola/data/themes/base/templates/story.tmpl b/nikola/data/themes/base/templates/story.tmpl
index e3e3054..2737c4d 100644
--- a/nikola/data/themes/base/templates/story.tmpl
+++ b/nikola/data/themes/base/templates/story.tmpl
@@ -4,27 +4,13 @@
<%namespace name="comments" file="comments_helper.tmpl"/>
<%inherit file="post.tmpl"/>
-<%block name="extra_head">
- ${parent.extra_head()}
- % if post.meta('keywords'):
- <meta name="keywords" content="${post.meta('keywords')|h}">
- % endif
- <meta name="author" content="${post.author()}">
- ${helper.open_graph_metadata(post)}
- ${helper.twitter_card_information(post)}
- ${helper.meta_translations(post)}
- %if post.description():
- <meta name="description" itemprop="description" content="${post.description()}">
- %endif
-</%block>
-
<%block name="content">
<article class="storypage" itemscope="itemscope" itemtype="http://schema.org/Article">
<header>
${pheader.html_title()}
${pheader.html_translations(post)}
</header>
- <div itemprop="articleBody text">
+ <div class="e-content entry-content" itemprop="articleBody text">
${post.text()}
</div>
%if site_has_comments and enable_comments and not post.meta('nocomments'):
@@ -33,5 +19,6 @@
${comments.comment_form(post.permalink(absolute=True), post.title(), post.base_path)}
</section>
%endif
+ ${helper.mathjax_script(post)}
</article>
</%block>
diff --git a/nikola/data/themes/bootstrap-jinja/templates/base.tmpl b/nikola/data/themes/bootstrap-jinja/templates/base.tmpl
index a433721..e9bed3c 100644
--- a/nikola/data/themes/bootstrap-jinja/templates/base.tmpl
+++ b/nikola/data/themes/bootstrap-jinja/templates/base.tmpl
@@ -9,6 +9,7 @@
{{ template_hooks['extra_head']() }}
</head>
<body>
+<a href="#content" class="sr-only sr-only-focusable">{{ messages("Skip to main content") }}</a>
<!-- Menubar -->
@@ -57,7 +58,7 @@
</div>
</div>
<!-- End of Menubar -->
-<div class="container-fluid" id="container-fluid">
+<div class="container-fluid" id="content">
<!--Body content-->
<div class="row-fluid">
<div class="span2"></div>
diff --git a/nikola/data/themes/bootstrap-jinja/templates/base_helper.tmpl b/nikola/data/themes/bootstrap-jinja/templates/base_helper.tmpl
index d8398b8..e44b3a7 100644
--- a/nikola/data/themes/bootstrap-jinja/templates/base_helper.tmpl
+++ b/nikola/data/themes/bootstrap-jinja/templates/base_helper.tmpl
@@ -47,11 +47,18 @@ lang="{{ lang }}">
<meta property="fb:app_id" content="{{ comment_system_id }}">
{% endif %}
+ {% if prevlink %}
+ <link rel="prev" href="{{ prevlink }}" type="text/html">
+ {% endif %}
+ {% if nextlink %}
+ <link rel="next" href="{{ nextlink }}" type="text/html">
+ {% endif %}
+
{{ mathjax_config }}
{% if use_cdn %}
<!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
{% else %}
- <!--[if lt IE 9]><script src="/assets/js/html5.js"></script><![endif]-->
+ <!--[if lt IE 9]><script src="{{ url_replacer(permalink, '/assets/js/html5.js', lang) }}"></script><![endif]-->
{% endif %}
{{ extra_head_data }}
@@ -117,7 +124,7 @@ lang="{{ lang }}">
{% macro html_navigation_links() %}
{% for url, text in navigation_links[lang] %}
- {% if url is mapping %}
+ {% if isinstance(url, tuple) %}
<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ text }}<b class="caret"></b></a>
<ul class="dropdown-menu">
{% for suburl, text in url %}
diff --git a/nikola/data/themes/bootstrap-jinja/templates/post.tmpl b/nikola/data/themes/bootstrap-jinja/templates/post.tmpl
index 531ebd5..54646d0 100644
--- a/nikola/data/themes/bootstrap-jinja/templates/post.tmpl
+++ b/nikola/data/themes/bootstrap-jinja/templates/post.tmpl
@@ -7,9 +7,18 @@
{% block extra_head %}
{{ super() }}
{% if post.meta('keywords') %}
- <meta name="keywords" content="{{ post.meta('keywords')|e }}">
+ <meta name="keywords" content="{{ post.meta('keywords')|e }}">
+ {% endif %}
+ {% if post.description() %}
+ <meta name="description" itemprop="description" content="{{ post.description() }}">
{% endif %}
<meta name="author" content="{{ post.author() }}">
+ {% if post.prev_post %}
+ <link rel="prev" href="{{ post.prev_post.permalink() }}" title="{{ post.prev_post.title() }}" type="text/html">
+ {% endif %}
+ {% if post.next_post %}
+ <link rel="next" href="{{ post.next_post.permalink() }}" title="{{ post.next_post.title() }}" type="text/html">
+ {% endif %}
{{ helper.open_graph_metadata(post) }}
{{ helper.twitter_card_information(post) }}
{{ helper.meta_translations(post) }}
diff --git a/nikola/data/themes/bootstrap/assets/css/theme.css b/nikola/data/themes/bootstrap/assets/css/theme.css
index ccdfda2..761dbb6 100644
--- a/nikola/data/themes/bootstrap/assets/css/theme.css
+++ b/nikola/data/themes/bootstrap/assets/css/theme.css
@@ -172,3 +172,24 @@ h4, h5, h6 {
padding: 10px 0;
display: inline-block;
}
+
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ border: 0;
+}
+
+.sr-only-focusable:active,
+.sr-only-focusable:focus {
+ position: static;
+ width: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ clip: auto;
+}
diff --git a/nikola/data/themes/bootstrap/templates/base.tmpl b/nikola/data/themes/bootstrap/templates/base.tmpl
index a469098..9f2bb61 100644
--- a/nikola/data/themes/bootstrap/templates/base.tmpl
+++ b/nikola/data/themes/bootstrap/templates/base.tmpl
@@ -9,6 +9,7 @@ ${base.html_headstart()}
${template_hooks['extra_head']()}
</head>
<body>
+<a href="#content" class="sr-only sr-only-focusable">${messages("Skip to main content")}</a>
<!-- Menubar -->
@@ -57,7 +58,7 @@ ${template_hooks['extra_head']()}
</div>
</div>
<!-- End of Menubar -->
-<div class="container-fluid" id="container-fluid">
+<div class="container-fluid" id="content">
<!--Body content-->
<div class="row-fluid">
<div class="span2"></div>
diff --git a/nikola/data/themes/bootstrap/templates/base_helper.tmpl b/nikola/data/themes/bootstrap/templates/base_helper.tmpl
index 2dcc138..40cce39 100644
--- a/nikola/data/themes/bootstrap/templates/base_helper.tmpl
+++ b/nikola/data/themes/bootstrap/templates/base_helper.tmpl
@@ -47,11 +47,18 @@ lang="${lang}">
<meta property="fb:app_id" content="${comment_system_id}">
% endif
+ %if prevlink:
+ <link rel="prev" href="${prevlink}" type="text/html">
+ %endif
+ %if nextlink:
+ <link rel="next" href="${nextlink}" type="text/html">
+ %endif
+
${mathjax_config}
%if use_cdn:
<!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
%else:
- <!--[if lt IE 9]><script src="/assets/js/html5.js"></script><![endif]-->
+ <!--[if lt IE 9]><script src="${url_replacer(permalink, '/assets/js/html5.js', lang)}"></script><![endif]-->
%endif
${extra_head_data}
diff --git a/nikola/data/themes/bootstrap/templates/post.tmpl b/nikola/data/themes/bootstrap/templates/post.tmpl
index 29a5b75..e55fcd5 100644
--- a/nikola/data/themes/bootstrap/templates/post.tmpl
+++ b/nikola/data/themes/bootstrap/templates/post.tmpl
@@ -7,9 +7,18 @@
<%block name="extra_head">
${parent.extra_head()}
% if post.meta('keywords'):
- <meta name="keywords" content="${post.meta('keywords')|h}">
+ <meta name="keywords" content="${post.meta('keywords')|h}">
% endif
+ %if post.description():
+ <meta name="description" itemprop="description" content="${post.description()}">
+ %endif
<meta name="author" content="${post.author()}">
+ %if post.prev_post:
+ <link rel="prev" href="${post.prev_post.permalink()}" title="${post.prev_post.title()}" type="text/html">
+ %endif
+ %if post.next_post:
+ <link rel="next" href="${post.next_post.permalink()}" title="${post.next_post.title()}" type="text/html">
+ %endif
${helper.open_graph_metadata(post)}
${helper.twitter_card_information(post)}
${helper.meta_translations(post)}
diff --git a/nikola/data/themes/bootstrap3-jinja/AUTHORS.txt b/nikola/data/themes/bootstrap3-jinja/AUTHORS.txt
new file mode 100644
index 0000000..043d497
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/AUTHORS.txt
@@ -0,0 +1 @@
+Roberto Alsina <https://github.com/ralsina>
diff --git a/nikola/data/themes/bootstrap3-jinja/README.md b/nikola/data/themes/bootstrap3-jinja/README.md
new file mode 100644
index 0000000..f008daf
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/README.md
@@ -0,0 +1,8 @@
+A bootstrap3 version of the bootstrap theme.
+
+There is a variant called bootstrap3-gradients which uses an extra CSS
+file for a *visually enhanced experience* (according to Bootstrap
+developers at least). This one uses the default bootstrap3 flat look.
+
+This theme supports Bootswtach font/color schemes (unlike
+bootstrap3-gradients) through the `nikola bootswatch_theme` command.
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap-theme.css.map b/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap-theme.css.map
new file mode 120000
index 0000000..639bdc1
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap-theme.css.map
@@ -0,0 +1 @@
+../../../../../../bower_components/bootstrap/dist/css/bootstrap-theme.css.map \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap.css.map b/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap.css.map
new file mode 120000
index 0000000..8448a3d
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap.css.map
@@ -0,0 +1 @@
+../../../../../../bower_components/bootstrap/dist/css/bootstrap.css.map \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/docs.css b/nikola/data/themes/bootstrap3-jinja/assets/css/docs.css
new file mode 120000
index 0000000..b9cce36
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/css/docs.css
@@ -0,0 +1 @@
+../../../bootstrap3/assets/css/docs.css \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomCenter.png b/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomCenter.png
new file mode 120000
index 0000000..2a6267e
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomCenter.png
@@ -0,0 +1 @@
+../../../../../bootstrap3/assets/css/images/ie6/borderBottomCenter.png \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomLeft.png b/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomLeft.png
new file mode 120000
index 0000000..6cd025a
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomLeft.png
@@ -0,0 +1 @@
+../../../../../bootstrap3/assets/css/images/ie6/borderBottomLeft.png \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomRight.png b/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomRight.png
new file mode 120000
index 0000000..9596518
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomRight.png
@@ -0,0 +1 @@
+../../../../../bootstrap3/assets/css/images/ie6/borderBottomRight.png \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderMiddleLeft.png b/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderMiddleLeft.png
new file mode 120000
index 0000000..b5403bf
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderMiddleLeft.png
@@ -0,0 +1 @@
+../../../../../bootstrap3/assets/css/images/ie6/borderMiddleLeft.png \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderMiddleRight.png b/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderMiddleRight.png
new file mode 120000
index 0000000..27c023f
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderMiddleRight.png
@@ -0,0 +1 @@
+../../../../../bootstrap3/assets/css/images/ie6/borderMiddleRight.png \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopCenter.png b/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopCenter.png
new file mode 120000
index 0000000..e272a45
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopCenter.png
@@ -0,0 +1 @@
+../../../../../bootstrap3/assets/css/images/ie6/borderTopCenter.png \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopLeft.png b/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopLeft.png
new file mode 120000
index 0000000..e8ceae5
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopLeft.png
@@ -0,0 +1 @@
+../../../../../bootstrap3/assets/css/images/ie6/borderTopLeft.png \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopRight.png b/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopRight.png
new file mode 120000
index 0000000..9a84403
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopRight.png
@@ -0,0 +1 @@
+../../../../../bootstrap3/assets/css/images/ie6/borderTopRight.png \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/rst.css b/nikola/data/themes/bootstrap3-jinja/assets/css/rst.css
new file mode 120000
index 0000000..d78763e
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/css/rst.css
@@ -0,0 +1 @@
+../../../bootstrap3/assets/css/rst.css \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/theme.css b/nikola/data/themes/bootstrap3-jinja/assets/css/theme.css
new file mode 120000
index 0000000..a2774ff
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/css/theme.css
@@ -0,0 +1 @@
+../../../bootstrap3/assets/css/theme.css \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.eot b/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.eot
new file mode 120000
index 0000000..c2dfd17
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.eot
@@ -0,0 +1 @@
+../../../../../../bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.svg b/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.svg
new file mode 120000
index 0000000..30abe9d
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.svg
@@ -0,0 +1 @@
+../../../../../../bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.ttf b/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.ttf
new file mode 120000
index 0000000..93e3bf3
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.ttf
@@ -0,0 +1 @@
+../../../../../../bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.woff b/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.woff
new file mode 120000
index 0000000..f7595ae
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.woff
@@ -0,0 +1 @@
+../../../../../../bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/bundles b/nikola/data/themes/bootstrap3-jinja/bundles
new file mode 120000
index 0000000..8cb3e06
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/bundles
@@ -0,0 +1 @@
+../bootstrap3/bundles \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3-jinja/engine b/nikola/data/themes/bootstrap3-jinja/engine
new file mode 100644
index 0000000..6f04b30
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/engine
@@ -0,0 +1 @@
+jinja
diff --git a/nikola/data/themes/bootstrap3-jinja/parent b/nikola/data/themes/bootstrap3-jinja/parent
new file mode 100644
index 0000000..e89c4ee
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/parent
@@ -0,0 +1 @@
+bootstrap-jinja
diff --git a/nikola/data/themes/bootstrap3-jinja/templates/base.tmpl b/nikola/data/themes/bootstrap3-jinja/templates/base.tmpl
new file mode 100644
index 0000000..c1ac838
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/templates/base.tmpl
@@ -0,0 +1,88 @@
+{# -*- coding: utf-8 -*- #}
+{% import 'base_helper.tmpl' as base with context %}
+{% import 'annotation_helper.tmpl' as notes with context %}
+{{ set_locale(lang) }}
+{{ base.html_headstart() }}
+{% block extra_head %}
+{# Leave this block alone. #}
+{% endblock %}
+{{ template_hooks['extra_head']() }}
+</head>
+<body>
+<a href="#content" class="sr-only sr-only-focusable">{{ messages("Skip to main content") }}</a>
+
+<!-- Menubar -->
+
+<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container"><!-- This keeps the margins nice -->
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="{{ abs_link('/') }}">
+ {% if logo_url %}
+ <img src="{{ logo_url }}" alt="{{ blog_title }}" id="logo">
+ {% endif %}
+
+ {% if show_blog_title %}
+ <span id="blog-title">{{ blog_title }}</span>
+ {% endif %}
+ </a>
+ </div><!-- /.navbar-header -->
+ <div class="collapse navbar-collapse navbar-ex1-collapse">
+ <ul class="nav navbar-nav">
+ {{ base.html_navigation_links() }}
+ {{ template_hooks['menu']() }}
+ </ul>
+ {% if search_form %}
+ {{ search_form }}
+ {% endif %}
+
+ <ul class="nav navbar-nav navbar-right">
+ {% block belowtitle %}
+ {% if translations|length > 1 %}
+ <li>{{ base.html_translations() }}</li>
+ {% endif %}
+ {% endblock %}
+ {% if show_sourcelink %}
+ {% block sourcelink %}{% endblock %}
+ {% endif %}
+ {{ template_hooks['menu_alt']() }}
+ </ul>
+ </div><!-- /.navbar-collapse -->
+ </div><!-- /.container -->
+</nav>
+
+<!-- End of Menubar -->
+
+<div class="container" id="content">
+ <div class="body-content">
+ <!--Body content-->
+ <div class="row">
+ {{ template_hooks['page_header']() }}
+ {% block content %}{% endblock %}
+ </div>
+ <!--End of body content-->
+
+ <footer>
+ {{ content_footer }}
+ {{ template_hooks['page_footer']() }}
+ </footer>
+ </div>
+</div>
+
+{{ base.late_load_js() }}
+ <script>jQuery("a.image-reference").colorbox({rel:"gal",maxWidth:"100%",maxHeight:"100%",scalePhotos:true});</script>
+ {% block extra_js %}{% endblock %}
+ {% if annotations and post and not post.meta('noannotations') %}
+ {{ notes.code() }}
+ {% elif not annotations and post and post.meta('annotations') %}
+ {{ notes.code() }}
+ {% endif %}
+{{ body_end }}
+{{ template_hooks['body_end']() }}
+</body>
+</html>
diff --git a/nikola/data/themes/bootstrap3-jinja/templates/base_helper.tmpl b/nikola/data/themes/bootstrap3-jinja/templates/base_helper.tmpl
new file mode 100644
index 0000000..38a73c4
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/templates/base_helper.tmpl
@@ -0,0 +1,165 @@
+{# -*- coding: utf-8 -*- #}
+
+{% macro html_headstart() %}
+<!DOCTYPE html>
+<html
+
+{% if use_open_graph or (twitter_card and twitter_card['use_twitter_cards']) or (comment_system == 'facebook') %}
+prefix='
+{% if use_open_graph or (twitter_card and twitter_card['use_twitter_cards']) %}
+og: http://ogp.me/ns#
+{% endif %}
+{% if use_open_graph %}
+article: http://ogp.me/ns/article#
+{% endif %}
+{% if comment_system == 'facebook' %}
+fb: http://ogp.me/ns/fb#
+{% endif %}
+'
+{% endif %}
+
+{% if is_rtl %}
+dir="rtl"
+{% endif %}
+
+lang="{{ lang }}">
+ <head>
+ <meta charset="utf-8">
+ {% if description %}
+ <meta name="description" content="{{ description }}">
+ {% endif %}
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>{{ title|e }} | {{ blog_title|e }}</title>
+
+ {{ html_stylesheets() }}
+ {{ html_feedlinks() }}
+ {% if permalink %}
+ <link rel="canonical" href="{{ abs_link(permalink) }}">
+ {% endif %}
+
+ {% if favicons %}
+ {% for name, file, size in favicons %}
+ <link rel="{{ name }}" href="{{ file }}" sizes="{{ size }}"/>
+ {% endfor %}
+ {% endif %}
+
+ {% if comment_system == 'facebook' %}
+ <meta property="fb:app_id" content="{{ comment_system_id }}">
+ {% endif %}
+
+ {% if prevlink %}
+ <link rel="prev" href="{{ prevlink }}" type="text/html">
+ {% endif %}
+ {% if nextlink %}
+ <link rel="next" href="{{ nextlink }}" type="text/html">
+ {% endif %}
+
+ {{ mathjax_config }}
+ {% if use_cdn %}
+ <!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
+ {% else %}
+ <!--[if lt IE 9]><script src="{{ url_replacer(permalink, '/assets/js/html5.js', lang) }}"></script><![endif]-->
+ {% endif %}
+
+ {{ extra_head_data }}
+{% endmacro %}
+
+{% macro late_load_js() %}
+ {% if use_bundles %}
+ {% if use_cdn %}
+ <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
+ <script src="/assets/js/all.js"></script>
+ {% else %}
+ <script src="/assets/js/all-nocdn.js"></script>
+ {% endif %}
+ {% else %}
+ {% if use_cdn %}
+ <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
+ {% else %}
+ <script src="/assets/js/jquery.min.js"></script>
+ <script src="/assets/js/bootstrap.min.js"></script>
+ {% endif %}
+ <script src="/assets/js/jquery.colorbox-min.js"></script>
+ {% endif %}
+ {% if colorbox_locales[lang] %}
+ <script src="/assets/js/colorbox-i18n/jquery.colorbox-{{ colorbox_locales[lang] }}.js"></script>
+ {% endif %}
+ {{ social_buttons_code }}
+{% endmacro %}
+
+
+{% macro html_stylesheets() %}
+ {% if use_bundles %}
+ {% if use_cdn %}
+ <link href="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
+ <link href="/assets/css/all.css" rel="stylesheet" type="text/css">
+ {% else %}
+ <link href="/assets/css/all-nocdn.css" rel="stylesheet" type="text/css">
+ {% endif %}
+ {% else %}
+ {% if use_cdn %}
+ <link href="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
+ {% else %}
+ <link href="/assets/css/bootstrap.min.css" rel="stylesheet" type="text/css">
+ {% endif %}
+ <link href="/assets/css/rst.css" rel="stylesheet" type="text/css">
+ <link href="/assets/css/code.css" rel="stylesheet" type="text/css">
+ <link href="/assets/css/colorbox.css" rel="stylesheet" type="text/css">
+ <link href="/assets/css/theme.css" rel="stylesheet" type="text/css">
+ {% if has_custom_css %}
+ <link href="/assets/css/custom.css" rel="stylesheet" type="text/css">
+ {% endif %}
+ {% endif %}
+ {% if annotations and post and not post.meta('noannotations') %}
+ {{ notes.css() }}
+ {% elif not annotations and post and post.meta('annotations') %}
+ {{ notes.css() }}
+ {% endif %}
+{% endmacro %}
+
+{% macro html_navigation_links() %}
+ {% for url, text in navigation_links[lang] %}
+ {% if isinstance(url, tuple) %}
+ <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ text }}<b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ {% for suburl, text in url %}
+ {% if rel_link(permalink, suburl) == "#" %}
+ <li class="active"><a href="{{ permalink }}">{{ text }}</a>
+ {% else %}
+ <li><a href="{{ suburl }}">{{ text }}</a>
+ {% endif %}
+ {% endfor %}
+ </ul>
+ {% else %}
+ {% if rel_link(permalink, url) == "#" %}
+ <li class="active"><a href="{{ permalink }}">{{ text }}</a>
+ {% else %}
+ <li><a href="{{ url }}">{{ text }}</a>
+ {% endif %}
+ {% endif %}
+ {% endfor %}
+{% endmacro %}
+
+{% macro html_feedlinks() %}
+ {% if rss_link %}
+ {{ rss_link }}
+ {% elif generate_rss %}
+ {% if translations|length > 1 %}
+ {% for language in translations %}
+ <link rel="alternate" type="application/rss+xml" title="RSS ({{ language }})" href="{{ _link('rss', None, language) }}">
+ {% endfor %}
+ {% else %}
+ <link rel="alternate" type="application/rss+xml" title="RSS" href="{{ _link('rss', None) }}">
+ {% endif %}
+ {% endif %}
+{% endmacro %}
+
+{% macro html_translations() %}
+ {% for langname in translations.keys() %}
+ {% if langname != lang %}
+ <li><a href="{{ _link("index", None, langname) }}" rel="alternate" hreflang="{{ langname }}">{{ messages("LANGUAGE", langname) }}</a></li>
+ {% endif %}
+ {% endfor %}
+{% endmacro %}
diff --git a/nikola/data/themes/bootstrap3-jinja/templates/gallery.tmpl b/nikola/data/themes/bootstrap3-jinja/templates/gallery.tmpl
new file mode 100644
index 0000000..11382c3
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/templates/gallery.tmpl
@@ -0,0 +1,94 @@
+{# -*- coding: utf-8 -*- #}
+{% extends 'base.tmpl' %}
+{% import 'comments_helper.tmpl' as comments with context %}
+{% import 'crumbs.tmpl' as ui with context %}
+{% block sourcelink %}{% endblock %}
+
+{% block content %}
+ {{ ui.bar(crumbs) }}
+ {% if title %}
+ <h1>{{ title }}</h1>
+ {% endif %}
+ {% if post %}
+ <p>
+ {{ post.text() }}
+ </p>
+ {% endif %}
+ {% if folders %}
+ <ul>
+ {% for folder, ftitle in folders %}
+ <li><a href="{{ folder }}"><i class="glyphicon
+ glyphicon-folder-open"></i>&nbsp;{{ ftitle }}</a></li>
+ {% endfor %}
+ </ul>
+ {% endif %}
+
+<div id="gallery_container"></div>
+{% if photo_array %}
+<noscript>
+<ul class="thumbnails">
+ {% for image in photo_array %}
+ <li><a href="{{ image['url'] }}" class="thumbnail image-reference" title="{{ image['title'] }}">
+ <img src="{{ image['url_thumb'] }}" alt="{{ image['title'] }}" /></a>
+ {% endfor %}
+</ul>
+</noscript>
+{% endif %}
+{% if site_has_comments and enable_comments %}
+{{ comments.comment_form(None, permalink, title) }}
+{% endif %}
+{% endblock %}
+
+{% block extra_head %}
+{{ super() }}
+<style type="text/css">
+ .image-block {
+ display: inline-block;
+ }
+ .flowr_row {
+ width: 100%;
+ }
+ </style>
+{% endblock %}
+
+
+{% block extra_js %}
+<script src="/assets/js/flowr.plugin.js"></script>
+<script>
+jsonContent = {{ photo_array_json }};
+$("#gallery_container").flowr({
+ data : jsonContent,
+ height : {{ thumbnail_size }}*.6,
+ padding: 5,
+ rows: -1,
+ render : function(params) {
+ // Just return a div, string or a dom object, anything works fine
+ img = $("<img />").attr({
+ 'src': params.itemData.url_thumb,
+ 'width' : params.width,
+ 'height' : params.height
+ }).css('max-width', '100%');
+ link = $( "<a></a>").attr({
+ 'href': params.itemData.url,
+ 'class': 'image-reference'
+ });
+ div = $("<div />").addClass('image-block').attr({
+ 'title': params.itemData.title,
+ 'data-toggle': "tooltip",
+ });
+ link.append(img);
+ div.append(link);
+ div.hover(div.tooltip());
+ return div;
+ },
+ itemWidth : function(data) { return data.size.w; },
+ itemHeight : function(data) { return data.size.h; },
+ complete : function(params) {
+ if( jsonContent.length > params.renderedItems ) {
+ nextRenderList = jsonContent.slice( params.renderedItems );
+ }
+ }
+ });
+$("a.image-reference").colorbox({rel:"gal", maxWidth:"100%",maxHeight:"100%",scalePhotos:true});
+</script>
+{% endblock %}
diff --git a/nikola/data/themes/bootstrap3-jinja/templates/listing.tmpl b/nikola/data/themes/bootstrap3-jinja/templates/listing.tmpl
new file mode 100644
index 0000000..634c482
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/templates/listing.tmpl
@@ -0,0 +1,28 @@
+{# -*- coding: utf-8 -*- #}
+{% extends 'base.tmpl' %}
+{% import 'crumbs.tmpl' as ui with context %}
+
+{% block content %}
+{{ ui.bar(crumbs) }}
+{% if folders or files %}
+<ul class="list-unstyled">
+{% for name in folders %}
+ <li><a href="{{ name }}"><i class="glyphicon glyphicon-folder-open"></i> {{ name }}</a>
+{% endfor %}
+{% for name in files %}
+ <li><a href="{{ name }}.html"><i class="glyphicon glyphicon-file"></i> {{ name }}</a>
+{% endfor %}
+</ul>
+{% endif %}
+{% if code %}
+ {{ code }}
+{% endif %}
+{% endblock %}
+
+{% block sourcelink %}
+{% if source_link %}
+ <li>
+ <a href="{{ source_link }}" id="sourcelink">{{ messages("Source") }}</a>
+ </li>
+{% endif %}
+{% endblock %}
diff --git a/nikola/data/themes/bootstrap3-jinja/templates/slides.tmpl b/nikola/data/themes/bootstrap3-jinja/templates/slides.tmpl
new file mode 100644
index 0000000..342ed27
--- /dev/null
+++ b/nikola/data/themes/bootstrap3-jinja/templates/slides.tmpl
@@ -0,0 +1,24 @@
+{% block content %}
+<div id="{{ carousel_id }}" class="carousel slide">
+ <ol class="carousel-indicators">
+ {% for i in range(slides_content|length) %}
+ {% if i == 0 %}
+ <li data-target="#{{ carousel_id }}" data-slide-to="{{ i }}" class="active"></li>
+ {% else %}
+ <li data-target="#{{ carousel_id }}" data-slide-to="{{ i }}"></li>
+ {% endif %}
+ {% endfor %}
+ </ol>
+ <div class="carousel-inner">
+ {% for i, image in enumerate(slides_content) %}
+ {% if i == 0 %}
+ <div class="item active"><img src="{{ image }}" alt="" style="margin: 0 auto 0 auto;"></div>
+ {% else %}
+ <div class="item"><img src="{{ image }}" alt="" style="margin: 0 auto 0 auto;"></div>
+ {% endif %}
+ {% endfor %}
+ </div>
+ <a class="left carousel-control" href="#{{ carousel_id }}" data-slide="prev"><span class="icon-prev"></span></a>
+ <a class="right carousel-control" href="#{{ carousel_id }}" data-slide="next"><span class="icon-next"></span></a>
+</div>
+{% endblock %}
diff --git a/nikola/data/themes/bootstrap3/README.md b/nikola/data/themes/bootstrap3/README.md
new file mode 100644
index 0000000..f008daf
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/README.md
@@ -0,0 +1,8 @@
+A bootstrap3 version of the bootstrap theme.
+
+There is a variant called bootstrap3-gradients which uses an extra CSS
+file for a *visually enhanced experience* (according to Bootstrap
+developers at least). This one uses the default bootstrap3 flat look.
+
+This theme supports Bootswtach font/color schemes (unlike
+bootstrap3-gradients) through the `nikola bootswatch_theme` command.
diff --git a/nikola/data/themes/bootstrap3/assets/css/bootstrap-theme.css.map b/nikola/data/themes/bootstrap3/assets/css/bootstrap-theme.css.map
new file mode 120000
index 0000000..639bdc1
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/css/bootstrap-theme.css.map
@@ -0,0 +1 @@
+../../../../../../bower_components/bootstrap/dist/css/bootstrap-theme.css.map \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3/assets/css/bootstrap.css.map b/nikola/data/themes/bootstrap3/assets/css/bootstrap.css.map
new file mode 120000
index 0000000..8448a3d
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/css/bootstrap.css.map
@@ -0,0 +1 @@
+../../../../../../bower_components/bootstrap/dist/css/bootstrap.css.map \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3/assets/css/docs.css b/nikola/data/themes/bootstrap3/assets/css/docs.css
new file mode 100644
index 0000000..189ea89
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/css/docs.css
@@ -0,0 +1,160 @@
+body {
+ font-weight: 300;
+}
+
+a:hover,
+a:focus {
+ text-decoration: none;
+}
+
+.container {
+ max-width: 700px;
+}
+
+h2 {
+ text-align: center;
+ font-weight: 300;
+}
+
+
+/* Header
+-------------------------------------------------- */
+
+.jumbotron {
+ position: relative;
+ font-size: 16px;
+ color: #fff;
+ color: rgba(255,255,255,.75);
+ text-align: center;
+ background-color: #b94a48;
+ border-radius: 0;
+}
+.jumbotron h1,
+.jumbotron .glyphicon-ok {
+ margin-bottom: 15px;
+ font-weight: 300;
+ letter-spacing: -1px;
+ color: #fff;
+}
+.jumbotron .glyphicon-ok {
+ font-size: 40px;
+ line-height: 1;
+}
+.btn-outline {
+ margin-top: 15px;
+ margin-bottom: 15px;
+ padding: 18px 24px;
+ font-size: inherit;
+ font-weight: 500;
+ color: #fff; /* redeclare to override the `.jumbotron a` */
+ background-color: transparent;
+ border-color: #fff;
+ border-color: rgba(255,255,255,.5);
+ transition: all .1s ease-in-out;
+}
+.btn-outline:hover,
+.btn-outline:active {
+ color: #b94a48;
+ background-color: #fff;
+ border-color: #fff;
+}
+
+.jumbotron:after {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 10;
+ display: block;
+ content: "";
+ height: 30px;
+ background-image: -moz-linear-gradient(rgba(0, 0, 0, 0), rgba(0,0,0,.1));
+ background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0), rgba(0,0,0,.1));
+}
+
+.jumbotron p a,
+.jumbotron-links a {
+ font-weight: 500;
+ color: #fff;
+ transition: all .1s ease-in-out;
+}
+.jumbotron p a:hover,
+.jumbotron-links a:hover {
+ text-shadow: 0 0 10px rgba(255,255,255,.55);
+}
+
+/* Textual links */
+.jumbotron-links {
+ margin-top: 15px;
+ margin-bottom: 0;
+ padding-left: 0;
+ list-style: none;
+ font-size: 14px;
+}
+.jumbotron-links li {
+ display: inline;
+}
+.jumbotron-links li + li {
+ margin-left: 20px;
+}
+
+@media (min-width: 768px) {
+ .jumbotron {
+ padding-top: 100px;
+ padding-bottom: 100px;
+ font-size: 21px;
+ }
+ .jumbotron h1,
+ .jumbotron .glyphicon-ok {
+ font-size: 50px;
+ }
+}
+
+/* Steps for setup
+-------------------------------------------------- */
+
+.how-to {
+ padding: 50px 20px;
+ border-top: 1px solid #eee;
+}
+.how-to li {
+ font-size: 21px;
+ line-height: 1.5;
+ margin-top: 20px;
+}
+.how-to li p {
+ font-size: 16px;
+ color: #555;
+}
+.how-to code {
+ font-size: 85%;
+ color: #b94a48;
+ background-color: #fcf3f2;
+ word-wrap: break-word;
+ white-space: normal;
+}
+
+/* Icons
+-------------------------------------------------- */
+
+.the-icons {
+ padding: 40px 10px;
+ font-size: 20px;
+ line-height: 2;
+ color: #333;
+ text-align: center;
+}
+.the-icons .glyphicon {
+ padding-left: 15px;
+ padding-right: 15px;
+}
+
+/* Footer
+-------------------------------------------------- */
+
+.footer {
+ padding: 50px 30px;
+ color: #777;
+ text-align: center;
+ border-top: 1px solid #eee;
+}
diff --git a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomCenter.png b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomCenter.png
new file mode 100644
index 0000000..0d4475e
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomCenter.png
Binary files differ
diff --git a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomLeft.png b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomLeft.png
new file mode 100644
index 0000000..2775eba
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomLeft.png
Binary files differ
diff --git a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomRight.png b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomRight.png
new file mode 100644
index 0000000..f7f5137
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomRight.png
Binary files differ
diff --git a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleLeft.png b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleLeft.png
new file mode 100644
index 0000000..a2d63d1
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleLeft.png
Binary files differ
diff --git a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleRight.png b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleRight.png
new file mode 100644
index 0000000..fd7c3e8
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleRight.png
Binary files differ
diff --git a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopCenter.png b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopCenter.png
new file mode 100644
index 0000000..2937a9c
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopCenter.png
Binary files differ
diff --git a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopLeft.png b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopLeft.png
new file mode 100644
index 0000000..f9d458b
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopLeft.png
Binary files differ
diff --git a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopRight.png b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopRight.png
new file mode 100644
index 0000000..74b8583
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopRight.png
Binary files differ
diff --git a/nikola/data/themes/bootstrap3/assets/css/rst.css b/nikola/data/themes/bootstrap3/assets/css/rst.css
new file mode 100644
index 0000000..489ceaa
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/css/rst.css
@@ -0,0 +1,318 @@
+/*
+:Author: David Goodger (goodger@python.org)
+:Id: $Id: html4css1.css 7514 2012-09-14 14:27:12Z milde $
+:Copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+ border: 0 }
+
+table.borderless td, table.borderless th {
+ /* Override padding for "table.docutils td" with "! important".
+ The right padding separates the table cells. */
+ padding: 0 0.5em 0 0 ! important }
+
+.first {
+ /* Override more specific margin styles with "! important". */
+ margin-top: 0 ! important }
+
+.last, .with-subtitle {
+ margin-bottom: 0 ! important }
+
+.hidden {
+ display: none }
+
+a.toc-backref {
+ text-decoration: none ;
+ color: black }
+
+blockquote.epigraph {
+ margin: 2em 5em ; }
+
+dl.docutils dd {
+ margin-bottom: 0.5em }
+
+object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
+ overflow: hidden;
+}
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+ font-weight: bold }
+*/
+
+div.abstract {
+ margin: 2em 5em }
+
+div.abstract p.topic-title {
+ font-weight: bold ;
+ text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+ margin: 2em ;
+ border: medium outset ;
+ padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+ font-weight: bold ;
+ font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title, .code .error {
+ color: red ;
+ font-weight: bold ;
+ font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+ compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+ margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+ margin-top: 0.5em }
+*/
+
+div.dedication {
+ margin: 2em 5em ;
+ text-align: center ;
+ font-style: italic }
+
+div.dedication p.topic-title {
+ font-weight: bold ;
+ font-style: normal }
+
+div.figure {
+ margin-left: 2em ;
+ margin-right: 2em }
+
+div.footer, div.header {
+ clear: both;
+ font-size: smaller }
+
+div.line-block {
+ display: block ;
+ margin-top: 1em ;
+ margin-bottom: 1em }
+
+div.line-block div.line-block {
+ margin-top: 0 ;
+ margin-bottom: 0 ;
+ margin-left: 1.5em }
+
+html[dir="rtl"] div.line-block div.line-block {
+ margin-top: 0 ;
+ margin-bottom: 0 ;
+ margin-right: 1.5em ;
+ margin-left: 0 }
+
+div.sidebar {
+ margin: 0 0 0.5em 1em ;
+ border: medium outset ;
+ padding: 1em ;
+ background-color: #ffffee ;
+ width: 40% ;
+ float: right ;
+ clear: right }
+
+div.sidebar p.rubric {
+ font-family: sans-serif ;
+ font-size: medium }
+
+div.system-messages {
+ margin: 5em }
+
+div.system-messages h1 {
+ color: red }
+
+div.system-message {
+ border: medium outset ;
+ padding: 1em }
+
+div.system-message p.system-message-title {
+ color: red ;
+ font-weight: bold }
+
+div.topic {
+ margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+ margin-top: 0.4em }
+
+h1.title {
+ text-align: center }
+
+h2.subtitle {
+ text-align: center }
+
+hr.docutils {
+ width: 75% }
+
+img.align-left, .figure.align-left, object.align-left {
+ clear: left ;
+ float: left ;
+ margin-right: 1em }
+
+img.align-right, .figure.align-right, object.align-right {
+ clear: right ;
+ float: right ;
+ margin-left: 1em }
+
+img.align-center, .figure.align-center, object.align-center {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.align-left {
+ text-align: left }
+
+.align-center {
+ clear: both ;
+ text-align: center }
+
+.align-right {
+ text-align: right }
+
+/* reset inner alignment in figures */
+div.align-right {
+ text-align: inherit }
+
+/* div.align-center * { */
+/* text-align: left } */
+
+ol.simple, ul.simple {
+ margin-bottom: 1em }
+
+ol.arabic {
+ list-style: decimal }
+
+ol.loweralpha {
+ list-style: lower-alpha }
+
+ol.upperalpha {
+ list-style: upper-alpha }
+
+ol.lowerroman {
+ list-style: lower-roman }
+
+ol.upperroman {
+ list-style: upper-roman }
+
+p.attribution {
+ text-align: right ;
+ margin-left: 50% }
+
+p.caption {
+ font-style: italic }
+
+p.credits {
+ font-style: italic ;
+ font-size: smaller }
+
+p.label {
+ white-space: nowrap }
+
+p.rubric {
+ font-weight: bold ;
+ font-size: larger ;
+ color: maroon ;
+ text-align: center }
+
+p.sidebar-title {
+ font-family: sans-serif ;
+ font-weight: bold ;
+ font-size: larger }
+
+p.sidebar-subtitle {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+p.topic-title {
+ font-weight: bold }
+
+pre.address {
+ margin-bottom: 0 ;
+ margin-top: 0 ;
+ font: inherit }
+
+pre.literal-block, pre.doctest-block, pre.math, pre.code {
+ margin-left: 2em ;
+ margin-right: 2em }
+
+pre.code .ln { color: grey; } /* line numbers */
+pre.code, code { background-color: #eeeeee }
+pre.code .comment, code .comment { color: #5C6576 }
+pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
+pre.code .literal.string, code .literal.string { color: #0C5404 }
+pre.code .name.builtin, code .name.builtin { color: #352B84 }
+pre.code .deleted, code .deleted { background-color: #DEB0A1}
+pre.code .inserted, code .inserted { background-color: #A3D289}
+
+span.classifier {
+ font-family: sans-serif ;
+ font-style: oblique }
+
+span.classifier-delimiter {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+span.interpreted {
+ font-family: sans-serif }
+
+span.option {
+ white-space: nowrap }
+
+span.pre {
+ white-space: pre }
+
+span.problematic {
+ color: red }
+
+span.section-subtitle {
+ /* font-size relative to parent (h1..h6 element) */
+ font-size: 80% }
+
+table.citation {
+ border-left: solid 1px gray;
+ margin-left: 1px }
+
+table.docinfo {
+ margin: 2em 4em }
+
+table.docutils {
+ margin-top: 0.5em ;
+ margin-bottom: 0.5em }
+
+table.footnote {
+ border-left: solid 1px black;
+ margin-left: 1px }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+ padding-left: 0.5em ;
+ padding-right: 0.5em ;
+ vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+ font-weight: bold ;
+ text-align: left ;
+ white-space: nowrap ;
+ padding-left: 0 }
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+ font-size: 100% }
+
+ul.auto-toc {
+ list-style-type: none }
diff --git a/nikola/data/themes/bootstrap3/assets/css/theme.css b/nikola/data/themes/bootstrap3/assets/css/theme.css
new file mode 100644
index 0000000..5e3775a
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/css/theme.css
@@ -0,0 +1,183 @@
+body {
+ margin-top: 60px;
+}
+
+#container {
+ width: 960px;
+ margin: 0 auto;
+}
+
+#contentcolumn {
+ max-width: 760px;
+}
+#q {
+ width: 150px;
+}
+
+img {
+ max-width: 90%;
+}
+
+.postbox {
+ border-bottom: 2px solid darkgrey;
+ margin-bottom: 12px;
+}
+
+.titlebox {
+ text-align: right;
+}
+
+#addthisbox {margin-bottom: 12px;}
+
+td.label {
+ /* Issue #290 */
+ background-color: inherit;
+}
+
+.footnote-reference {
+ /* Issue 290 */
+ vertical-align: super;
+ font-size: xx-small;
+}
+
+
+.caption {
+ /* Issue 292 */
+ text-align: center;
+ padding-top: 1em;
+}
+
+div.figure > img,
+div.figure > a > img {
+ /* Issue 292 */
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+div.sidebar, div.admonition, div.attention, div.caution, div.danger, div.error, div.hint, div.important, div.note, div.tip, div.warning {
+ /* Issue 277 */
+ border: 1px solid #aaa;
+ border-radius: 5px;
+}
+
+blockquote p, blockquote {
+ font-size: 17.5px;
+ font-weight: 300;
+ line-height: 1.25;
+}
+
+ul.bricks > li {
+ display: inline;
+ background-color: lightblue;
+ padding: 8px;
+ border-radius: 5px;
+ line-height: 3;
+ white-space:nowrap;
+ margin: 3px;
+}
+
+.at300b, .stMainServices, .stButton, .stButton_gradient {
+ box-sizing: content-box;
+}
+
+pre, pre code {
+ white-space: pre;
+ word-wrap: normal;
+ overflow: auto;
+}
+
+article.post-micro {
+ font-family: Georgia, 'Times New Roman', Times, serif;
+ font-size: 1.5em;
+}
+
+/* fix anchors for headers */
+h1, h2, h3 {
+ margin-top: -40px;
+ padding-top: 60px;
+}
+
+h4, h5, h6 {
+ margin-top: -50px;
+ padding-top: 60px;
+}
+
+.image-block {
+ display: inline-block;
+}
+
+.flowr_row {
+ width: 100%;
+}
+
+.tags {
+ padding-left: 0;
+ margin-left: -5px;
+ list-style: none;
+ text-align: center;
+
+}
+
+.tags > li {
+ display: inline-block;
+ min-width: 10px;
+ padding: 3px 7px;
+ font-size: 12px;
+ font-weight: bold;
+ line-height: 1;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ background-color: #999;
+ border-radius: 10px;
+}
+
+.tags > li a {
+ color: #fff;
+}
+
+.metadata p:before,
+.postlist .listdate:before {
+ content: " — ";
+}
+
+.metadata p:first-of-type:before {
+ content: "";
+}
+
+.metadata p {
+ display: inline;
+}
+
+.posttranslations h3 {
+ display: inline;
+ font-size: 1em;
+ font-weight: bold;
+}
+
+.posttranslations h3:last-child {
+ display: none;
+}
+
+.entry-content {
+ margin-top: 1em;
+}
+
+.navbar-brand {
+ padding: 0 15px;
+}
+
+.navbar-brand #blog-title {
+ padding: 15px 0;
+ display: inline-block;
+}
+
+.navbar-brand #logo {
+ max-width: 100%;
+}
+
+.row {
+ margin: 0;
+}
diff --git a/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.eot b/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.eot
new file mode 120000
index 0000000..c2dfd17
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.eot
@@ -0,0 +1 @@
+../../../../../../bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.svg b/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.svg
new file mode 120000
index 0000000..30abe9d
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.svg
@@ -0,0 +1 @@
+../../../../../../bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.ttf b/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.ttf
new file mode 120000
index 0000000..93e3bf3
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.ttf
@@ -0,0 +1 @@
+../../../../../../bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.woff b/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.woff
new file mode 120000
index 0000000..f7595ae
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.woff
@@ -0,0 +1 @@
+../../../../../../bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff \ No newline at end of file
diff --git a/nikola/data/themes/bootstrap3/bundles b/nikola/data/themes/bootstrap3/bundles
new file mode 100644
index 0000000..0a96b4f
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/bundles
@@ -0,0 +1,4 @@
+assets/css/all-nocdn.css=bootstrap.css,rst.css,code.css,colorbox.css,theme.css,custom.css
+assets/css/all.css=rst.css,code.css,colorbox.css,theme.css,custom.css
+assets/js/all-nocdn.js=jquery.min.js,bootstrap.min.js,jquery.colorbox-min.js
+assets/js/all.js=jquery.colorbox-min.js
diff --git a/nikola/data/themes/bootstrap3/engine b/nikola/data/themes/bootstrap3/engine
new file mode 100644
index 0000000..2951cdd
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/engine
@@ -0,0 +1 @@
+mako
diff --git a/nikola/data/themes/bootstrap3/parent b/nikola/data/themes/bootstrap3/parent
new file mode 100644
index 0000000..b7c200a
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/parent
@@ -0,0 +1 @@
+bootstrap
diff --git a/nikola/data/themes/bootstrap3/templates/base.tmpl b/nikola/data/themes/bootstrap3/templates/base.tmpl
new file mode 100644
index 0000000..c463873
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/templates/base.tmpl
@@ -0,0 +1,88 @@
+## -*- coding: utf-8 -*-
+<%namespace name="base" file="base_helper.tmpl" import="*" />
+<%namespace name="notes" file="annotation_helper.tmpl" import="*" />
+${set_locale(lang)}
+${base.html_headstart()}
+<%block name="extra_head">
+### Leave this block alone.
+</%block>
+${template_hooks['extra_head']()}
+</head>
+<body>
+<a href="#content" class="sr-only sr-only-focusable">${messages("Skip to main content")}</a>
+
+<!-- Menubar -->
+
+<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container"><!-- This keeps the margins nice -->
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="${abs_link('/')}">
+ %if logo_url:
+ <img src="${logo_url}" alt="${blog_title}" id="logo">
+ %endif
+
+ % if show_blog_title:
+ <span id="blog-title">${blog_title}</span>
+ % endif
+ </a>
+ </div><!-- /.navbar-header -->
+ <div class="collapse navbar-collapse navbar-ex1-collapse">
+ <ul class="nav navbar-nav">
+ ${base.html_navigation_links()}
+ ${template_hooks['menu']()}
+ </ul>
+ %if search_form:
+ ${search_form}
+ %endif
+
+ <ul class="nav navbar-nav navbar-right">
+ <%block name="belowtitle">
+ %if len(translations) > 1:
+ <li>${base.html_translations()}</li>
+ %endif
+ </%block>
+ % if show_sourcelink:
+ <%block name="sourcelink"></%block>
+ %endif
+ ${template_hooks['menu_alt']()}
+ </ul>
+ </div><!-- /.navbar-collapse -->
+ </div><!-- /.container -->
+</nav>
+
+<!-- End of Menubar -->
+
+<div class="container" id="content">
+ <div class="body-content">
+ <!--Body content-->
+ <div class="row">
+ ${template_hooks['page_header']()}
+ <%block name="content"></%block>
+ </div>
+ <!--End of body content-->
+
+ <footer>
+ ${content_footer}
+ ${template_hooks['page_footer']()}
+ </footer>
+ </div>
+</div>
+
+${base.late_load_js()}
+ <script>jQuery("a.image-reference").colorbox({rel:"gal",maxWidth:"100%",maxHeight:"100%",scalePhotos:true});</script>
+ <%block name="extra_js"></%block>
+ % if annotations and post and not post.meta('noannotations'):
+ ${notes.code()}
+ % elif not annotations and post and post.meta('annotations'):
+ ${notes.code()}
+ % endif
+${body_end}
+${template_hooks['body_end']()}
+</body>
+</html>
diff --git a/nikola/data/themes/bootstrap3/templates/base_helper.tmpl b/nikola/data/themes/bootstrap3/templates/base_helper.tmpl
new file mode 100644
index 0000000..096c3c2
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/templates/base_helper.tmpl
@@ -0,0 +1,165 @@
+## -*- coding: utf-8 -*-
+
+<%def name="html_headstart()">
+<!DOCTYPE html>
+<html
+\
+% if use_open_graph or (twitter_card and twitter_card['use_twitter_cards']) or (comment_system == 'facebook'):
+prefix='\
+%if use_open_graph or (twitter_card and twitter_card['use_twitter_cards']):
+og: http://ogp.me/ns# \
+%endif
+%if use_open_graph:
+article: http://ogp.me/ns/article# \
+%endif
+%if comment_system == 'facebook':
+fb: http://ogp.me/ns/fb# \
+%endif
+'\
+%endif
+\
+% if is_rtl:
+dir="rtl" \
+% endif
+\
+lang="${lang}">
+ <head>
+ <meta charset="utf-8">
+ %if description:
+ <meta name="description" content="${description}">
+ %endif
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>${title|striphtml} | ${blog_title|striphtml}</title>
+
+ ${html_stylesheets()}
+ ${html_feedlinks()}
+ %if permalink:
+ <link rel="canonical" href="${abs_link(permalink)}">
+ %endif
+
+ %if favicons:
+ %for name, file, size in favicons:
+ <link rel="${name}" href="${file}" sizes="${size}"/>
+ %endfor
+ %endif
+
+ % if comment_system == 'facebook':
+ <meta property="fb:app_id" content="${comment_system_id}">
+ % endif
+
+ %if prevlink:
+ <link rel="prev" href="${prevlink}" type="text/html">
+ %endif
+ %if nextlink:
+ <link rel="next" href="${nextlink}" type="text/html">
+ %endif
+
+ ${mathjax_config}
+ %if use_cdn:
+ <!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
+ %else:
+ <!--[if lt IE 9]><script src="${url_replacer(permalink, '/assets/js/html5.js', lang)}"></script><![endif]-->
+ %endif
+
+ ${extra_head_data}
+</%def>
+
+<%def name="late_load_js()">
+ %if use_bundles:
+ %if use_cdn:
+ <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
+ <script src="/assets/js/all.js"></script>
+ %else:
+ <script src="/assets/js/all-nocdn.js"></script>
+ %endif
+ %else:
+ %if use_cdn:
+ <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
+ %else:
+ <script src="/assets/js/jquery.min.js"></script>
+ <script src="/assets/js/bootstrap.min.js"></script>
+ %endif
+ <script src="/assets/js/jquery.colorbox-min.js"></script>
+ %endif
+ %if colorbox_locales[lang]:
+ <script src="/assets/js/colorbox-i18n/jquery.colorbox-${colorbox_locales[lang]}.js"></script>
+ %endif
+ ${social_buttons_code}
+</%def>
+
+
+<%def name="html_stylesheets()">
+ %if use_bundles:
+ %if use_cdn:
+ <link href="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
+ <link href="/assets/css/all.css" rel="stylesheet" type="text/css">
+ %else:
+ <link href="/assets/css/all-nocdn.css" rel="stylesheet" type="text/css">
+ %endif
+ %else:
+ %if use_cdn:
+ <link href="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
+ %else:
+ <link href="/assets/css/bootstrap.min.css" rel="stylesheet" type="text/css">
+ %endif
+ <link href="/assets/css/rst.css" rel="stylesheet" type="text/css">
+ <link href="/assets/css/code.css" rel="stylesheet" type="text/css">
+ <link href="/assets/css/colorbox.css" rel="stylesheet" type="text/css">
+ <link href="/assets/css/theme.css" rel="stylesheet" type="text/css">
+ %if has_custom_css:
+ <link href="/assets/css/custom.css" rel="stylesheet" type="text/css">
+ %endif
+ %endif
+ % if annotations and post and not post.meta('noannotations'):
+ ${notes.css()}
+ % elif not annotations and post and post.meta('annotations'):
+ ${notes.css()}
+ % endif
+</%def>
+
+<%def name="html_navigation_links()">
+ %for url, text in navigation_links[lang]:
+ % if isinstance(url, tuple):
+ <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">${text}<b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ %for suburl, text in url:
+ % if rel_link(permalink, suburl) == "#":
+ <li class="active"><a href="${permalink}">${text}</a>
+ %else:
+ <li><a href="${suburl}">${text}</a>
+ %endif
+ %endfor
+ </ul>
+ % else:
+ % if rel_link(permalink, url) == "#":
+ <li class="active"><a href="${permalink}">${text}</a>
+ %else:
+ <li><a href="${url}">${text}</a>
+ %endif
+ % endif
+ %endfor
+</%def>
+
+<%def name="html_feedlinks()">
+ %if rss_link:
+ ${rss_link}
+ %elif generate_rss:
+ %if len(translations) > 1:
+ %for language in translations:
+ <link rel="alternate" type="application/rss+xml" title="RSS (${language})" href="${_link('rss', None, language)}">
+ %endfor
+ %else:
+ <link rel="alternate" type="application/rss+xml" title="RSS" href="${_link('rss', None)}">
+ %endif
+ %endif
+</%def>
+
+<%def name="html_translations()">
+ %for langname in translations.keys():
+ %if langname != lang:
+ <li><a href="${_link("index", None, langname)}" rel="alternate" hreflang="${langname}">${messages("LANGUAGE", langname)}</a></li>
+ %endif
+ %endfor
+</%def>
diff --git a/nikola/data/themes/bootstrap3/templates/gallery.tmpl b/nikola/data/themes/bootstrap3/templates/gallery.tmpl
new file mode 100644
index 0000000..26fe80d
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/templates/gallery.tmpl
@@ -0,0 +1,94 @@
+## -*- coding: utf-8 -*-
+<%inherit file="base.tmpl"/>
+<%namespace name="comments" file="comments_helper.tmpl"/>
+<%namespace name="ui" file="crumbs.tmpl" import="bar"/>
+<%block name="sourcelink"></%block>
+
+<%block name="content">
+ ${ui.bar(crumbs)}
+ %if title:
+ <h1>${title}</h1>
+ %endif
+ %if post:
+ <p>
+ ${post.text()}
+ </p>
+ %endif
+ %if folders:
+ <ul>
+ % for folder, ftitle in folders:
+ <li><a href="${folder}"><i class="glyphicon
+ glyphicon-folder-open"></i>&nbsp;${ftitle}</a></li>
+ % endfor
+ </ul>
+ %endif
+
+<div id="gallery_container"></div>
+%if photo_array:
+<noscript>
+<ul class="thumbnails">
+ %for image in photo_array:
+ <li><a href="${image['url']}" class="thumbnail image-reference" title="${image['title']}">
+ <img src="${image['url_thumb']}" alt="${image['title']}" /></a>
+ %endfor
+</ul>
+</noscript>
+%endif
+%if site_has_comments and enable_comments:
+${comments.comment_form(None, permalink, title)}
+%endif
+</%block>
+
+<%block name="extra_head">
+${parent.extra_head()}
+<style type="text/css">
+ .image-block {
+ display: inline-block;
+ }
+ .flowr_row {
+ width: 100%;
+ }
+ </style>
+</%block>
+
+
+<%block name="extra_js">
+<script src="/assets/js/flowr.plugin.js"></script>
+<script>
+jsonContent = ${photo_array_json};
+$("#gallery_container").flowr({
+ data : jsonContent,
+ height : ${thumbnail_size}*.6,
+ padding: 5,
+ rows: -1,
+ render : function(params) {
+ // Just return a div, string or a dom object, anything works fine
+ img = $("<img />").attr({
+ 'src': params.itemData.url_thumb,
+ 'width' : params.width,
+ 'height' : params.height
+ }).css('max-width', '100%');
+ link = $( "<a></a>").attr({
+ 'href': params.itemData.url,
+ 'class': 'image-reference'
+ });
+ div = $("<div />").addClass('image-block').attr({
+ 'title': params.itemData.title,
+ 'data-toggle': "tooltip",
+ });
+ link.append(img);
+ div.append(link);
+ div.hover(div.tooltip());
+ return div;
+ },
+ itemWidth : function(data) { return data.size.w; },
+ itemHeight : function(data) { return data.size.h; },
+ complete : function(params) {
+ if( jsonContent.length > params.renderedItems ) {
+ nextRenderList = jsonContent.slice( params.renderedItems );
+ }
+ }
+ });
+$("a.image-reference").colorbox({rel:"gal", maxWidth:"100%",maxHeight:"100%",scalePhotos:true});
+</script>
+</%block>
diff --git a/nikola/data/themes/bootstrap3/templates/listing.tmpl b/nikola/data/themes/bootstrap3/templates/listing.tmpl
new file mode 100644
index 0000000..7b09e3e
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/templates/listing.tmpl
@@ -0,0 +1,28 @@
+## -*- coding: utf-8 -*-
+<%inherit file="base.tmpl"/>
+<%namespace name="ui" file="crumbs.tmpl" import="bar"/>
+
+<%block name="content">
+${ui.bar(crumbs)}
+%if folders or files:
+<ul class="list-unstyled">
+% for name in folders:
+ <li><a href="${name}"><i class="glyphicon glyphicon-folder-open"></i> ${name}</a>
+% endfor
+% for name in files:
+ <li><a href="${name}.html"><i class="glyphicon glyphicon-file"></i> ${name}</a>
+% endfor
+</ul>
+%endif
+% if code:
+ ${code}
+% endif
+</%block>
+
+<%block name="sourcelink">
+% if source_link:
+ <li>
+ <a href="${source_link}" id="sourcelink">${messages("Source")}</a>
+ </li>
+% endif
+</%block>
diff --git a/nikola/data/themes/bootstrap3/templates/slides.tmpl b/nikola/data/themes/bootstrap3/templates/slides.tmpl
new file mode 100644
index 0000000..a73848a
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/templates/slides.tmpl
@@ -0,0 +1,24 @@
+<%block name="content">
+<div id="${carousel_id}" class="carousel slide">
+ <ol class="carousel-indicators">
+ % for i in range(len(slides_content)):
+ % if i == 0:
+ <li data-target="#${carousel_id}" data-slide-to="${i}" class="active"></li>
+ % else:
+ <li data-target="#${carousel_id}" data-slide-to="${i}"></li>
+ % endif
+ % endfor
+ </ol>
+ <div class="carousel-inner">
+ % for i, image in enumerate(slides_content):
+ % if i == 0:
+ <div class="item active"><img src="${image}" alt="" style="margin: 0 auto 0 auto;"></div>
+ % else:
+ <div class="item"><img src="${image}" alt="" style="margin: 0 auto 0 auto;"></div>
+ % endif
+ % endfor
+ </div>
+ <a class="left carousel-control" href="#${carousel_id}" data-slide="prev"><span class="icon-prev"></span></a>
+ <a class="right carousel-control" href="#${carousel_id}" data-slide="next"><span class="icon-next"></span></a>
+</div>
+</%block>