diff options
Diffstat (limited to 'nikola/data/themes')
368 files changed, 4969 insertions, 3539 deletions
diff --git a/nikola/data/themes/base-jinja/AUTHORS.txt b/nikola/data/themes/base-jinja/AUTHORS.txt deleted file mode 100644 index 043d497..0000000 --- a/nikola/data/themes/base-jinja/AUTHORS.txt +++ /dev/null @@ -1 +0,0 @@ -Roberto Alsina <https://github.com/ralsina> diff --git a/nikola/data/themes/base-jinja/base-jinja.theme b/nikola/data/themes/base-jinja/base-jinja.theme new file mode 100644 index 0000000..64dc002 --- /dev/null +++ b/nikola/data/themes/base-jinja/base-jinja.theme @@ -0,0 +1,10 @@ +[Theme] +engine = jinja +parent = base +author = The Nikola Contributors +author_url = https://getnikola.com/ +license = MIT + +[Family] +family = base +mako_version = base diff --git a/nikola/data/themes/base-jinja/engine b/nikola/data/themes/base-jinja/engine deleted file mode 100644 index 6f04b30..0000000 --- a/nikola/data/themes/base-jinja/engine +++ /dev/null @@ -1 +0,0 @@ -jinja diff --git a/nikola/data/themes/base-jinja/parent b/nikola/data/themes/base-jinja/parent deleted file mode 100644 index df967b9..0000000 --- a/nikola/data/themes/base-jinja/parent +++ /dev/null @@ -1 +0,0 @@ -base diff --git a/nikola/data/themes/base-jinja/templates/archive.tmpl b/nikola/data/themes/base-jinja/templates/archive.tmpl new file mode 100644 index 0000000..f2b715d --- /dev/null +++ b/nikola/data/themes/base-jinja/templates/archive.tmpl @@ -0,0 +1 @@ +{% extends 'list_post.tmpl' %} diff --git a/nikola/data/themes/base-jinja/templates/archive_navigation_helper.tmpl b/nikola/data/themes/base-jinja/templates/archive_navigation_helper.tmpl new file mode 100644 index 0000000..ce913a3 --- /dev/null +++ b/nikola/data/themes/base-jinja/templates/archive_navigation_helper.tmpl @@ -0,0 +1,27 @@ +{# -*- coding: utf-8 -*- #} + +{% macro archive_navigation() %} +{% if 'archive_page' in pagekind %} + {% if has_archive_navigation %} + <nav class="archivenav"> + <ul class="pager"> + {% if previous_archive %} + <li class="previous"><a href="{{ previous_archive }}" rel="prev">{{ messages("Previous") }}</a></li> + {% else %} + <li class="previous disabled"><a href="#" rel="prev">{{ messages("Previous") }}</a></li> + {% endif %} + {% if up_archive %} + <li class="up"><a href="{{ up_archive }}" rel="up">{{ messages("Up") }}</a></li> + {% else %} + <li class="up disabled"><a href="#" rel="up">{{ messages("Up") }}</a></li> + {% endif %} + {% if next_archive %} + <li class="next"><a href="{{ next_archive }}" rel="next">{{ messages("Next") }}</a></li> + {% else %} + <li class="next disabled"><a href="#" rel="next">{{ messages("Next") }}</a></li> + {% endif %} + </ul> + </nav> + {% endif %} +{% endif %} +{% endmacro %} diff --git a/nikola/data/themes/base-jinja/templates/archiveindex.tmpl b/nikola/data/themes/base-jinja/templates/archiveindex.tmpl index 8b9286e..a8bc9c6 100644 --- a/nikola/data/themes/base-jinja/templates/archiveindex.tmpl +++ b/nikola/data/themes/base-jinja/templates/archiveindex.tmpl @@ -1,13 +1,20 @@ {# -*- coding: utf-8 -*- #} {% extends 'index.tmpl' %} +{% import 'archive_navigation_helper.tmpl' as archive_nav with context %} +{% import 'feeds_translations_helper.tmpl' as feeds_translations with context %} {% block extra_head %} {{ super() }} - {% if translations|length > 1 and generate_atom %} - {% for language in translations|sort %} - <link rel="alternate" type="application/atom+xml" title="Atom for the {{ archive_name }} section ({{ language }})" href="{{ _link("archive_atom", archive_name, language) }}"> - {% endfor %} - {% elif generate_atom %} - <link rel="alternate" type="application/atom+xml" title="Atom for the {{ archive_name }} archive" href="{{ _link("archive_atom", archive_name) }}"> - {% endif %} + {{ feeds_translations.head(archive_name, kind, rss_override=False) }} +{% endblock %} + +{% block content_header %} + <header> + <h1>{{ title|e }}</h1> + {{ archive_nav.archive_navigation() }} + <div class="metadata"> + {{ feeds_translations.feed_link(archive, kind) }} + {{ feeds_translations.translation_link(kind) }} + </div> + </header> {% endblock %} diff --git a/nikola/data/themes/base-jinja/templates/author.tmpl b/nikola/data/themes/base-jinja/templates/author.tmpl index 327debe..4d8a876 100644 --- a/nikola/data/themes/base-jinja/templates/author.tmpl +++ b/nikola/data/themes/base-jinja/templates/author.tmpl @@ -1,43 +1,28 @@ {# -*- coding: utf-8 -*- #} {% extends 'list_post.tmpl' %} +{% import 'feeds_translations_helper.tmpl' as feeds_translations with context %} {% block extra_head %} - {{ super() }} - {% if translations|length > 1 and generate_rss %} - {% for language in translations|sort %} - <link rel="alternate" type="application/rss+xml" title="RSS for {{ kind }} {{ author|e }} ({{ language }})" href="{{ _link(kind + "_rss", author, language) }}"> - {% endfor %} - {% elif generate_rss %} - <link rel="alternate" type="application/rss+xml" title="RSS for {{ kind }} {{ author|e }}" href="{{ _link(kind + "_rss", author) }}"> - {% endif %} + {{ feeds_translations.head(author, kind, rss_override=False) }} {% endblock %} - {% block content %} <article class="authorpage"> <header> <h1>{{ title|e }}</h1> {% if description %} - <p>{{ description }}</p> + <p>{{ description }}</p> {% endif %} <div class="metadata"> - {% if translations|length > 1 and generate_rss %} - {% for language in translations|sort %} - <p class="feedlink"> - <a href="{{ _link(kind + "_rss", author, language) }}" hreflang="{{ language }}" type="application/rss+xml">{{ messages('RSS feed', language) }} ({{ language }})</a> - </p> - {% endfor %} - {% elif generate_rss %} - <p class="feedlink"><a href="{{ _link(kind + "_rss", author) }}" type="application/rss+xml">{{ messages('RSS feed') }}</a></p> - {% endif %} + {{ feeds_translations.feed_link(author, kind) }} </div> </header> {% if posts %} - <ul class="postlist"> - {% for post in posts %} - <li><time class="listdate" datetime="{{ post.formatted_date('webiso') }}" title="{{ post.formatted_date(date_format)|e }}">{{ post.formatted_date(date_format)|e }}</time> <a href="{{ post.permalink() }}" class="listtitle">{{ post.title()|e }}</a></li> - {% endfor %} - </ul> + <ul class="postlist"> + {% for post in posts %} + <li><time class="listdate" datetime="{{ post.formatted_date('webiso') }}" title="{{ post.formatted_date(date_format)|e }}">{{ post.formatted_date(date_format)|e }}</time> <a href="{{ post.permalink() }}" class="listtitle">{{ post.title()|e }}</a></li> + {% endfor %} + </ul> {% endif %} </article> {% endblock %} diff --git a/nikola/data/themes/base-jinja/templates/authorindex.tmpl b/nikola/data/themes/base-jinja/templates/authorindex.tmpl index 3c40ee1..4b2fcbf 100644 --- a/nikola/data/themes/base-jinja/templates/authorindex.tmpl +++ b/nikola/data/themes/base-jinja/templates/authorindex.tmpl @@ -1,13 +1,21 @@ {# -*- coding: utf-8 -*- #} {% extends 'index.tmpl' %} +{% import 'feeds_translations_helper.tmpl' as feeds_translations with context %} + +{% block content_header %} + <header> + <h1>{{ title|e }}</h1> + {% if description %} + <p>{{ description }}</p> + {% endif %} + <div class="metadata"> + {{ feeds_translations.feed_link(author, kind) }} + {{ feeds_translations.translation_link(kind) }} + </div> + </header> +{% endblock %} {% block extra_head %} {{ super() }} - {% if tranlations|length > 1 and generate_atom %} - {% for language in translations|sort %} - <link rel="alternate" type="application/atom+xml" title="Atom for the {{ author|e }} section ({{ language }})" href="{{ _link(kind + "_atom", author, language) }}"> - {% endfor %} - {% elif generate_atom %} - <link rel="alternate" type="application/atom+xml" title="Atom for the {{ author|e }} section" href="{{ _link("author" + "_atom", author) }}"> - {% endif %} + {{ feeds_translations.head(author, kind, rss_override=False) }} {% endblock %} diff --git a/nikola/data/themes/base-jinja/templates/authors.tmpl b/nikola/data/themes/base-jinja/templates/authors.tmpl index 8b6ea64..c8e05ff 100644 --- a/nikola/data/themes/base-jinja/templates/authors.tmpl +++ b/nikola/data/themes/base-jinja/templates/authors.tmpl @@ -1,10 +1,18 @@ {# -*- coding: utf-8 -*- #} {% extends 'base.tmpl' %} +{% import 'feeds_translations_helper.tmpl' as feeds_translations with context %} + +{% block extra_head %} + {{ feeds_translations.head(kind=kind, feeds=False) }} +{% endblock %} {% block content %} <article class="authorindex"> {% if items %} <h2>{{ messages("Authors") }}</h2> + <div class="metadata"> + {{ feeds_translations.translation_link(kind) }} + </div> <ul class="postlist"> {% for text, link in items %} {% if text not in hidden_authors %} diff --git a/nikola/data/themes/base-jinja/templates/base.tmpl b/nikola/data/themes/base-jinja/templates/base.tmpl index 5412326..8b057db 100644 --- a/nikola/data/themes/base-jinja/templates/base.tmpl +++ b/nikola/data/themes/base-jinja/templates/base.tmpl @@ -2,8 +2,8 @@ {% import 'base_helper.tmpl' as base with context %} {% import 'base_header.tmpl' as header with context %} {% import 'base_footer.tmpl' as footer with context %} -{% import 'annotation_helper.tmpl' as annotations with context %} {{ set_locale(lang) }} +{# <html> tag is included by base.html_headstart #} {{ base.html_headstart() }} {% block extra_head %} {# Leave this block alone. #} @@ -11,16 +11,29 @@ {{ template_hooks['extra_head']() }} </head> <body> -<a href="#content" class="sr-only sr-only-focusable">{{ messages("Skip to main content") }}</a> + <a href="#content" class="sr-only sr-only-focusable">{{ messages("Skip to main content") }}</a> <div id="container"> - {{ header.html_header() }} - <main id="content"> + {{ header.html_header() }} + <main id="content"> {% block content %}{% endblock %} - </main> - {{ footer.html_footer() }} + </main> + {{ footer.html_footer() }} </div> {{ base.late_load_js() }} + {% if date_fanciness != 0 %} + <!-- fancy dates --> + <script> + luxon.Settings.defaultLocale = "{{ luxon_locales[lang] }}"; + fancydates({{ date_fanciness }}, {{ luxon_date_format }}); + </script> + <!-- end fancy dates --> + {% endif %} {% block extra_js %}{% endblock %} + <script> + baguetteBox.run('div#content', { + ignoreClass: 'islink', + captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); + </script> {{ body_end }} {{ template_hooks['body_end']() }} </body> diff --git a/nikola/data/themes/base-jinja/templates/base_footer.tmpl b/nikola/data/themes/base-jinja/templates/base_footer.tmpl index 2e541a6..db44a67 100644 --- a/nikola/data/themes/base-jinja/templates/base_footer.tmpl +++ b/nikola/data/themes/base-jinja/templates/base_footer.tmpl @@ -1,5 +1,4 @@ {# -*- coding: utf-8 -*- #} -{% import 'base_helper.tmpl' as base with context %} {% macro html_footer() %} {% if content_footer %} diff --git a/nikola/data/themes/base-jinja/templates/base_header.tmpl b/nikola/data/themes/base-jinja/templates/base_header.tmpl index d9370d7..bfbd447 100644 --- a/nikola/data/themes/base-jinja/templates/base_header.tmpl +++ b/nikola/data/themes/base-jinja/templates/base_header.tmpl @@ -16,7 +16,7 @@ {% endmacro %} {% macro html_site_title() %} - <h1 id="brand"><a href="{{ abs_link(_link("root", None, lang)) }}" title="{{ blog_title|e }}" rel="home"> + <h1 id="brand"><a href="{{ _link("root", None, lang) }}" title="{{ blog_title|e }}" rel="home"> {% if logo_url %} <img src="{{ logo_url }}" alt="{{ blog_title|e }}" id="logo"> {% endif %} @@ -30,13 +30,22 @@ {% macro html_navigation_links() %} <nav id="menu"> <ul> - {% for url, text in navigation_links[lang] %} + {{ html_navigation_links_entries(navigation_links) }} + {{ html_navigation_links_entries(navigation_alt_links) }} + {{ template_hooks['menu']() }} + {{ template_hooks['menu_alt']() }} + </ul> + </nav> +{% endmacro %} + +{% macro html_navigation_links_entries(navigation_links_source) %} + {% for url, text in navigation_links_source[lang] %} {% if isinstance(url, tuple) %} <li> {{ text }} <ul> {% for suburl, text in url %} {% if rel_link(permalink, suburl) == "#" %} - <li class="active"><a href="{{ permalink }}">{{ text }} <span class="sr-only">{{ messages("(active)", lang) }}</span></a></li> + <li class="active"><a href="{{ permalink }}">{{ text }}<span class="sr-only"> {{ messages("(active)", lang) }}</span></a></li> {% else %} <li><a href="{{ suburl }}">{{ text }}</a></li> {% endif %} @@ -44,16 +53,12 @@ </ul> {% else %} {% if rel_link(permalink, url) == "#" %} - <li class="active"><a href="{{ permalink }}">{{ text }} <span class="sr-only">{{ messages("(active)", lang) }}</span></a></li> + <li class="active"><a href="{{ permalink }}">{{ text }}<span class="sr-only"> {{ messages("(active)", lang) }}</span></a></li> {% else %} <li><a href="{{ url }}">{{ text }}</a></li> {% endif %} {% endif %} {% endfor %} - {{ template_hooks['menu']() }} - {{ template_hooks['menu_alt']() }} - </ul> - </nav> {% endmacro %} {% macro html_translation_header() %} diff --git a/nikola/data/themes/base-jinja/templates/base_helper.tmpl b/nikola/data/themes/base-jinja/templates/base_helper.tmpl index 04f49fe..a05abb9 100644 --- a/nikola/data/themes/base-jinja/templates/base_helper.tmpl +++ b/nikola/data/themes/base-jinja/templates/base_helper.tmpl @@ -1,31 +1,25 @@ {# -*- coding: utf-8 -*- #} +{% import 'feeds_translations_helper.tmpl' as feeds_translations with context %} {% macro html_headstart() %} <!DOCTYPE html> <html \ -prefix=' -{% if use_open_graph or (twitter_card and twitter_card['use_twitter_cards']) %} -og: http://ogp.me/ns# article: http://ogp.me/ns/article# -{% endif %} -{% if comment_system == 'facebook' %} -fb: http://ogp.me/ns/fb# -{% endif %} -' \ -{% if use_open_graph or (twitter_card and twitter_card['use_twitter_cards']) %} -vocab="http://ogp.me/ns" \ -{% endif %} + prefix=' + og: http://ogp.me/ns# article: http://ogp.me/ns/article# + {% if comment_system == 'facebook' %} + fb: http://ogp.me/ns/fb# + {% endif %} + ' \ + vocab="http://ogp.me/ns" \ {% if is_rtl %} -dir="rtl" + dir="rtl" {% endif %} lang="{{ lang }}"> <head> <meta charset="utf-8"> - {% if use_base_tag %} - <base href="{{ abs_link(permalink) }}"> - {% endif %} {% if description %} - <meta name="description" content="{{ description|e }}"> + <meta name="description" content="{{ description|e }}"> {% endif %} <meta name="viewport" content="width=device-width"> {% if title == blog_title %} @@ -35,8 +29,11 @@ lang="{{ lang }}"> {% endif %} {{ html_stylesheets() }} - <meta content="{{ theme_color }}" name="theme-color"> - {{ html_feedlinks() }} + <meta name="theme-color" content="{{ theme_color }}"> + {% if meta_generator_tag %} + <meta name="generator" content="Nikola (getnikola.com)"> + {% endif %} + {{ feeds_translations.head(classification=None, kind='index', other=False) }} <link rel="canonical" href="{{ abs_link(permalink) }}"> {% if favicons %} @@ -56,29 +53,58 @@ lang="{{ lang }}"> <link rel="next" href="{{ nextlink }}" type="text/html"> {% endif %} - {{ mathjax_config }} {% if use_cdn %} - <!--[if lt IE 9]><script src="https://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]--> + <!--[if lt IE 9]><script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script><![endif]--> {% else %} - <!--[if lt IE 9]><script src="{{ url_replacer(permalink, '/assets/js/html5.js', lang) }}"></script><![endif]--> + <!--[if lt IE 9]><script src="{{ url_replacer(permalink, '/assets/js/html5shiv-printshiv.min.js', lang, url_type) }}"></script><![endif]--> {% endif %} {{ extra_head_data }} {% endmacro %} {% macro late_load_js() %} + {% if use_bundles %} + {% if use_cdn %} + <script src="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.js" integrity="sha256-ULQV01VS9LCI2ePpLsmka+W0mawFpEA0rtxnezUj4A4=" crossorigin="anonymous"></script> + <script src="/assets/js/all.js"></script> + {% else %} + <script src="/assets/js/all-nocdn.js"></script> + {% endif %} + {% else %} + {% if use_cdn %} + <script src="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.js" integrity="sha256-ULQV01VS9LCI2ePpLsmka+W0mawFpEA0rtxnezUj4A4=" crossorigin="anonymous"></script> + {% else %} + <script src="/assets/js/baguetteBox.min.js"></script> + {% endif %} + {% endif %} + {% if date_fanciness != 0 %} + {% if date_fanciness == 2 %} + <script src="https://polyfill.io/v3/polyfill.js?features=Intl.RelativeTimeFormat.%7Elocale.{{ luxon_locales[lang] }}"></script> + {% endif %} + {% if use_cdn %} + <script src="https://cdn.jsdelivr.net/npm/luxon@1.25.0/build/global/luxon.min.js" integrity="sha256-OVk2fwTRcXYlVFxr/ECXsakqelJbOg5WCj1dXSIb+nU=" crossorigin="anonymous"></script> + {% else %} + <script src="/assets/js/luxon.min.js"></script> + {% endif %} + {% if not use_bundles %} + <script src="/assets/js/fancydates.min.js"></script> + {% endif %} + {% endif %} {{ social_buttons_code }} {% endmacro %} {% macro html_stylesheets() %} {% if use_bundles %} {% if use_cdn %} + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.css" integrity="sha256-cLMYWYYutHkt+KpNqjg7NVkYSQ+E2VbrXsEvOqU7mL0=" crossorigin="anonymous"> <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 %} - <link href="/assets/css/rst.css" rel="stylesheet" type="text/css"> + <link href="/assets/css/baguetteBox.min.css" rel="stylesheet" type="text/css"> + <link href="/assets/css/rst_base.css" rel="stylesheet" type="text/css"> + <link href="/assets/css/nikola_rst.css" rel="stylesheet" type="text/css"> <link href="/assets/css/code.css" rel="stylesheet" type="text/css"> <link href="/assets/css/theme.css" rel="stylesheet" type="text/css"> {% if has_custom_css %} @@ -91,34 +117,16 @@ lang="{{ lang }}"> {% endif %} {% endmacro %} +{# This function is deprecated; use feed_helper directly. #} {% macro html_feedlinks() %} - {% if rss_link %} - {{ rss_link }} - {% elif generate_rss %} - {% if translations|length > 1 %} - {% for language in translations|sort %} - <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 %} - {% if generate_atom %} - {% if translations|length > 1 %} - {% for language in translations|sort %} - <link rel="alternate" type="application/atom+xml" title="Atom ({{ language }})" href="{{ _link('index_atom', None, language) }}"> - {% endfor %} - {% else %} - <link rel="alternate" type="application/atom+xml" title="Atom" href="{{ _link('index_atom', None) }}"> - {% endif %} - {% endif %} + {{ feeds_translations.head(classification=None, kind='index', other=False) }} {% endmacro %} {% macro html_translations() %} <ul class="translations"> {% for langname in translations|sort %} {% if langname != lang %} - <li><a href="{{ abs_link(_link("root", None, langname)) }}" rel="alternate" hreflang="{{ langname }}">{{ messages("LANGUAGE", langname) }}</a></li> + <li><a href="{{ _link("root", None, langname) }}" rel="alternate" hreflang="{{ langname }}">{{ messages("LANGUAGE", langname) }}</a></li> {% endif %} {% endfor %} </ul> diff --git a/nikola/data/themes/base-jinja/templates/comments_helper.tmpl b/nikola/data/themes/base-jinja/templates/comments_helper.tmpl index aba7294..2a7d8dc 100644 --- a/nikola/data/themes/base-jinja/templates/comments_helper.tmpl +++ b/nikola/data/themes/base-jinja/templates/comments_helper.tmpl @@ -1,63 +1,63 @@ {# -*- coding: utf-8 -*- #} {% import 'comments_helper_disqus.tmpl' as disqus with context %} -{% import 'comments_helper_livefyre.tmpl' as livefyre with context %} {% import 'comments_helper_intensedebate.tmpl' as intensedebate with context %} {% import 'comments_helper_muut.tmpl' as muut with context %} -{% import 'comments_helper_googleplus.tmpl' as googleplus with context %} {% import 'comments_helper_facebook.tmpl' as facebook with context %} {% import 'comments_helper_isso.tmpl' as isso with context %} +{% import 'comments_helper_commento.tmpl' as commento with context %} +{% import 'comments_helper_utterances.tmpl' as utterances with context %} {% macro comment_form(url, title, identifier) %} {% if comment_system == 'disqus' %} {{ disqus.comment_form(url, title, identifier) }} - {% elif comment_system == 'livefyre' %} - {{ livefyre.comment_form(url, title, identifier) }} {% elif comment_system == 'intensedebate' %} {{ intensedebate.comment_form(url, title, identifier) }} {% elif comment_system == 'muut' %} {{ muut.comment_form(url, title, identifier) }} - {% elif comment_system == 'googleplus' %} - {{ googleplus.comment_form(url, title, identifier) }} {% elif comment_system == 'facebook' %} {{ facebook.comment_form(url, title, identifier) }} {% elif comment_system == 'isso' %} {{ isso.comment_form(url, title, identifier) }} + {% elif comment_system == 'commento' %} + {{ commento.comment_form(url, title, identifier) }} + {% elif comment_system == 'utterances' %} + {{ utterances.comment_form(url, title, identifier) }} {% endif %} {% endmacro %} {% macro comment_link(link, identifier) %} {% if comment_system == 'disqus' %} {{ disqus.comment_link(link, identifier) }} - {% elif comment_system == 'livefyre' %} - {{ livefyre.comment_link(link, identifier) }} {% elif comment_system == 'intensedebate' %} {{ intensedebate.comment_link(link, identifier) }} {% elif comment_system == 'muut' %} {{ muut.comment_link(link, identifier) }} - {% elif comment_system == 'googleplus' %} - {{ googleplus.comment_link(link, identifier) }} {% elif comment_system == 'facebook' %} {{ facebook.comment_link(link, identifier) }} {% elif comment_system == 'isso' %} {{ isso.comment_link(link, identifier) }} + {% elif comment_system == 'commento' %} + {{ commento.comment_link(link, identifier) }} + {% elif comment_system == 'utterances' %} + {{ utterances.comment_link(link, identifier) }} {% endif %} {% endmacro %} {% macro comment_link_script() %} {% if comment_system == 'disqus' %} {{ disqus.comment_link_script() }} - {% elif comment_system == 'livefyre' %} - {{ livefyre.comment_link_script() }} {% elif comment_system == 'intensedebate' %} {{ intensedebate.comment_link_script() }} {% elif comment_system == 'muut' %} {{ muut.comment_link_script() }} - {% elif comment_system == 'googleplus' %} - {{ googleplus.comment_link_script() }} {% elif comment_system == 'facebook' %} {{ facebook.comment_link_script() }} {% elif comment_system == 'isso' %} {{ isso.comment_link_script() }} + {% elif comment_system == 'commento' %} + {{ commento.comment_link_script() }} + {% elif comment_system == 'utterances' %} + {{ utterances.comment_link_script() }} {% endif %} {% endmacro %} diff --git a/nikola/data/themes/base-jinja/templates/comments_helper_commento.tmpl b/nikola/data/themes/base-jinja/templates/comments_helper_commento.tmpl new file mode 100644 index 0000000..25857d9 --- /dev/null +++ b/nikola/data/themes/base-jinja/templates/comments_helper_commento.tmpl @@ -0,0 +1,13 @@ +{# -*- coding: utf-8 -*- #} +{% macro comment_form(url, title, identifier) %} + <div id="commento"></div> + + <script defer src="{{ comment_system_id }}/js/commento.js"></script> +{% endmacro %} + +{% macro comment_link(link, identifier) %} + <a href="{{ link }}#commento">{{ messages("Comments") }}</a> +{% endmacro %} + +{% macro comment_link_script() %} +{% endmacro %} diff --git a/nikola/data/themes/base-jinja/templates/comments_helper_disqus.tmpl b/nikola/data/themes/base-jinja/templates/comments_helper_disqus.tmpl index 981453d..4aa42fa 100644 --- a/nikola/data/themes/base-jinja/templates/comments_helper_disqus.tmpl +++ b/nikola/data/themes/base-jinja/templates/comments_helper_disqus.tmpl @@ -30,7 +30,7 @@ {% macro comment_link(link, identifier) %} {% if comment_system_id %} - <a href="{{ link }}#disqus_thread" data-disqus-identifier="{{ identifier }}">Comments</a> + <a href="{{ link }}#disqus_thread" data-disqus-identifier="{{ identifier }}">{{ messages("Comments") }}</a> {% endif %} {% endmacro %} diff --git a/nikola/data/themes/base-jinja/templates/comments_helper_googleplus.tmpl b/nikola/data/themes/base-jinja/templates/comments_helper_googleplus.tmpl deleted file mode 100644 index cf153e0..0000000 --- a/nikola/data/themes/base-jinja/templates/comments_helper_googleplus.tmpl +++ /dev/null @@ -1,17 +0,0 @@ -{# -*- coding: utf-8 -*- #} -{% macro comment_form(url, title, identifier) %} -<script src="https://apis.google.com/js/plusone.js"></script> -<div class="g-comments" - data-href="{{ url }}" - data-first_party_property="BLOGGER" - data-view_type="FILTERED_POSTMOD"> -</div> -{% endmacro %} - -{% macro comment_link(link, identifier) %} -<div class="g-commentcount" data-href="{{ link }}"></div> -<script src="https://apis.google.com/js/plusone.js"></script> -{% endmacro %} - -{% macro comment_link_script() %} -{% endmacro %} diff --git a/nikola/data/themes/base-jinja/templates/comments_helper_intensedebate.tmpl b/nikola/data/themes/base-jinja/templates/comments_helper_intensedebate.tmpl index 042409b..d649d31 100644 --- a/nikola/data/themes/base-jinja/templates/comments_helper_intensedebate.tmpl +++ b/nikola/data/themes/base-jinja/templates/comments_helper_intensedebate.tmpl @@ -6,7 +6,7 @@ var idcomments_post_id = "{{ identifier }}"; var idcomments_post_url = "{{ url }}"; </script> <span id="IDCommentsPostTitle" style="display:none"></span> -<script src='http://www.intensedebate.com/js/genericCommentWrapperV2.js'></script> +<script src="https://www.intensedebate.com/js/genericCommentWrapperV2.js"></script> </script> {% endmacro %} @@ -17,7 +17,7 @@ var idcomments_acct = '{{ comment_system_id }}'; var idcomments_post_id = "{{ identifier }}"; var idcomments_post_url = "{{ link }}"; </script> -<script src="http://www.intensedebate.com/js/genericLinkWrapperV2.js"></script> +<script src="https://www.intensedebate.com/js/genericLinkWrapperV2.js"></script> </a> {% endmacro %} diff --git a/nikola/data/themes/base-jinja/templates/comments_helper_isso.tmpl b/nikola/data/themes/base-jinja/templates/comments_helper_isso.tmpl index b40b5e4..43995c5 100644 --- a/nikola/data/themes/base-jinja/templates/comments_helper_isso.tmpl +++ b/nikola/data/themes/base-jinja/templates/comments_helper_isso.tmpl @@ -1,20 +1,26 @@ {# -*- coding: utf-8 -*- #} {% macro comment_form(url, title, identifier) %} {% if comment_system_id %} - <div data-title="{{ title|urlencode }}" id="isso-thread"></div> - <script src="{{ comment_system_id }}js/embed.min.js" data-isso="{{ comment_system_id }}"></script> + <div data-title="{{ title|e }}" id="isso-thread"></div> + <script src="{{ comment_system_id }}js/embed.min.js" data-isso="{{ comment_system_id }}" data-isso-lang="{{ lang }}" + {% if isso_config %} + {% for k, v in isso_config.items() %} + data-isso-{{ k }}="{{ v }}" + {% endfor %} + {% endif %} + ></script> {% endif %} {% endmacro %} {% macro comment_link(link, identifier) %} {% if comment_system_id %} - <a href="{{ link }}#isso-thread">Comments</a> + <a href="{{ link }}#isso-thread">{{ messages("Comments") }}</a> {% endif %} {% endmacro %} {% macro comment_link_script() %} {% if comment_system_id and 'index' in pagekind %} - <script src="{{ comment_system_id }}js/count.min.js" data-isso="{{ comment_system_id }}"></script> + <script src="{{ comment_system_id }}js/count.min.js" data-isso="{{ comment_system_id }}" data-isso-lang="{{ lang }}"></script> {% endif %} {% endmacro %} diff --git a/nikola/data/themes/base-jinja/templates/comments_helper_livefyre.tmpl b/nikola/data/themes/base-jinja/templates/comments_helper_livefyre.tmpl deleted file mode 100644 index 5b01fbf..0000000 --- a/nikola/data/themes/base-jinja/templates/comments_helper_livefyre.tmpl +++ /dev/null @@ -1,33 +0,0 @@ -{# -*- coding: utf-8 -*- #} -{% macro comment_form(url, title, identifier) %} -<div id="livefyre-comments"></div> -<script src="http://zor.livefyre.com/wjs/v3.0/javascripts/livefyre.js"></script> -<script> -(function () { - var articleId = "{{ identifier }}"; - fyre.conv.load({}, [{ - el: 'livefyre-comments', - network: "livefyre.com", - siteId: "{{ comment_system_id }}", - articleId: articleId, - signed: false, - collectionMeta: { - articleId: articleId, - url: fyre.conv.load.makeCollectionUrl(), - } - }], function() {}); -}()); -</script> -{% endmacro %} - -{% macro comment_link(link, identifier) %} - <a href="{{ link }}"> - <span class="livefyre-commentcount" data-lf-site-id="{{ comment_system_id }}" data-lf-article-id="{{ identifier }}"> - 0 Comments - </span> -{% endmacro %} - - -{% macro comment_link_script() %} -<script src="http://zor.livefyre.com/wjs/v1.0/javascripts/CommentCount.js"></script> -{% endmacro %} diff --git a/nikola/data/themes/base-jinja/templates/comments_helper_mustache.tmpl b/nikola/data/themes/base-jinja/templates/comments_helper_mustache.tmpl deleted file mode 100644 index 8912e19..0000000 --- a/nikola/data/themes/base-jinja/templates/comments_helper_mustache.tmpl +++ /dev/null @@ -1,5 +0,0 @@ -{# -*- coding: utf-8 -*- #} -{% import 'comments_helper.tmpl' as comments with context %} -{% if not post.meta('nocomments') %} - {{ comments.comment_form(post.permalink(absolute=True), post.title(), post.base_path) }} -{% endif %} diff --git a/nikola/data/themes/base-jinja/templates/comments_helper_utterances.tmpl b/nikola/data/themes/base-jinja/templates/comments_helper_utterances.tmpl new file mode 100644 index 0000000..e1c03c2 --- /dev/null +++ b/nikola/data/themes/base-jinja/templates/comments_helper_utterances.tmpl @@ -0,0 +1,23 @@ +{# -*- coding: utf-8 -*- #} +{% macro comment_form(url, title, identifier) %} + {% if comment_system_id %} + <div data-title="{{ title|e }}" id="utterances-thread"></div> + <script src="https://utteranc.es/client.js" repo="{{ comment_system_id }}" + {% if utterances_config %} + {% for k, v in utterances_config.items() %} + {{ k }}="{{ v }}" + {% endfor %} + {% endif %} + ></script> + {% endif %} +{% endmacro %} + +{% macro comment_link(link, identifier) %} + {% if comment_system_id %} + <a href="{{ link }}#utterances-thread">{{ messages("Comments") }}</a> + {% endif %} +{% endmacro %} + + +{% macro comment_link_script() %} +{% endmacro %} diff --git a/nikola/data/themes/base-jinja/templates/feeds_translations_helper.tmpl b/nikola/data/themes/base-jinja/templates/feeds_translations_helper.tmpl new file mode 100644 index 0000000..278e1c4 --- /dev/null +++ b/nikola/data/themes/base-jinja/templates/feeds_translations_helper.tmpl @@ -0,0 +1,124 @@ +{# -*- coding: utf-8 -*- #} + +{% macro _head_feed_link(link_type, link_name, link_postfix, classification, kind, language) %} + {% if translations|length > 1 %} + <link rel="alternate" type="{{ link_type }}" title="{{ link_name|e }} ({{ language }})" hreflang="{{ language }}" href="{{ _link(kind + '_' + link_postfix, classification, language) }}"> + {% else %} + <link rel="alternate" type="{{ link_type }}" title="{{ link_name|e }}" hreflang="{{ language }}" href="{{ _link(kind + '_' + link_postfix, classification, language) }}"> + {% endif %} +{% endmacro %} + +{% macro _html_feed_link(link_type, link_name, link_postfix, classification, kind, language, name=None) %} + {% if translations|length > 1 %} + {% if name and kind != "archive" and kind != "author" %} + <a href="{{ _link(kind + '_' + link_postfix, classification, language) }}" hreflang="{{ language }}" type="{{ link_type }}">{{ messages(link_name, language) }} ({{ name|e }}, {{ language }})</a> + {% else %} + <a href="{{ _link(kind + '_' + link_postfix, classification, language) }}" hreflang="{{ language }}" type="{{ link_type }}">{{ messages(link_name, language) }} ({{ language }})</a> + {% endif %} + {% else %} + {% if name and kind != "archive" and kind != "author" %} + <a href="{{ _link(kind + '_' + link_postfix, classification, language) }}" hreflang="{{ language }}" type="{{ link_type }}">{{ messages(link_name, language) }} ({{ name|e }})</a> + {% else %} + <a href="{{ _link(kind + '_' + link_postfix, classification, language) }}" hreflang="{{ language }}" type="{{ link_type }}">{{ messages(link_name, language) }}</a> + {% endif %} + {% endif %} +{% endmacro %} + +{% macro _html_translation_link(classification, kind, language, name=None) %} + {% if name and kind != "archive" and kind != "author" %} + <a href="{{ _link(kind, classification, language) }}" hreflang="{{ language }}" rel="alternate">{{ messages("LANGUAGE", language) }} ({{ name|e }})</a> + {% else %} + <a href="{{ _link(kind, classification, language) }}" hreflang="{{ language }}" rel="alternate">{{ messages("LANGUAGE", language) }}</a> + {% endif %} +{% endmacro %} + +{% macro _head_rss(classification=None, kind='index', rss_override=True) %} + {% if rss_link and rss_override %} + {{ rss_link }} + {% endif %} + {% if generate_rss and not (rss_link and rss_override) and kind != 'archive' %} + {% if translations|length > 1 and has_other_languages and classification and kind != 'index' %} + {% for language, classification, name in all_languages %} + <link rel="alternate" type="application/rss+xml" title="RSS for {{ kind }} {{ name|e }} ({{ language }})" hreflang="{{ language }}" href="{{ _link(kind + "_rss", classification, language) }}"> + {% endfor %} + {% else %} + {% for language in translations_feedorder %} + {% if (classification or classification == '') and kind != 'index' %} + {{ _head_feed_link('application/rss+xml', 'RSS for ' + kind + ' ' + classification, 'rss', classification, kind, language) }} + {% else %} + {{ _head_feed_link('application/rss+xml', 'RSS', 'rss', classification, 'index', language) }} + {% endif %} + {% endfor %} + {% endif %} + {% endif %} +{% endmacro %} + +{% macro _head_atom(classification=None, kind='index') %} + {% if generate_atom %} + {% if translations|length > 1 and has_other_languages and classification and kind != 'index' %} + {% for language, classification, name in all_languages %} + <link rel="alternate" type="application/atom+xml" title="Atom for {{ kind }} {{ name|e }} ({{ language }})" hreflang="{{ language }}" href="{{ _link(kind + "_atom", classification, language) }}"> + {% endfor %} + {% else %} + {% for language in translations_feedorder %} + {% if (classification or classification == '') and kind != 'index' %} + {{ _head_feed_link('application/atom+xml', 'Atom for ' + kind + ' ' + classification, 'atom', classification, kind, language) }} + {% else %} + {{ _head_feed_link('application/atom+xml', 'Atom', 'atom', classification, 'index', language) }} + {% endif %} + {% endfor %} + {% endif %} + {% endif %} +{% endmacro %} + +{# Handles both feeds and translations #} +{% macro head(classification=None, kind='index', feeds=True, other=True, rss_override=True, has_no_feeds=False) %} + {% if feeds and not has_no_feeds %} + {{ _head_rss(classification, 'index' if (kind == 'archive' and rss_override) else kind, rss_override) }} + {{ _head_atom(classification, kind) }} + {% endif %} + {% if other and has_other_languages and other_languages %} + {% for language, classification, _ in other_languages %} + <link rel="alternate" hreflang="{{ language }}" href="{{ _link(kind, classification, language) }}"> + {% endfor %} + {% endif %} +{% endmacro %} + +{% macro feed_link(classification, kind) %} + {% if generate_atom or generate_rss %} + {% if translations|length > 1 and has_other_languages and kind != 'index' %} + {% for language, classification, name in all_languages %} + <p class="feedlink"> + {% if generate_atom %} + {{ _html_feed_link('application/atom+xml', 'Atom feed', 'atom', classification, kind, language, name) }} + {% endif %} + {% if generate_rss and kind != 'archive' %} + {{ _html_feed_link('application/rss+xml', 'RSS feed', 'rss', classification, kind, language, name) }} + {% endif %} + </p> + {% endfor %} + {% else %} + {% for language in translations_feedorder %} + <p class="feedlink"> + {% if generate_atom %} + {{ _html_feed_link('application/atom+xml', 'Atom feed', 'atom', classification, kind, language) }} + {% endif %} + {% if generate_rss and kind != 'archive' %} + {{ _html_feed_link('application/rss+xml', 'RSS feed', 'rss', classification, kind, language) }} + {% endif %} + </p> + {% endfor %} + {% endif %} + {% endif %} +{% endmacro %} + +{% macro translation_link(kind) %} + {% if has_other_languages and other_languages %} + <div class="translationslist translations"> + <h3 class="translationslist-intro">{{ messages("Also available in:") }}</h3> + {% for language, classification, name in other_languages %} + <p>{{ _html_translation_link(classification, kind, language, name) }}</p> + {% endfor %} + </div> + {% endif %} +{% endmacro %} diff --git a/nikola/data/themes/base-jinja/templates/gallery.tmpl b/nikola/data/themes/base-jinja/templates/gallery.tmpl index 977dea1..d425106 100644 --- a/nikola/data/themes/base-jinja/templates/gallery.tmpl +++ b/nikola/data/themes/base-jinja/templates/gallery.tmpl @@ -1,11 +1,12 @@ {# -*- coding: utf-8 -*- #} {% extends 'base.tmpl' %} {% import 'comments_helper.tmpl' as comments with context %} -{% import 'crumbs.tmpl' as ui with context %} +{% import 'ui_helper.tmpl' as ui with context %} +{% import 'post_helper.tmpl' as post_helper with context %} {% block sourcelink %}{% endblock %} {% block content %} - {{ ui.bar(crumbs) }} + {{ ui.breadcrumbs(crumbs) }} {% if title %} <h1>{{ title|e }}</h1> {% endif %} @@ -15,21 +16,39 @@ </p> {% endif %} {% if folders %} - <ul> - {% for folder, ftitle in folders %} - <li><a href="{{ folder }}"><i - class="icon-folder-open"></i> {{ ftitle|e }}</a></li> - {% endfor %} - </ul> - {% endif %} - {% if photo_array %} - <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']|e }}" /></a> - {% endfor %} - </ul> + {% if galleries_use_thumbnail %} + {% for (folder, ftitle, fpost) in folders %} + <div class="thumnbnail-container"> + <a href="{{ folder }}" class="thumbnail image-reference" title="{{ ftitle|e }}"> + {% if fpost and fpost.previewimage %} + <img src="{{ fpost.previewimage }}" alt="{{ ftitle|e }}" loading="lazy" style="max-width:{{ thumbnail_size }}px; max-height:{{ thumbnail_size }}px;" /> + {% else %} + <div style="height: {{ thumbnail_size }}px; width: {{ thumbnail_size }}px; background-color: #eee;"></div> + {% endif %} + <p class="thumbnail-caption">{{ ftitle|e }}</p> + </a> + </div> + {% endfor %} + {% else %} + <ul> + {% for folder, ftitle in folders %} + <li><a href="{{ folder }}">📂 {{ ftitle|e }}</a></li> + {% endfor %} + </ul> + {% endif %} {% 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']|e }}"> + <img src="{{ image['url_thumb'] }}" alt="{{ image['title']|e }}" loading="lazy" /></a> + {% endfor %} +</ul> +</noscript> +{% endif %} {% if site_has_comments and enable_comments %} {{ comments.comment_form(None, permalink, title) }} {% endif %} @@ -38,4 +57,35 @@ {% block extra_head %} {{ super() }} <link rel="alternate" type="application/rss+xml" title="RSS" href="rss.xml"> +<style type="text/css"> + #gallery_container { + position: relative; + } + .image-block { + position: absolute; + } +</style> +{% if translations|length > 1 %} + {% for langname in translations.keys() %} + {% if langname != lang %} + <link rel="alternate" hreflang="{{ langname }}" href="{{ _link('gallery', gallery_path, langname) }}"> + {% endif %} + {% endfor %} +{% endif %} +<link rel="alternate" type="application/rss+xml" title="RSS" href="rss.xml"> +{% if post %} + {{ post_helper.open_graph_metadata(post) }} + {{ post_helper.twitter_card_information(post) }} +{% endif %} +{% endblock %} + +{% block extra_js %} +<script src="/assets/js/justified-layout.min.js"></script> +<script src="/assets/js/gallery.min.js"></script> +<script> +var jsonContent = {{ photo_array_json }}; +var thumbnailSize = {{ thumbnail_size }}; +renderGallery(jsonContent, thumbnailSize); +window.addEventListener('resize', function(){renderGallery(jsonContent, thumbnailSize)}); +</script> {% endblock %} diff --git a/nikola/data/themes/base-jinja/templates/index.tmpl b/nikola/data/themes/base-jinja/templates/index.tmpl index f982091..55ae9aa 100644 --- a/nikola/data/themes/base-jinja/templates/index.tmpl +++ b/nikola/data/themes/base-jinja/templates/index.tmpl @@ -1,6 +1,9 @@ {# -*- coding: utf-8 -*- #} {% import 'index_helper.tmpl' as helper with context %} +{% import 'math_helper.tmpl' as math with context %} {% import 'comments_helper.tmpl' as comments with context %} +{% import 'pagination_helper.tmpl' as pagination with context %} +{% import 'feeds_translations_helper.tmpl' as feeds_translations with context %} {% extends 'base.tmpl' %} {% block extra_head %} @@ -8,27 +11,45 @@ {% if posts and (permalink == '/' or permalink == '/' + index_file) %} <link rel="prefetch" href="{{ posts[0].permalink() }}" type="text/html"> {% endif %} + {{ math.math_styles_ifposts(posts) }} {% endblock %} {% block content %} -{% block content_header %}{% endblock %} +{% block content_header %} + {{ feeds_translations.translation_link(kind) }} +{% endblock %} {% if 'main_index' in pagekind %} {{ front_index_header }} {% endif %} +{% if page_links %} + {{ pagination.page_navigation(current_page, page_links, prevlink, nextlink, prev_next_links_reversed) }} +{% endif %} <div class="postindex"> {% for post in posts %} - <article class="h-entry post-{{ post.meta('type') }}"> + <article class="h-entry post-{{ post.meta('type') }}" itemscope="itemscope" itemtype="http://schema.org/Article"> <header> <h1 class="p-name entry-title"><a href="{{ post.permalink() }}" class="u-url">{{ post.title()|e }}</a></h1> <div class="metadata"> - <p class="byline author vcard"><span class="byline-name fn"> - {% if author_pages_generated %} + <p class="byline author vcard"><span class="byline-name fn" itemprop="author"> + {% if author_pages_generated and multiple_authors_per_post %} + {% for author in post.authors() %} + <a href="{{ _link('author', author) }}">{{ author|e }}</a> + {% endfor %} + {% elif author_pages_generated %} <a href="{{ _link('author', post.author()) }}">{{ post.author()|e }}</a> {% else %} {{ post.author()|e }} {% endif %} </span></p> - <p class="dateline"><a href="{{ post.permalink() }}" rel="bookmark"><time class="published dt-published" datetime="{{ post.formatted_date('webiso') }}" title="{{ post.formatted_date(date_format)|e }}">{{ post.formatted_date(date_format)|e }}</time></a></p> + <p class="dateline"> + <a href="{{ post.permalink() }}" rel="bookmark"> + <time class="published dt-published" datetime="{{ post.formatted_date('webiso') }}" itemprop="datePublished" title="{{ post.formatted_date(date_format)|e }}">{{ post.formatted_date(date_format)|e }}</time> + {% if post.updated and post.updated != post.date %} + <span class="updated"> ({{ messages("updated") }} + <time class="dt-updated" datetime="{{ post.formatted_updated('webiso') }}" itemprop="dateUpdated" title="{{ post.formatted_updated(date_format)|e }}">{{ post.formatted_updated(date_format)|e }}</time>)</span> + {% endif %} + </a> + </p> {% if not post.meta('nocomments') and site_has_comments %} <p class="commentline">{{ comments.comment_link(post.permalink(), post._base_path) }} {% endif %} @@ -47,5 +68,5 @@ </div> {{ helper.html_pager() }} {{ comments.comment_link_script() }} -{{ helper.mathjax_script(posts) }} +{{ math.math_scripts_ifposts(posts) }} {% endblock %} diff --git a/nikola/data/themes/base-jinja/templates/index_helper.tmpl b/nikola/data/themes/base-jinja/templates/index_helper.tmpl index 704c635..bc57734 100644 --- a/nikola/data/themes/base-jinja/templates/index_helper.tmpl +++ b/nikola/data/themes/base-jinja/templates/index_helper.tmpl @@ -1,4 +1,5 @@ {# -*- coding: utf-8 -*- #} +{% import 'math_helper.tmpl' as math with context %} {% macro html_pager() %} {% if prevlink or nextlink %} <nav class="postindexpager"> @@ -18,33 +19,7 @@ {% endif %} {% endmacro %} +{# This function is deprecated; use math_helper directly. #} {% macro mathjax_script(posts) %} - {% if posts|selectattr("is_mathjax")|list %} - {% if use_katex %} - <script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.6.0/katex.min.js"></script> - <script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.6.0/contrib/auto-render.min.js"></script> - {% if katex_auto_render %} - <script> - renderMathInElement(document.body, - { - {{ katex_auto_render }} - } - ); - </script> - {% else %} - <script> - renderMathInElement(document.body); - </script> - {% endif %} - {% else %} - <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> - {% if mathjax_config %} - {{ mathjax_config }} - {% else %} - <script type="text/x-mathjax-config"> - MathJax.Hub.Config({tex2jax: {inlineMath: [['$latex ','$'], ['\\(','\\)']]}}); - </script> - {% endif %} - {% endif %} - {% endif %} + {{ math.math_scripts_ifposts(posts) }} {% endmacro %} diff --git a/nikola/data/themes/base-jinja/templates/list.tmpl b/nikola/data/themes/base-jinja/templates/list.tmpl index c9c330b..5f8ddea 100644 --- a/nikola/data/themes/base-jinja/templates/list.tmpl +++ b/nikola/data/themes/base-jinja/templates/list.tmpl @@ -1,11 +1,19 @@ {# -*- coding: utf-8 -*- #} {% extends 'base.tmpl' %} +{% import 'archive_navigation_helper.tmpl' as archive_nav with context %} +{% import 'feeds_translations_helper.tmpl' as feeds_translations with context %} + +{% block extra_head %} + {{ feeds_translations.head(kind=kind, rss_override=False, has_no_feeds=has_no_feeds) }} +{% endblock %} {% block content %} <article class="listpage"> <header> <h1>{{ title|e }}</h1> </header> + {{ archive_nav.archive_navigation() }} + {{ feeds_translations.translation_link(kind) }} {% if items %} <ul class="postlist"> {% for text, link, count in items %} diff --git a/nikola/data/themes/base-jinja/templates/list_post.tmpl b/nikola/data/themes/base-jinja/templates/list_post.tmpl index 1dd2605..e6b2080 100644 --- a/nikola/data/themes/base-jinja/templates/list_post.tmpl +++ b/nikola/data/themes/base-jinja/templates/list_post.tmpl @@ -1,11 +1,19 @@ {# -*- coding: utf-8 -*- #} {% extends 'base.tmpl' %} +{% import 'archive_navigation_helper.tmpl' as archive_nav with context %} +{% import 'feeds_translations_helper.tmpl' as feeds_translations with context %} + +{% block extra_head %} + {{ feeds_translations.head(kind=kind, rss_override=False) }} +{% endblock %} {% block content %} <article class="listpage"> <header> <h1>{{ title|e }}</h1> </header> + {{ archive_nav.archive_navigation() }} + {{ feeds_translations.translation_link(kind) }} {% if posts %} <ul class="postlist"> {% for post in posts %} diff --git a/nikola/data/themes/base-jinja/templates/listing.tmpl b/nikola/data/themes/base-jinja/templates/listing.tmpl index 9b6d76d..7b6b3a6 100644 --- a/nikola/data/themes/base-jinja/templates/listing.tmpl +++ b/nikola/data/themes/base-jinja/templates/listing.tmpl @@ -1,15 +1,15 @@ {# -*- coding: utf-8 -*- #} {% extends 'base.tmpl' %} -{% import 'crumbs.tmpl' as ui with context %} +{% import 'ui_helper.tmpl' as ui with context %} {% block content %} -{{ ui.bar(crumbs) }} +{{ ui.breadcrumbs(crumbs) }} {% if folders or files %} <ul> {% for name in folders %} - <li><a href="{{ name|urlencode }}"><i class="icon-folder-open"></i> {{ name|e }}</a> + <li><a href="{{ name|e }}" class="listing-folder">{{ name|e }}</a> {% endfor %} {% for name in files %} - <li><a href="{{ name|urlencode }}.html"><i class="icon-file"></i> {{ name|e }}</a> + <li><a href="{{ name|e }}.html" class="listing-file">{{ name|e }}</a> {% endfor %} </ul> {% endif %} @@ -22,5 +22,3 @@ {{ code }} {% endif %} {% endblock %} - - diff --git a/nikola/data/themes/base-jinja/templates/math_helper.tmpl b/nikola/data/themes/base-jinja/templates/math_helper.tmpl new file mode 100644 index 0000000..c16f9b8 --- /dev/null +++ b/nikola/data/themes/base-jinja/templates/math_helper.tmpl @@ -0,0 +1,69 @@ +{# Note: at present, MathJax and KaTeX do not respect the USE_CDN configuration option #} +{% macro math_scripts() %} + {% if use_katex %} + <script src="https://cdn.jsdelivr.net/npm/katex@0.10.2/dist/katex.min.js" integrity="sha384-9Nhn55MVVN0/4OFx7EE5kpFBPsEMZxKTCnA+4fqDmg12eCTqGi6+BB2LjY8brQxJ" crossorigin="anonymous"></script> + <script src="https://cdn.jsdelivr.net/npm/katex@0.10.2/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous"></script> + {% if katex_auto_render %} + <script> + renderMathInElement(document.body, + { + {{ katex_auto_render }} + } + ); + </script> + {% else %} + <script> + renderMathInElement(document.body, + { + delimiters: [ + {left: "$$", right: "$$", display: true}, + {left: "\\[", right: "\\]", display: true}, + {left: "\\begin{equation*}", right: "\\end{equation*}", display: true}, + {left: "\\(", right: "\\)", display: false} + ] + } + ); + </script> + {% endif %} + {% else %} +{# Note: given the size of MathJax; nikola will retrieve MathJax from a CDN regardless of use_cdn configuration #} + <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" integrity="sha384-3lJUsx1TJHt7BA4udB5KPnDrlkO8T6J6v/op7ui0BbCjvZ9WqV4Xm6DTP6kQ/iBH" crossorigin="anonymous"></script> + {% if mathjax_config %} + {{ mathjax_config }} + {% else %} + <script type="text/x-mathjax-config"> + MathJax.Hub.Config({tex2jax: {inlineMath: [['$latex ','$'], ['\\(','\\)']]}}); + </script> + {% endif %} + {% endif %} +{% endmacro %} + +{% macro math_styles() %} + {% if use_katex %} + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.2/dist/katex.min.css" integrity="sha384-yFRtMMDnQtDRO8rLpMIKrtPCD5jdktao2TV19YiZYWMDkUR5GQZR/NOVTdquEx1j" crossorigin="anonymous"> + {% endif %} +{% endmacro %} + +{% macro math_scripts_ifpost(post) %} + {% if post.has_math %} + {{ math_scripts() }} + {% endif %} +{% endmacro %} + +{% macro math_scripts_ifposts(posts) %} + {% if posts|selectattr("has_math")|list %} + {{ math_scripts() }} + {% endif %} +{% endmacro %} + +{% macro math_styles_ifpost(post) %} + {% if post.has_math %} + {{ math_styles() }} + {% endif %} +{% endmacro %} + +{% macro math_styles_ifposts(posts) %} + {% if posts|selectattr("has_math")|list %} + {{ math_styles() }} + {% endif %} +{% endmacro %} diff --git a/nikola/data/themes/base-jinja/templates/page.tmpl b/nikola/data/themes/base-jinja/templates/page.tmpl new file mode 100644 index 0000000..c2f3f7a --- /dev/null +++ b/nikola/data/themes/base-jinja/templates/page.tmpl @@ -0,0 +1 @@ +{% extends 'story.tmpl' %} diff --git a/nikola/data/themes/base-jinja/templates/pagination_helper.tmpl b/nikola/data/themes/base-jinja/templates/pagination_helper.tmpl new file mode 100644 index 0000000..73cf699 --- /dev/null +++ b/nikola/data/themes/base-jinja/templates/pagination_helper.tmpl @@ -0,0 +1,16 @@ +{# -*- coding: utf-8 -*- #} +{% macro page_navigation(current_page, page_links, prevlink, nextlink, prev_next_links_reversed, surrounding=5) %} +<div class="page-navigation"> + {% for i, link in enumerate(page_links) %} + {% if (i - current_page)|abs <= surrounding or i == 0 or i == page_links|length - 1 %} + {% if i == current_page %} + <span class="current-page">{{ i+1 }}</span> + {% else %} + <a href="{{ page_links[i] }}">{{ i+1 }}</a> + {% endif %} + {% elif i == current_page - surrounding - 1 or i == current_page + surrounding + 1 %} + <span class="ellipsis">…</span> + {% endif %} + {% endfor %} +</div> +{% endmacro %} diff --git a/nikola/data/themes/base-jinja/templates/post.tmpl b/nikola/data/themes/base-jinja/templates/post.tmpl index 5e4d9a5..484a2e0 100644 --- a/nikola/data/themes/base-jinja/templates/post.tmpl +++ b/nikola/data/themes/base-jinja/templates/post.tmpl @@ -2,15 +2,13 @@ {% import 'post_helper.tmpl' as helper with context %} {% import 'post_header.tmpl' as pheader with context %} {% import 'comments_helper.tmpl' as comments with context %} +{% import 'math_helper.tmpl' as math with context %} {% extends 'base.tmpl' %} {% block extra_head %} {{ super() }} {% if post.meta('keywords') %} - <meta name="keywords" content="{{ post.meta('keywords')|e }}"> - {% endif %} - {% if post.description() %} - <meta name="description" content="{{ post.description()|e }}"> + <meta name="keywords" content="{{ smartjoin(', ', post.meta('keywords'))|e }}"> {% endif %} <meta name="author" content="{{ post.author()|e }}"> {% if post.prev_post %} @@ -25,6 +23,7 @@ {{ helper.open_graph_metadata(post) }} {{ helper.twitter_card_information(post) }} {{ helper.meta_translations(post) }} + {{ math.math_styles_ifpost(post) }} {% endblock %} {% block content %} @@ -45,7 +44,7 @@ {{ comments.comment_form(post.permalink(absolute=True), post.title(), post._base_path) }} </section> {% endif %} - {{ helper.mathjax_script(post) }} + {{ math.math_scripts_ifpost(post) }} </article> {{ comments.comment_link_script() }} {% endblock %} diff --git a/nikola/data/themes/base-jinja/templates/post_header.tmpl b/nikola/data/themes/base-jinja/templates/post_header.tmpl index 6b81120..d3c5d3e 100644 --- a/nikola/data/themes/base-jinja/templates/post_header.tmpl +++ b/nikola/data/themes/base-jinja/templates/post_header.tmpl @@ -23,7 +23,7 @@ {% macro html_sourcelink() %} {% if show_sourcelink %} - <p class="sourceline"><a href="{{ post.source_link() }}" id="sourcelink">{{ messages("Source") }}</a></p> + <p class="sourceline"><a href="{{ post.source_link() }}" class="sourcelink">{{ messages("Source") }}</a></p> {% endif %} {% endmacro %} @@ -31,14 +31,26 @@ <header> {{ html_title() }} <div class="metadata"> - <p class="byline author vcard"><span class="byline-name fn"> - {% if author_pages_generated %} - <a href="{{ _link('author', post.author()) }}">{{ post.author()|e }}</a> + <p class="byline author vcard p-author h-card"><span class="byline-name fn p-name" itemprop="author"> + {% if author_pages_generated and multiple_authors_per_post %} + {% for author in post.authors() %} + <a class="u-url" href="{{ _link('author', author) }}">{{ author|e }}</a> + {% endfor %} + {% elif author_pages_generated %} + <a class="u-url" href="{{ _link('author', post.author()) }}">{{ post.author()|e }}</a> {% else %} {{ post.author()|e }} {% endif %} </span></p> - <p class="dateline"><a href="{{ post.permalink() }}" rel="bookmark"><time class="published dt-published" datetime="{{ post.formatted_date('webiso') }}" itemprop="datePublished" title="{{ post.formatted_date(date_format)|e }}">{{ post.formatted_date(date_format)|e }}</time></a></p> + <p class="dateline"> + <a href="{{ post.permalink() }}" rel="bookmark"> + <time class="published dt-published" datetime="{{ post.formatted_date('webiso') }}" itemprop="datePublished" title="{{ post.formatted_date(date_format)|e }}">{{ post.formatted_date(date_format)|e }}</time> + {% if post.updated and post.updated != post.date %} + <span class="updated"> ({{ messages("updated") }} + <time class="updated dt-updated" datetime="{{ post.formatted_updated('webiso') }}" itemprop="dateUpdated" title="{{ post.formatted_updated(date_format)|e }}">{{ post.formatted_updated(date_format)|e }}</time>)</span> + {% endif %} + </a> + </p> {% if not post.meta('nocomments') and site_has_comments %} <p class="commentline">{{ comments.comment_link(post.permalink(), post._base_path) }} {% endif %} @@ -46,9 +58,6 @@ {% if post.meta('link') %} <p class="linkline"><a href="{{ post.meta('link') }}">{{ messages("Original site") }}</a></p> {% endif %} - {% if post.description() %} - <meta name="description" itemprop="description" content="{{ post.description()|e }}"> - {% endif %} </div> {{ html_translations(post) }} </header> diff --git a/nikola/data/themes/base-jinja/templates/post_helper.tmpl b/nikola/data/themes/base-jinja/templates/post_helper.tmpl index e2dcf59..94b3c05 100644 --- a/nikola/data/themes/base-jinja/templates/post_helper.tmpl +++ b/nikola/data/themes/base-jinja/templates/post_helper.tmpl @@ -1,4 +1,5 @@ {# -*- coding: utf-8 -*- #} +{% import 'math_helper.tmpl' as math with context %} {% macro meta_translations(post) %} {% if translations|length > 1 %} @@ -40,31 +41,29 @@ {% endmacro %} {% macro open_graph_metadata(post) %} -{% if use_open_graph %} - <meta property="og:site_name" content="{{ blog_title|e }}"> - <meta property="og:title" content="{{ post.title()[:70]|e }}"> - <meta property="og:url" content="{{ abs_link(permalink) }}"> - {% if post.description() %} +<meta property="og:site_name" content="{{ blog_title|e }}"> +<meta property="og:title" content="{{ post.title()[:70]|e }}"> +<meta property="og:url" content="{{ abs_link(permalink) }}"> +{% if post.description() %} <meta property="og:description" content="{{ post.description()[:200]|e }}"> - {% else %} +{% else %} <meta property="og:description" content="{{ post.text(strip_html=True)[:200]|e }}"> - {% endif %} - {% if post.previewimage %} +{% endif %} +{% if post.previewimage %} <meta property="og:image" content="{{ url_replacer(permalink, post.previewimage, lang, 'absolute') }}"> - {% endif %} - <meta property="og:type" content="article"> +{% endif %} +<meta property="og:type" content="article"> {# Will only work with Pintrest and breaks everywhere else who expect a [Facebook] URI. #} {# %if post.author(): #} {# <meta property="article:author" content="{{ post.author()|e }}"> #} {# %endif #} - {% if post.date.isoformat() %} +{% if post.date.isoformat() %} <meta property="article:published_time" content="{{ post.formatted_date('webiso') }}"> - {% endif %} - {% if post.tags %} - {% for tag in post.tags %} - <meta property="article:tag" content="{{ tag|e }}"> - {% endfor %} - {% endif %} +{% endif %} +{% if post.tags %} + {% for tag in post.tags %} + <meta property="article:tag" content="{{ tag|e }}"> + {% endfor %} {% endif %} {% endmacro %} @@ -84,33 +83,7 @@ {% endif %} {% endmacro %} +{# This function is deprecated; use math_helper directly. #} {% macro mathjax_script(post) %} - {% if post.is_mathjax %} - {% if use_katex %} - <script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.6.0/katex.min.js"></script> - <script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.6.0/contrib/auto-render.min.js"></script> - {% if katex_auto_render %} - <script> - renderMathInElement(document.body, - { - {{ katex_auto_render }} - } - ); - </script> - {% else %} - <script> - renderMathInElement(document.body); - </script> - {% endif %} - {% else %} - <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> - {% if mathjax_config %} - {{ mathjax_config }} - {% else %} - <script type="text/x-mathjax-config"> - MathJax.Hub.Config({tex2jax: {inlineMath: [['$latex ','$'], ['\\(','\\)']]}}); - </script> - {% endif %} - {% endif %} - {% endif %} + {{ math.math_scripts_ifpost(post) }} {% endmacro %} diff --git a/nikola/data/themes/base-jinja/templates/sectionindex.tmpl b/nikola/data/themes/base-jinja/templates/sectionindex.tmpl deleted file mode 100644 index f1d3d5b..0000000 --- a/nikola/data/themes/base-jinja/templates/sectionindex.tmpl +++ /dev/null @@ -1,21 +0,0 @@ -{# -*- coding: utf-8 -*- #} -{% extends 'index.tmpl' %} - -{% block extra_head %} - {{ super() }} - {% if generate_atom %} - <link rel="alternate" type="application/atom+xml" title="Atom for the {{ posts[0].section_name()|e }} section" href="{{ _link('section_index_atom', posts[0].section_slug()) }}"> - {% endif %} -{% endblock %} - -{% block content %} -<div class="sectionindex"> - <header> - <h2><a href="{{ _link('section_index', posts[0].section_slug()) }}">{{ title|e }}</a></h2> - {% if generate_atom %} - <p class="feedlink"><a href="{{ _link('section_index_atom', posts[0].section_slug()) }}" type="application/atom+xml">{{ messages('Updates') }}</a></p> - {% endif %} - </header> - {{ super() }} -</div> -{% endblock %} diff --git a/nikola/data/themes/base-jinja/templates/slides.tmpl b/nikola/data/themes/base-jinja/templates/slides.tmpl deleted file mode 100644 index 0ae8fe8..0000000 --- a/nikola/data/themes/base-jinja/templates/slides.tmpl +++ /dev/null @@ -1,24 +0,0 @@ -{% 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">‹</a> - <a class="right carousel-control" href="#{{ carousel_id }}" data-slide="next">›</a> -</div> -{% endblock %} diff --git a/nikola/data/themes/base-jinja/templates/story.tmpl b/nikola/data/themes/base-jinja/templates/story.tmpl index 1269724..5c93256 100644 --- a/nikola/data/themes/base-jinja/templates/story.tmpl +++ b/nikola/data/themes/base-jinja/templates/story.tmpl @@ -2,6 +2,7 @@ {% import 'post_helper.tmpl' as helper with context %} {% import 'post_header.tmpl' as pheader with context %} {% import 'comments_helper.tmpl' as comments with context %} +{% import 'math_helper.tmpl' as math with context %} {% extends 'post.tmpl' %} {% block content %} @@ -19,6 +20,6 @@ {{ comments.comment_form(post.permalink(absolute=True), post.title(), post.base_path) }} </section> {% endif %} - {{ helper.mathjax_script(post) }} + {{ math.math_scripts_ifpost(post) }} </article> {% endblock %} diff --git a/nikola/data/themes/base-jinja/templates/tag.tmpl b/nikola/data/themes/base-jinja/templates/tag.tmpl index 363019b..fd5acbf 100644 --- a/nikola/data/themes/base-jinja/templates/tag.tmpl +++ b/nikola/data/themes/base-jinja/templates/tag.tmpl @@ -1,24 +1,17 @@ {# -*- coding: utf-8 -*- #} {% extends 'list_post.tmpl' %} +{% import 'feeds_translations_helper.tmpl' as feeds_translations with context %} {% block extra_head %} - {{ super() }} - {% if translations|length > 1 and generate_rss %} - {% for language in translations|sort %} - <link rel="alternate" type="application/rss+xml" title="RSS for {{ kind }} {{ tag|e }} ({{ language }})" href="{{ _link(kind + "_rss", tag, language) }}"> - {% endfor %} - {% elif generate_rss %} - <link rel="alternate" type="application/rss+xml" title="RSS for {{ kind }} {{ tag|e }}" href="{{ _link(kind + "_rss", tag) }}"> - {% endif %} + {{ feeds_translations.head(tag, kind, rss_override=False) }} {% endblock %} - {% block content %} <article class="tagpage"> <header> <h1>{{ title|e }}</h1> {% if description %} - <p>{{ description }}</p> + <p>{{ description }}</p> {% endif %} {% if subcategories %} {{ messages('Subcategories:') }} @@ -29,23 +22,16 @@ </ul> {% endif %} <div class="metadata"> - {% if translations|length > 1 and generate_rss %} - {% for language in translations|sort %} - <p class="feedlink"> - <a href="{{ _link(kind + "_rss", tag, language) }}" hreflang="{{ language }}" type="application/rss+xml">{{ messages('RSS feed', language) }} ({{ language }})</a> - </p> - {% endfor %} - {% elif generate_rss %} - <p class="feedlink"><a href="{{ _link(kind + "_rss", tag) }}" type="application/rss+xml">{{ messages('RSS feed') }}</a></p> - {% endif %} + {{ feeds_translations.feed_link(tag, kind=kind) }} </div> + {{ feeds_translations.translation_link(kind) }} </header> {% if posts %} - <ul class="postlist"> - {% for post in posts %} - <li><time class="listdate" datetime="{{ post.formatted_date('webiso') }}" title="{{ post.formatted_date(date_format)|e }}">{{ post.formatted_date(date_format)|e }}</time> <a href="{{ post.permalink() }}" class="listtitle">{{ post.title()|e }}<a></li> - {% endfor %} - </ul> + <ul class="postlist"> + {% for post in posts %} + <li><time class="listdate" datetime="{{ post.formatted_date('webiso') }}" title="{{ post.formatted_date(date_format)|e }}">{{ post.formatted_date(date_format)|e }}</time> <a href="{{ post.permalink() }}" class="listtitle">{{ post.title()|e }}<a></li> + {% endfor %} + </ul> {% endif %} </article> {% endblock %} diff --git a/nikola/data/themes/base-jinja/templates/tagindex.tmpl b/nikola/data/themes/base-jinja/templates/tagindex.tmpl index 624961d..8ea6a4b 100644 --- a/nikola/data/themes/base-jinja/templates/tagindex.tmpl +++ b/nikola/data/themes/base-jinja/templates/tagindex.tmpl @@ -1,5 +1,6 @@ {# -*- coding: utf-8 -*- #} {% extends 'index.tmpl' %} +{% import 'feeds_translations_helper.tmpl' as feeds_translations with context %} {% block content_header %} <header> @@ -15,16 +16,14 @@ {% endfor %} </ul> {% endif %} + <div class="metadata"> + {{ feeds_translations.feed_link(tag, kind) }} + {{ feeds_translations.translation_link(kind) }} + </div> </header> {% endblock %} {% block extra_head %} {{ super() }} - {% if translations|length > 1 and generate_atom %} - {% for language in translations|sort %} - <link rel="alternate" type="application/atom+xml" title="Atom for the {{ tag|e }} section ({{ language }})" href="{{ _link(kind + "_atom", tag, language) }}"> - {% endfor %} - {% elif generate_atom %} - <link rel="alternate" type="application/atom+xml" title="Atom for the {{ tag|e }} section" href="{{ _link("tag" + "_atom", tag) }}"> - {% endif %} + {{ feeds_translations.head(tag, kind, rss_override=False) }} {% endblock %} diff --git a/nikola/data/themes/base-jinja/templates/tags.tmpl b/nikola/data/themes/base-jinja/templates/tags.tmpl index 936ed21..931ee71 100644 --- a/nikola/data/themes/base-jinja/templates/tags.tmpl +++ b/nikola/data/themes/base-jinja/templates/tags.tmpl @@ -1,10 +1,18 @@ {# -*- coding: utf-8 -*- #} {% extends 'base.tmpl' %} +{% import 'feeds_translations_helper.tmpl' as feeds_translations with context %} + +{% block extra_head %} + {{ feeds_translations.head(kind=kind, feeds=False) }} +{% endblock %} {% block content %} <article class="tagindex"> <header> <h1>{{ title|e }}</h1> + <div class="metadata"> + {{ feeds_translations.translation_link(kind) }} + </div> </header> {% if cat_items %} {% if items %} diff --git a/nikola/data/themes/base-jinja/templates/crumbs.tmpl b/nikola/data/themes/base-jinja/templates/ui_helper.tmpl index 970d509..9eb5697 100644 --- a/nikola/data/themes/base-jinja/templates/crumbs.tmpl +++ b/nikola/data/themes/base-jinja/templates/ui_helper.tmpl @@ -1,6 +1,5 @@ {# -*- coding: utf-8 -*- #} - -{% macro bar(crumbs) %} +{% macro breadcrumbs(crumbs) %} {% if crumbs %} <nav class="breadcrumbs"> <ul class="breadcrumb"> diff --git a/nikola/data/themes/base/assets/css/baguetteBox.min.css b/nikola/data/themes/base/assets/css/baguetteBox.min.css new file mode 120000 index 0000000..601d72f --- /dev/null +++ b/nikola/data/themes/base/assets/css/baguetteBox.min.css @@ -0,0 +1 @@ +../../../../../../npm_assets/node_modules/baguettebox.js/dist/baguetteBox.min.css
\ No newline at end of file diff --git a/nikola/data/themes/base/assets/css/html4css1.css b/nikola/data/themes/base/assets/css/html4css1.css new file mode 100644 index 0000000..cc29335 --- /dev/null +++ b/nikola/data/themes/base/assets/css/html4css1.css @@ -0,0 +1 @@ +@import url("rst_base.css"); diff --git a/nikola/data/themes/base/assets/css/ipython.min.css b/nikola/data/themes/base/assets/css/ipython.min.css index f9934c2..c1c6bc4 100644 --- a/nikola/data/themes/base/assets/css/ipython.min.css +++ b/nikola/data/themes/base/assets/css/ipython.min.css @@ -2,8 +2,8 @@ * * IPython base * -*/.modal.fade .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}code{color:#000}pre{font-size:inherit;line-height:inherit}label{font-weight:normal}.border-box-sizing{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.corner-all{border-radius:2px}.no-padding{padding:0}.hbox{display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}.hbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;flex:none}.vbox{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}.vbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;flex:none}.hbox.reverse,.vbox.reverse,.reverse{-webkit-box-direction:reverse;-moz-box-direction:reverse;box-direction:reverse;flex-direction:row-reverse}.hbox.box-flex0,.vbox.box-flex0,.box-flex0{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;flex:none;width:auto}.hbox.box-flex1,.vbox.box-flex1,.box-flex1{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}.hbox.box-flex,.vbox.box-flex,.box-flex{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}.hbox.box-flex2,.vbox.box-flex2,.box-flex2{-webkit-box-flex:2;-moz-box-flex:2;box-flex:2;flex:2}.box-group1{-webkit-box-flex-group:1;-moz-box-flex-group:1;box-flex-group:1}.box-group2{-webkit-box-flex-group:2;-moz-box-flex-group:2;box-flex-group:2}.hbox.start,.vbox.start,.start{-webkit-box-pack:start;-moz-box-pack:start;box-pack:start;justify-content:flex-start}.hbox.end,.vbox.end,.end{-webkit-box-pack:end;-moz-box-pack:end;box-pack:end;justify-content:flex-end}.hbox.center,.vbox.center,.center{-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;justify-content:center}.hbox.baseline,.vbox.baseline,.baseline{-webkit-box-pack:baseline;-moz-box-pack:baseline;box-pack:baseline;justify-content:baseline}.hbox.stretch,.vbox.stretch,.stretch{-webkit-box-pack:stretch;-moz-box-pack:stretch;box-pack:stretch;justify-content:stretch}.hbox.align-start,.vbox.align-start,.align-start{-webkit-box-align:start;-moz-box-align:start;box-align:start;align-items:flex-start}.hbox.align-end,.vbox.align-end,.align-end{-webkit-box-align:end;-moz-box-align:end;box-align:end;align-items:flex-end}.hbox.align-center,.vbox.align-center,.align-center{-webkit-box-align:center;-moz-box-align:center;box-align:center;align-items:center}.hbox.align-baseline,.vbox.align-baseline,.align-baseline{-webkit-box-align:baseline;-moz-box-align:baseline;box-align:baseline;align-items:baseline}.hbox.align-stretch,.vbox.align-stretch,.align-stretch{-webkit-box-align:stretch;-moz-box-align:stretch;box-align:stretch;align-items:stretch}div.error{margin:2em;text-align:center}div.error>h1{font-size:500%;line-height:normal}div.error>p{font-size:200%;line-height:normal}div.traceback-wrapper{text-align:left;max-width:800px;margin:auto}/*! +*/.modal.fade .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}code{color:#000}pre{font-size:inherit;line-height:inherit}label{font-weight:normal}.border-box-sizing{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.corner-all{border-radius:2px}.no-padding{padding:0}.hbox{display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}.hbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;flex:none}.vbox{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}.vbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;flex:none}.hbox.reverse,.vbox.reverse,.reverse{-webkit-box-direction:reverse;-moz-box-direction:reverse;box-direction:reverse;flex-direction:row-reverse}.hbox.box-flex0,.vbox.box-flex0,.box-flex0{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;flex:none;width:auto}.hbox.box-flex1,.vbox.box-flex1,.box-flex1{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}.hbox.box-flex,.vbox.box-flex,.box-flex{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}.hbox.box-flex2,.vbox.box-flex2,.box-flex2{-webkit-box-flex:2;-moz-box-flex:2;box-flex:2;flex:2}.box-group1{-webkit-box-flex-group:1;-moz-box-flex-group:1;box-flex-group:1}.box-group2{-webkit-box-flex-group:2;-moz-box-flex-group:2;box-flex-group:2}.hbox.start,.vbox.start,.start{-webkit-box-pack:start;-moz-box-pack:start;box-pack:start;justify-content:flex-start}.hbox.end,.vbox.end,.end{-webkit-box-pack:end;-moz-box-pack:end;box-pack:end;justify-content:flex-end}.hbox.center,.vbox.center,.center{-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;justify-content:center}.hbox.baseline,.vbox.baseline,.baseline{-webkit-box-pack:baseline;-moz-box-pack:baseline;box-pack:baseline;justify-content:baseline}.hbox.stretch,.vbox.stretch,.stretch{-webkit-box-pack:stretch;-moz-box-pack:stretch;box-pack:stretch;justify-content:stretch}.hbox.align-start,.vbox.align-start,.align-start{-webkit-box-align:start;-moz-box-align:start;box-align:start;align-items:flex-start}.hbox.align-end,.vbox.align-end,.align-end{-webkit-box-align:end;-moz-box-align:end;box-align:end;align-items:flex-end}.hbox.align-center,.vbox.align-center,.align-center{-webkit-box-align:center;-moz-box-align:center;box-align:center;align-items:center}.hbox.align-baseline,.vbox.align-baseline,.align-baseline{-webkit-box-align:baseline;-moz-box-align:baseline;box-align:baseline;align-items:baseline}.hbox.align-stretch,.vbox.align-stretch,.align-stretch{-webkit-box-align:stretch;-moz-box-align:stretch;box-align:stretch;align-items:stretch}div.error{margin:2em;text-align:center}div.error>h1{font-size:500%;line-height:normal}div.error>p{font-size:200%;line-height:normal}div.traceback-wrapper{text-align:left;max-width:800px;margin:auto}div.traceback-wrapper pre.traceback{max-height:600px;overflow:auto}/*! * * IPython notebook * -*/.ansibold{font-weight:bold}.ansiblack{color:black}.ansired{color:darkred}.ansigreen{color:darkgreen}.ansiyellow{color:#c4a000}.ansiblue{color:darkblue}.ansipurple{color:darkviolet}.ansicyan{color:steelblue}.ansigray{color:gray}.ansibgblack{background-color:black}.ansibgred{background-color:red}.ansibggreen{background-color:green}.ansibgyellow{background-color:yellow}.ansibgblue{background-color:blue}.ansibgpurple{background-color:magenta}.ansibgcyan{background-color:cyan}.ansibggray{background-color:gray}div.cell{border:1px solid transparent;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;border-radius:2px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border-width:thin;border-style:solid;width:100%;padding:5px;margin:0;outline:none}div.cell.selected{border-color:#ababab}@media print{div.cell.selected{border-color:transparent}}.edit_mode div.cell.selected{border-color:green}@media print{.edit_mode div.cell.selected{border-color:transparent}}.prompt{min-width:14ex;padding:.4em;margin:0;font-family:monospace;text-align:right;line-height:1.21429em}@media (max-width:540px){.prompt{text-align:left}}div.inner_cell{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}@-moz-document url-prefix(){div.inner_cell{overflow-x:hidden}}div.input_area{border:1px solid #cfcfcf;border-radius:2px;background:#f7f7f7;line-height:1.21429em}div.prompt:empty{padding-top:0;padding-bottom:0}div.unrecognized_cell{padding:5px 5px 5px 0;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}div.unrecognized_cell .inner_cell{border-radius:2px;padding:5px;font-weight:bold;color:red;border:1px solid #cfcfcf;background:#eaeaea}div.unrecognized_cell .inner_cell a{color:inherit;text-decoration:none}div.unrecognized_cell .inner_cell a:hover{color:inherit;text-decoration:none}@media (max-width:540px){div.unrecognized_cell>div.prompt{display:none}}@media print{div.code_cell{page-break-inside:avoid}}div.input{page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}@media (max-width:540px){div.input{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}}div.input_prompt{color:navy;border-top:1px solid transparent}div.input_area>div.highlight{margin:.4em;border:none;padding:0;background-color:transparent}div.input_area>div.highlight>pre{margin:0;border:none;padding:0;background-color:transparent}.CodeMirror{line-height:1.21429em;font-size:14px;height:auto;background:none}.CodeMirror-scroll{overflow-y:hidden;overflow-x:auto}.CodeMirror-lines{padding:.4em}.CodeMirror-linenumber{padding:0 8px 0 4px}.CodeMirror-gutters{border-bottom-left-radius:2px;border-top-left-radius:2px}.CodeMirror pre{padding:0;border:0;border-radius:0}.highlight-base{color:#000}.highlight-variable{color:#000}.highlight-variable-2{color:#1a1a1a}.highlight-variable-3{color:#333}.highlight-string{color:#ba2121}.highlight-comment{color:#408080;font-style:italic}.highlight-number{color:#080}.highlight-atom{color:#88f}.highlight-keyword{color:#008000;font-weight:bold}.highlight-builtin{color:#008000}.highlight-error{color:#f00}.highlight-operator{color:#a2f;font-weight:bold}.highlight-meta{color:#a2f}.highlight-def{color:#00f}.highlight-string-2{color:#f50}.highlight-qualifier{color:#555}.highlight-bracket{color:#997}.highlight-tag{color:#170}.highlight-attribute{color:#00c}.highlight-header{color:blue}.highlight-quote{color:#090}.highlight-link{color:#00c}.cm-s-ipython span.cm-keyword{color:#008000;font-weight:bold}.cm-s-ipython span.cm-atom{color:#88f}.cm-s-ipython span.cm-number{color:#080}.cm-s-ipython span.cm-def{color:#00f}.cm-s-ipython span.cm-variable{color:#000}.cm-s-ipython span.cm-operator{color:#a2f;font-weight:bold}.cm-s-ipython span.cm-variable-2{color:#1a1a1a}.cm-s-ipython span.cm-variable-3{color:#333}.cm-s-ipython span.cm-comment{color:#408080;font-style:italic}.cm-s-ipython span.cm-string{color:#ba2121}.cm-s-ipython span.cm-string-2{color:#f50}.cm-s-ipython span.cm-meta{color:#a2f}.cm-s-ipython span.cm-qualifier{color:#555}.cm-s-ipython span.cm-builtin{color:#008000}.cm-s-ipython span.cm-bracket{color:#997}.cm-s-ipython span.cm-tag{color:#170}.cm-s-ipython span.cm-attribute{color:#00c}.cm-s-ipython span.cm-header{color:blue}.cm-s-ipython span.cm-quote{color:#090}.cm-s-ipython span.cm-link{color:#00c}.cm-s-ipython span.cm-error{color:#f00}.cm-s-ipython span.cm-tab{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);background-position:right;background-repeat:no-repeat}div.output_wrapper{position:relative;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;z-index:1}div.output_scroll{height:24em;width:100%;overflow:auto;border-radius:2px;-webkit-box-shadow:inset 0 2px 8px rgba(0,0,0,0.8);box-shadow:inset 0 2px 8px rgba(0,0,0,0.8);display:block}div.output_collapsed{margin:0;padding:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}div.out_prompt_overlay{height:100%;padding:0 .4em;position:absolute;border-radius:2px}div.out_prompt_overlay:hover{-webkit-box-shadow:inset 0 0 1px #000;box-shadow:inset 0 0 1px #000;background:rgba(240,240,240,0.5)}div.output_prompt{color:darkred}div.output_area{padding:0;page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}div.output_area .MathJax_Display{text-align:left !important}div.output_area .rendered_html table{margin-left:0;margin-right:0}div.output_area .rendered_html img{margin-left:0;margin-right:0}div.output_area img,div.output_area svg{max-width:100%;height:auto}div.output_area img.unconfined,div.output_area svg.unconfined{max-width:none}.output{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}@media (max-width:540px){div.output_area{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}}div.output_area pre{margin:0;padding:0;border:0;vertical-align:baseline;color:black;background-color:transparent;border-radius:0}div.output_subarea{overflow-x:auto;padding:.4em;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1;max-width:calc(100% - 14ex)}div.output_text{text-align:left;color:#000;line-height:1.21429em}div.output_stderr{background:#fdd}div.output_latex{text-align:left}div.output_javascript:empty{padding:0}.js-error{color:darkred}div.raw_input_container{font-family:monospace;padding-top:5px}input.raw_input{font-family:inherit;font-size:inherit;color:inherit;width:auto;vertical-align:baseline;padding:0 .25em;margin:0 .25em}input.raw_input:focus{box-shadow:none}p.p-space{margin-bottom:10px}div.output_unrecognized{padding:5px;font-weight:bold;color:red}div.output_unrecognized a{color:inherit;text-decoration:none}div.output_unrecognized a:hover{color:inherit;text-decoration:none}.rendered_html{color:#000}.rendered_html em{font-style:italic}.rendered_html strong{font-weight:bold}.rendered_html u{text-decoration:underline}.rendered_html :link{text-decoration:underline}.rendered_html :visited{text-decoration:underline}.rendered_html h1{font-size:185.7%;margin:1.08em 0 0 0;font-weight:bold;line-height:1}.rendered_html h2{font-size:157.1%;margin:1.27em 0 0 0;font-weight:bold;line-height:1}.rendered_html h3{font-size:128.6%;margin:1.55em 0 0 0;font-weight:bold;line-height:1}.rendered_html h4{font-size:100%;margin:2em 0 0 0;font-weight:bold;line-height:1}.rendered_html h5{font-size:100%;margin:2em 0 0 0;font-weight:bold;line-height:1;font-style:italic}.rendered_html h6{font-size:100%;margin:2em 0 0 0;font-weight:bold;line-height:1;font-style:italic}.rendered_html h1:first-child{margin-top:.538em}.rendered_html h2:first-child{margin-top:.636em}.rendered_html h3:first-child{margin-top:.777em}.rendered_html h4:first-child{margin-top:1em}.rendered_html h5:first-child{margin-top:1em}.rendered_html h6:first-child{margin-top:1em}.rendered_html ul{list-style:disc;margin:0 2em;padding-left:0}.rendered_html ul ul{list-style:square;margin:0 2em}.rendered_html ul ul ul{list-style:circle;margin:0 2em}.rendered_html ol{list-style:decimal;margin:0 2em;padding-left:0}.rendered_html ol ol{list-style:upper-alpha;margin:0 2em}.rendered_html ol ol ol{list-style:lower-alpha;margin:0 2em}.rendered_html ol ol ol ol{list-style:lower-roman;margin:0 2em}.rendered_html ol ol ol ol ol{list-style:decimal;margin:0 2em}.rendered_html *+ul{margin-top:1em}.rendered_html *+ol{margin-top:1em}.rendered_html hr{color:black;background-color:black}.rendered_html pre{margin:1em 2em}.rendered_html pre,.rendered_html code{border:0;background-color:#fff;color:#000;font-size:100%;padding:0}.rendered_html blockquote{margin:1em 2em}.rendered_html table{margin-left:auto;margin-right:auto;border:1px solid black;border-collapse:collapse}.rendered_html tr,.rendered_html th,.rendered_html td{border:1px solid black;border-collapse:collapse;margin:1em 2em}.rendered_html td,.rendered_html th{text-align:left;vertical-align:middle;padding:4px}.rendered_html th{font-weight:bold}.rendered_html *+table{margin-top:1em}.rendered_html p{text-align:left}.rendered_html *+p{margin-top:1em}.rendered_html img{display:block;margin-left:auto;margin-right:auto}.rendered_html *+img{margin-top:1em}.rendered_html img,.rendered_html svg{max-width:100%;height:auto}.rendered_html img.unconfined,.rendered_html svg.unconfined{max-width:none}div.text_cell{display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}@media (max-width:540px){div.text_cell>div.prompt{display:none}}div.text_cell_render{outline:none;resize:none;width:inherit;border-style:none;padding:.5em .5em .5em .4em;color:#000;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}a.anchor-link:link{text-decoration:none;padding:0 20px;visibility:hidden}h1:hover .anchor-link,h2:hover .anchor-link,h3:hover .anchor-link,h4:hover .anchor-link,h5:hover .anchor-link,h6:hover .anchor-link{visibility:visible}.text_cell.rendered .input_area{display:none}.text_cell.rendered .rendered_html{overflow-x:auto}.text_cell.unrendered .text_cell_render{display:none}.cm-header-1,.cm-header-2,.cm-header-3,.cm-header-4,.cm-header-5,.cm-header-6{font-weight:bold;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.cm-header-1{font-size:185.7%}.cm-header-2{font-size:157.1%}.cm-header-3{font-size:128.6%}.cm-header-4{font-size:110%}.cm-header-5{font-size:100%;font-style:italic}.cm-header-6{font-size:100%;font-style:italic}.widget-interact>div,.widget-interact>input{padding:2.5px}.widget-area{page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}.widget-area .widget-subarea{padding:.44em .4em .4em 1px;margin-left:6px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;-webkit-box-flex:2;-moz-box-flex:2;box-flex:2;flex:2;-webkit-box-align:start;-moz-box-align:start;box-align:start;align-items:flex-start}.widget-area.connection-problems .prompt:after{content:"\f127";font-family:'FontAwesome';color:#d9534f;font-size:14px;top:3px;padding:3px}.slide-track{border:1px solid #ccc;background:#fff;border-radius:2px}.widget-hslider{padding-left:8px;padding-right:2px;overflow:visible;width:350px;height:5px;max-height:5px;margin-top:13px;margin-bottom:10px;border:1px solid #ccc;background:#fff;border-radius:2px;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}.widget-hslider .ui-slider{border:0;background:none;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}.widget-hslider .ui-slider .ui-slider-handle{width:12px;height:28px;margin-top:-8px;border-radius:2px}.widget-hslider .ui-slider .ui-slider-range{height:12px;margin-top:-4px;background:#eee}.widget-vslider{padding-bottom:5px;overflow:visible;width:5px;max-width:5px;height:250px;margin-left:12px;border:1px solid #ccc;background:#fff;border-radius:2px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}.widget-vslider .ui-slider{border:0;background:none;margin-left:-4px;margin-top:5px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}.widget-vslider .ui-slider .ui-slider-handle{width:28px;height:12px;margin-left:-9px;border-radius:2px}.widget-vslider .ui-slider .ui-slider-range{width:12px;margin-left:-1px;background:#eee}.widget-text{width:350px;margin:0}.widget-listbox{width:350px;margin-bottom:0}.widget-numeric-text{width:150px;margin:0}.widget-progress{margin-top:6px;min-width:350px}.widget-progress .progress-bar{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}.widget-combo-btn{min-width:125px}.widget_item .dropdown-menu li a{color:inherit}.widget-hbox{display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}.widget-hbox input[type="checkbox"]{margin-top:9px;margin-bottom:10px}.widget-hbox .widget-label{min-width:10ex;padding-right:8px;padding-top:5px;text-align:right;vertical-align:text-top}.widget-hbox .widget-readout{padding-left:8px;padding-top:5px;text-align:left;vertical-align:text-top}.widget-vbox{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}.widget-vbox .widget-label{padding-bottom:5px;text-align:center;vertical-align:text-bottom}.widget-vbox .widget-readout{padding-top:5px;text-align:center;vertical-align:text-top}.widget-box{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-box-align:start;-moz-box-align:start;box-align:start;align-items:flex-start}.widget-radio-box{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding-top:4px}.widget-radio-box label{margin-top:0;margin-left:20px}/*# sourceMappingURL=ipython.min.css.map */
\ No newline at end of file +*/.ansi-black-fg{color:#3e424d}.ansi-black-bg{background-color:#3e424d}.ansi-black-intense-fg{color:#282c36}.ansi-black-intense-bg{background-color:#282c36}.ansi-red-fg{color:#e75c58}.ansi-red-bg{background-color:#e75c58}.ansi-red-intense-fg{color:#b22b31}.ansi-red-intense-bg{background-color:#b22b31}.ansi-green-fg{color:#00a250}.ansi-green-bg{background-color:#00a250}.ansi-green-intense-fg{color:#007427}.ansi-green-intense-bg{background-color:#007427}.ansi-yellow-fg{color:#ddb62b}.ansi-yellow-bg{background-color:#ddb62b}.ansi-yellow-intense-fg{color:#b27d12}.ansi-yellow-intense-bg{background-color:#b27d12}.ansi-blue-fg{color:#208ffb}.ansi-blue-bg{background-color:#208ffb}.ansi-blue-intense-fg{color:#0065ca}.ansi-blue-intense-bg{background-color:#0065ca}.ansi-magenta-fg{color:#d160c4}.ansi-magenta-bg{background-color:#d160c4}.ansi-magenta-intense-fg{color:#a03196}.ansi-magenta-intense-bg{background-color:#a03196}.ansi-cyan-fg{color:#60c6c8}.ansi-cyan-bg{background-color:#60c6c8}.ansi-cyan-intense-fg{color:#258f8f}.ansi-cyan-intense-bg{background-color:#258f8f}.ansi-white-fg{color:#c5c1b4}.ansi-white-bg{background-color:#c5c1b4}.ansi-white-intense-fg{color:#a1a6b2}.ansi-white-intense-bg{background-color:#a1a6b2}.ansi-bold{font-weight:bold}.ansi-underline{text-decoration:underline}.ansi-inverse{outline:.5px dotted}.ansibold{font-weight:bold}.ansiblack{color:black}.ansired{color:darkred}.ansigreen{color:darkgreen}.ansiyellow{color:#c4a000}.ansiblue{color:darkblue}.ansipurple{color:darkviolet}.ansicyan{color:steelblue}.ansigray{color:gray}.ansibgblack{background-color:black}.ansibgred{background-color:red}.ansibggreen{background-color:green}.ansibgyellow{background-color:yellow}.ansibgblue{background-color:blue}.ansibgpurple{background-color:magenta}.ansibgcyan{background-color:cyan}.ansibggray{background-color:gray}div.cell{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;border-radius:2px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border-width:1px;border-style:solid;border-color:transparent;width:100%;padding:5px;margin:0;outline:0;position:relative;overflow:visible}div.cell:before{position:absolute;display:block;top:-1px;left:-1px;width:5px;height:calc(100%+2px);content:'';background:transparent}div.cell.jupyter-soft-selected{border-left-color:#e3f2fd;border-left-width:1px;padding-left:5px;border-right-color:#e3f2fd;border-right-width:1px;background:#e3f2fd}@media print{div.cell.jupyter-soft-selected{border-color:transparent}}div.cell.selected,div.cell.selected.jupyter-soft-selected{border-color:#ababab}div.cell.selected:before,div.cell.selected.jupyter-soft-selected:before{position:absolute;display:block;top:-1px;left:-1px;width:5px;height:calc(100%+2px);content:'';background:#42a5f5}@media print{div.cell.selected,div.cell.selected.jupyter-soft-selected{border-color:transparent}}.edit_mode div.cell.selected{border-color:#66bb6a}.edit_mode div.cell.selected:before{position:absolute;display:block;top:-1px;left:-1px;width:5px;height:calc(100%+2px);content:'';background:#66bb6a}@media print{.edit_mode div.cell.selected{border-color:transparent}}.prompt{min-width:14ex;padding:.4em;margin:0;font-family:monospace;text-align:right;line-height:1.21429em;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}@media(max-width:540px){.prompt{text-align:left}}div.inner_cell{min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}div.input_area>div.highlight>pre{border:1px solid #cfcfcf;line-height:1.21429em}div.prompt:empty{padding-top:0;padding-bottom:0}div.unrecognized_cell{padding:5px 5px 5px 0;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}div.unrecognized_cell .inner_cell{border-radius:2px;padding:5px;font-weight:bold;color:red;border:1px solid #cfcfcf;background:#eaeaea}div.unrecognized_cell .inner_cell a{color:inherit;text-decoration:none}div.unrecognized_cell .inner_cell a:hover{color:inherit;text-decoration:none}@media(max-width:540px){div.unrecognized_cell>div.prompt{display:none}}@media print{div.code_cell{page-break-inside:avoid}}div.input{page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}@media(max-width:540px){div.input{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}}div.input_prompt{color:#303f9f;border-top:1px solid transparent}div.input_area>div.highlight{margin:0;border:0;padding:0;background-color:transparent}div.input_area>div.highlight>pre{margin:0;border:0;padding:.4em}.CodeMirror{line-height:1.21429em;font-size:14px;height:auto;background:0}.CodeMirror-scroll{overflow-y:hidden;overflow-x:auto}.CodeMirror-lines{padding:.4em}.CodeMirror-linenumber{padding:0 8px 0 4px}.CodeMirror-gutters{border-bottom-left-radius:2px;border-top-left-radius:2px}.CodeMirror pre{padding:0;border:0;border-radius:0}.highlight-base{color:#000}.highlight-variable{color:#000}.highlight-variable-2{color:#1a1a1a}.highlight-variable-3{color:#333}.highlight-string{color:#ba2121}.highlight-comment{color:#408080;font-style:italic}.highlight-number{color:#080}.highlight-atom{color:#88F}.highlight-keyword{color:#008000;font-weight:bold}.highlight-builtin{color:#008000}.highlight-error{color:red}.highlight-operator{color:#a2f;font-weight:bold}.highlight-meta{color:#a2f}.highlight-def{color:#00f}.highlight-string-2{color:#f50}.highlight-qualifier{color:#555}.highlight-bracket{color:#997}.highlight-tag{color:#170}.highlight-attribute{color:#00c}.highlight-header{color:blue}.highlight-quote{color:#090}.highlight-link{color:#00c}.cm-s-ipython span.cm-keyword{color:#008000;font-weight:bold}.cm-s-ipython span.cm-atom{color:#88F}.cm-s-ipython span.cm-number{color:#080}.cm-s-ipython span.cm-def{color:#00f}.cm-s-ipython span.cm-variable{color:#000}.cm-s-ipython span.cm-operator{color:#a2f;font-weight:bold}.cm-s-ipython span.cm-variable-2{color:#1a1a1a}.cm-s-ipython span.cm-variable-3{color:#333}.cm-s-ipython span.cm-comment{color:#408080;font-style:italic}.cm-s-ipython span.cm-string{color:#ba2121}.cm-s-ipython span.cm-string-2{color:#f50}.cm-s-ipython span.cm-meta{color:#a2f}.cm-s-ipython span.cm-qualifier{color:#555}.cm-s-ipython span.cm-builtin{color:#008000}.cm-s-ipython span.cm-bracket{color:#997}.cm-s-ipython span.cm-tag{color:#170}.cm-s-ipython span.cm-attribute{color:#00c}.cm-s-ipython span.cm-header{color:blue}.cm-s-ipython span.cm-quote{color:#090}.cm-s-ipython span.cm-link{color:#00c}.cm-s-ipython span.cm-error{color:red}.cm-s-ipython span.cm-tab{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);background-position:right;background-repeat:no-repeat}div.output_wrapper{position:relative;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;z-index:1}div.output_scroll{height:24em;width:100%;overflow:auto;border-radius:2px;-webkit-box-shadow:inset 0 2px 8px rgba(0,0,0,0.8);box-shadow:inset 0 2px 8px rgba(0,0,0,0.8);display:block}div.output_collapsed{margin:0;padding:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}div.out_prompt_overlay{height:100%;padding:0 .4em;position:absolute;border-radius:2px}div.out_prompt_overlay:hover{-webkit-box-shadow:inset 0 0 1px #000;box-shadow:inset 0 0 1px #000;background:rgba(240,240,240,0.5)}div.output_prompt{color:#d84315}div.output_area{padding:0;page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}div.output_area .MathJax_Display{text-align:left !important}div.output_area .rendered_html table{margin-left:0;margin-right:0}div.output_area .rendered_html img{margin-left:0;margin-right:0}div.output_area img,div.output_area svg{max-width:100%;height:auto}div.output_area img.unconfined,div.output_area svg.unconfined{max-width:none}div.output_area .mglyph>img{max-width:none}.output{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}@media(max-width:540px){div.output_area{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}}div.output_area pre{margin:0;padding:0;border:0;vertical-align:baseline;color:black;background-color:transparent;border-radius:0}div.output_subarea{overflow-x:auto;padding:.4em;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1;max-width:calc(100% - 14ex)}div.output_scroll div.output_subarea{overflow-x:visible}div.output_text{text-align:left;color:#000;line-height:1.21429em}div.output_stderr{background:#fdd}div.output_latex{text-align:left}div.output_javascript:empty{padding:0}.js-error{color:darkred}div.raw_input_container{line-height:1.21429em;padding-top:5px}input.raw_input{font-family:monospace;font-size:inherit;color:inherit;width:auto;vertical-align:baseline;padding:0 .25em;margin:0 .25em}input.raw_input:focus{box-shadow:none}p.p-space{margin-bottom:10px}div.output_unrecognized{padding:5px;font-weight:bold;color:red}div.output_unrecognized a{color:inherit;text-decoration:none}div.output_unrecognized a:hover{color:inherit;text-decoration:none}.rendered_html{color:#000}.rendered_html em{font-style:italic}.rendered_html strong{font-weight:bold}.rendered_html u{text-decoration:underline}.rendered_html :link{text-decoration:underline}.rendered_html :visited{text-decoration:underline}.rendered_html h1{font-size:185.7%;margin:1.08em 0 0 0;font-weight:bold;line-height:1.0}.rendered_html h2{font-size:157.1%;margin:1.27em 0 0 0;font-weight:bold;line-height:1.0}.rendered_html h3{font-size:128.6%;margin:1.55em 0 0 0;font-weight:bold;line-height:1.0}.rendered_html h4{font-size:100%;margin:2em 0 0 0;font-weight:bold;line-height:1.0}.rendered_html h5{font-size:100%;margin:2em 0 0 0;font-weight:bold;line-height:1.0;font-style:italic}.rendered_html h6{font-size:100%;margin:2em 0 0 0;font-weight:bold;line-height:1.0;font-style:italic}.rendered_html h1:first-child{margin-top:.538em}.rendered_html h2:first-child{margin-top:.636em}.rendered_html h3:first-child{margin-top:.777em}.rendered_html h4:first-child{margin-top:1em}.rendered_html h5:first-child{margin-top:1em}.rendered_html h6:first-child{margin-top:1em}.rendered_html ul:not(.list-inline),.rendered_html ol:not(.list-inline){padding-left:2em}.rendered_html ul{list-style:disc}.rendered_html ul ul{list-style:square}.rendered_html ul ul ul{list-style:circle}.rendered_html ol{list-style:decimal}.rendered_html ol ol{list-style:upper-alpha}.rendered_html ol ol ol{list-style:lower-alpha}.rendered_html ol ol ol ol{list-style:lower-roman}.rendered_html ol ol ol ol ol{list-style:decimal}.rendered_html *+ul{margin-top:1em}.rendered_html *+ol{margin-top:1em}.rendered_html hr{color:black;background-color:black}.rendered_html pre{margin:1em 2em}.rendered_html pre,.rendered_html code{border:0;background-color:#fff;color:#000;font-size:100%;padding:0}.rendered_html blockquote{margin:1em 2em}.rendered_html table{margin-left:auto;margin-right:auto;border:0;border-collapse:collapse;border-spacing:0;color:black;font-size:12px;table-layout:fixed}.rendered_html thead{border-bottom:1px solid black;vertical-align:bottom}.rendered_html tr,.rendered_html th,.rendered_html td{text-align:right;vertical-align:middle;padding:.5em .5em;line-height:normal;white-space:normal;max-width:none;border:0}.rendered_html th{font-weight:bold}.rendered_html tbody tr:nth-child(odd){background:#f5f5f5}.rendered_html tbody tr:hover{background:rgba(66,165,245,0.2)}.rendered_html *+table{margin-top:1em}.rendered_html p{text-align:left}.rendered_html *+p{margin-top:1em}.rendered_html img{display:block;margin-left:auto;margin-right:auto}.rendered_html *+img{margin-top:1em}.rendered_html img,.rendered_html svg{max-width:100%;height:auto}.rendered_html img.unconfined,.rendered_html svg.unconfined{max-width:none}.rendered_html .alert{margin-bottom:initial}.rendered_html *+.alert{margin-top:1em}div.text_cell{display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}@media(max-width:540px){div.text_cell>div.prompt{display:none}}div.text_cell_render{outline:0;resize:none;width:inherit;border-style:none;padding:.5em .5em .5em .4em;color:#000;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}a.anchor-link:link{text-decoration:none;padding:0 20px;visibility:hidden}h1:hover .anchor-link,h2:hover .anchor-link,h3:hover .anchor-link,h4:hover .anchor-link,h5:hover .anchor-link,h6:hover .anchor-link{visibility:visible}.text_cell.rendered .input_area{display:none}.text_cell.rendered .rendered_html{overflow-x:auto;overflow-y:hidden}.text_cell.rendered .rendered_html tr,.text_cell.rendered .rendered_html th,.text_cell.rendered .rendered_html td{max-width:none}.text_cell.unrendered .text_cell_render{display:none}.text_cell .dropzone .input_area{border:2px dashed #bababa;margin:-1px}.cm-header-1,.cm-header-2,.cm-header-3,.cm-header-4,.cm-header-5,.cm-header-6{font-weight:bold;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.cm-header-1{font-size:185.7%}.cm-header-2{font-size:157.1%}.cm-header-3{font-size:128.6%}.cm-header-4{font-size:110%}.cm-header-5{font-size:100%;font-style:italic}.cm-header-6{font-size:100%;font-style:italic} diff --git a/nikola/data/themes/base/assets/css/ipython.min.css.map b/nikola/data/themes/base/assets/css/ipython.min.css.map deleted file mode 100644 index 3e36e5e..0000000 --- a/nikola/data/themes/base/assets/css/ipython.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../base/less/variables.less","../components/bootstrap/less/mixins/vendor-prefixes.less","../base/less/mixins.less","../base/less/flexbox.less","../base/less/error.less","../notebook/less/ansicolors.less","../notebook/less/cell.less","../notebook/less/codecell.less","../notebook/less/codemirror.less","../notebook/less/highlight.less","../components/codemirror/lib/codemirror.css","../notebook/less/outputarea.less","../notebook/less/renderedhtml.less","../notebook/less/textcell.less","../components/bootstrap/less/variables.less","../widgets/less/widgets.less","../components/font-awesome/less/variables.less"],"names":[],"mappings":";;;;EAqBE,MAAC,KAAM,eCyHP,kBAAmB,eAAnB,CACI,cAAe,eAAf,CACC,aAAc,eAAd,CACG,UAAW,gBDtHrB,KACE,WAIF,IAGE,iBAAA,CACA,oBAIF,MACI,mBEvCJ,mBACI,qBAAA,CACA,0BAAA,CACA,8BAGJ,YACI,kBAOJ,YACI,UCGJ,MAEI,mBAAA,CACA,6BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,0BAAA,CACA,sBAAA,CAEA,WAAA,CACA,qBAAA,CACA,iBAAA,CAGA,YAAA,CACA,kBAAA,CACA,oBAGJ,KAAM,GAEF,kBAAA,CACA,eAAA,CACA,UAAA,CAGA,UAGJ,MAEI,mBAAA,CACA,2BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,wBAAA,CACA,sBAAA,CAEA,WAAA,CACA,mBAAA,CACA,iBAAA,CAGA,YAAA,CACA,qBAAA,CACA,oBAGJ,KAAM,GAEF,kBAAA,CACA,eAAA,CACA,UAAA,CAGA,UAGJ,KAAK,SACL,KAAK,SACL,SAEI,6BAAA,CACA,0BAAA,CACA,qBAAA,CAGA,2BAGJ,KAAK,WACL,KAAK,WACL,WAEI,kBAAA,CACA,eAAA,CACA,UAAA,CAGA,SAAA,CACA,WAGJ,KAAK,WACL,KAAK,WACL,WAEI,kBAAA,CACA,eAAA,CACA,UAAA,CAGA,OAGJ,KAAK,UACL,KAAK,UACL,UAVI,kBAAA,CACA,eAAA,CACA,UAAA,CAGA,OAUJ,KAAK,WACL,KAAK,WACL,WAEI,kBAAA,CACA,eAAA,CACA,UAAA,CAGA,OAGJ,YAEI,wBAAA,CACA,qBAAA,CACA,iBAGJ,YAEI,wBAAA,CACA,qBAAA,CACA,iBAGJ,KAAK,OACL,KAAK,OACL,OAEI,sBAAA,CACA,mBAAA,CACA,cAAA,CAGA,2BAGJ,KAAK,KACL,KAAK,KACL,KAEI,oBAAA,CACA,iBAAA,CACA,YAAA,CAGA,yBAGJ,KAAK,QACL,KAAK,QACL,QAEI,uBAAA,CACA,oBAAA,CACA,eAAA,CAGA,uBAGJ,KAAK,UACL,KAAK,UACL,UAEI,yBAAA,CACA,sBAAA,CACA,iBAAA,CAGA,yBAGJ,KAAK,SACL,KAAK,SACL,SAEI,wBAAA,CACA,qBAAA,CACA,gBAAA,CAGA,wBAGJ,KAAK,aACL,KAAK,aACL,aAEI,uBAAA,CACA,oBAAA,CACA,eAAA,CAGA,uBAGJ,KAAK,WACL,KAAK,WACL,WAEI,qBAAA,CACA,kBAAA,CACA,aAAA,CAGA,qBAGJ,KAAK,cACL,KAAK,cACL,cAEI,wBAAA,CACA,qBAAA,CACA,gBAAA,CAGA,mBAGJ,KAAK,gBACL,KAAK,gBACL,gBAEI,0BAAA,CACA,uBAAA,CACA,kBAAA,CAGA,qBAGJ,KAAK,eACL,KAAK,eACL,eAEI,yBAAA,CACA,sBAAA,CACA,iBAAA,CAGA,oBC3QJ,GAAG,OACD,UAAA,CACA,kBAGF,GAAG,MAAO,IACN,cAAA,CACA,mBAGJ,GAAG,MAAO,GACN,cAAA,CACA,mBAGJ,GAAG,mBACC,eAAA,CACA,eAAA,CACA;;;;EChBJ,UAAW,iBAGX,WAAY,YACZ,SAAU,cACV,WAAY,gBACZ,YAAa,cACb,UAAW,eACX,YAAa,iBACb,UAAW,gBACX,UAAW,WAGX,aAAc,uBACd,WAAY,qBACZ,aAAc,uBACd,cAAe,wBACf,YAAa,sBACb,cAAe,yBACf,YAAa,sBACb,YAAa,sBCtBb,GAAG,MACC,4BAAA,CHmDA,mBAAA,CACA,2BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,wBAAA,CACA,sBAAA,CAEA,WAAA,CACA,mBAAA,CACA,iBAAA,CAGA,YAAA,CACA,qBAAA,CACA,mBAAA,CD1DA,iBAAA,CANA,qBAAA,CACA,0BAAA,CACA,6BAAA,CIAA,iBAAA,CACA,kBAAA,CAkBA,UAAA,CACA,WAAA,CAEA,QAAA,CACA,aApBA,GARD,KAQE,UACG,qBAKJ,aAAA,GAdD,KAQE,UAIO,0BAIR,UAAW,IAhBZ,KAgBa,UACR,mBAKJ,aAAA,UANW,IAhBZ,KAgBa,UAIJ,0BAWZ,QAEI,cAAA,CAEA,YAAA,CACA,QAAA,CACA,qBAAA,CACA,gBAAA,CAEA,sBAWJ,QARmC,iBAG/B,QACI,iBAIR,GAAG,YHCC,mBAAA,CACA,2BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,wBAAA,CACA,sBAAA,CAEA,WAAA,CACA,mBAAA,CACA,iBAAA,CAGA,YAAA,CACA,qBAAA,CACA,mBAAA,CA0CA,kBAAA,CACA,eAAA,CACA,UAAA,CAGA,OG1DJ,4BACI,GAAG,YAGC,mBAKR,GAAG,YACC,wBAAA,CJzDA,iBAAA,CI2DA,kBAAA,CACA,sBAMJ,GAAG,OAAO,OACN,aAAA,CACA,iBAGJ,GAAG,mBAEC,qBAAA,CH5DA,mBAAA,CACA,6BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,0BAAA,CACA,sBAAA,CAEA,WAAA,CACA,qBAAA,CACA,iBAAA,CAGA,YAAA,CACA,kBAAA,CACA,oBG2CJ,GAAG,kBAKC,aJxEF,iBAAA,CI0EM,WAAA,CACA,gBAAA,CACA,SAAA,CACA,wBAAA,CACA,mBAXR,GAAG,kBAKC,YAQI,GACI,aAAA,CACA,qBAEA,GAjBT,kBAKC,YAQI,EAIK,OACG,aAAA,CACA,qBAWhB,QANmC,iBAE/B,GAAG,kBAAmB,IAAK,QACvB,cCtGR,aAAA,GALG,WAGK,yBAQR,GAAG,OACC,uBAAA,CJUA,mBAAA,CACA,6BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,0BAAA,CACA,sBAAA,CAEA,WAAA,CACA,qBAAA,CACA,iBAAA,CAGA,YAAA,CACA,kBAAA,CACA,oBIbJ,QARmC,iBAE/B,GAAG,OJkCH,mBAAA,CACA,2BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,wBAAA,CACA,sBAAA,CAEA,WAAA,CACA,mBAAA,CACA,iBAAA,CAGA,YAAA,CACA,qBAAA,CACA,qBI3CJ,GAAG,cACC,UAAA,CACA,iCAQJ,GAAG,WAAY,IAAK,WAChB,WAAA,CACA,WAAA,CACA,SAAA,CACA,6BAGJ,GAAG,WAAY,IAAK,UAAW,KAC3B,QAAA,CACA,WAAA,CACA,SAAA,CACA,6BClCJ,YACI,qBAAA,CACA,cAAA,CACA,WAAA,CACA,gBAGJ,mBAGI,iBAAA,CACA,gBAGJ,kBAGI,aAGJ,uBAGI,oBAGJ,oBAGI,6BAAA,CACA,2BAGJ,WAAY,KAGR,SAAA,CACA,QAAA,CNnCF,gBOFF,gBACE,WAGF,oBAHE,WAOF,sBACE,cAGF,sBACE,WAGF,kBACE,cAGF,mBACE,aAAA,CACA,kBAGF,kBACE,WAGF,gBACE,WAGF,mBACE,aAAA,CACA,iBAGF,mBACE,cAGF,iBACE,WAGF,oBACE,UAAA,CACA,iBAGF,gBACE,WAIF,eC8BuB,WD3BvB,oBCoC4B,WDnC5B,qBCqC6B,WDpC7B,mBCsC2B,WDrC3B,eCsCuB,WDrCvB,qBCsC6B,WDrC7B,kBCsC0B,WDrC1B,iBCsCyB,WDrCzB,gBCuCwB,WDlCtB,aADY,KACX,YArCD,aAAA,CACA,iBAqCA,aAFY,KAEX,SA1CD,WA2CA,aAHY,KAGX,WA/CD,WAgDA,aAJY,KAIX,QCYoB,WDXrB,aALY,KAKX,aA1ED,WA6EA,aARY,KAQX,aA/BD,UAAA,CACA,iBA+BA,aATY,KASX,eAtED,cAuEA,aAVY,KAUX,eAnED,WAoEA,aAXY,KAWX,YA5DD,aAAA,CACA,kBA4DA,aAZY,KAYX,WAjED,cAkEA,aAbY,KAaX,aCYyB,WDX1B,aAdY,KAcX,SAhCD,WAiCA,aAfY,KAeX,cCY0B,WDX3B,aAhBY,KAgBX,YA/CD,cAgDA,aAjBY,KAiBX,YCYwB,WDXzB,aAlBY,KAkBX,QCYoB,WDXrB,aAnBY,KAmBX,cCY0B,WDX3B,aApBY,KAoBX,WCYuB,WDXxB,aArBY,KAqBX,UCYsB,WDXvB,aAtBY,KAsBX,SCaqB,WDZtB,aAvBY,KAuBX,UAlDD,WAoDA,aAzBY,KAyBX,QACC,sQAAA,CACA,yBAAA,CACA,4BE7GJ,GAAG,gBAEC,iBAAA,CRkDA,mBAAA,CACA,2BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,wBAAA,CACA,sBAAA,CAEA,WAAA,CACA,mBAAA,CACA,iBAAA,CAGA,YAAA,CACA,qBAAA,CACA,mBAAA,CQ9DA,UAIJ,GAAG,eAEC,WAAA,CAEA,UAAA,CAEA,aAAA,CTNA,iBAAA,CD2DF,kDAAA,CACQ,0CAAA,CUnDN,cAIJ,GAAG,kBACC,QAAA,CACA,SAAA,CR4BA,mBAAA,CACA,2BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,wBAAA,CACA,sBAAA,CAEA,WAAA,CACA,mBAAA,CACA,iBAAA,CAGA,YAAA,CACA,qBAAA,CACA,oBQvCJ,GAAG,oBACC,WAAA,CACA,cAAA,CACA,iBAAA,CTtBA,kBS0BJ,GAAG,mBAAmB,OViCpB,qCAAA,CACQ,6BAAA,CU/BN,iCAGJ,GAAG,eACC,cAIJ,GAAG,aACC,SAAA,CACA,uBAAA,CR1BA,mBAAA,CACA,6BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,0BAAA,CACA,sBAAA,CAEA,WAAA,CACA,qBAAA,CACA,iBAAA,CAGA,YAAA,CACA,kBAAA,CACA,oBQSJ,GAAG,YAKC,kBAEI,eAAA,YAPR,GAAG,YAUC,eAEI,OACI,aAAA,CACA,eAdZ,GAAG,YAUC,eAOI,KACI,aAAA,CACA,eAnBZ,GAAG,YAuBC,KAvBJ,GAAG,YAuBM,KACD,cAAA,CACA,YACA,GA1BL,YAuBC,IAGK,YAAD,GA1BL,YAuBM,IAGA,YACG,eAOZ,QR5BI,mBAAA,CACA,2BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,wBAAA,CACA,sBAAA,CAEA,WAAA,CACA,mBAAA,CACA,iBAAA,CAGA,YAAA,CACA,qBAAA,CACA,oBQwBJ,QAPmC,iBAE/B,GAAG,aRlCH,mBAAA,CACA,2BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,wBAAA,CACA,sBAAA,CAEA,WAAA,CACA,mBAAA,CACA,iBAAA,CAGA,YAAA,CACA,qBAAA,CACA,qBQwBJ,GAAG,YAAa,KACZ,QAAA,CACA,SAAA,CACA,QAAA,CACA,uBAAA,CACA,WAAA,CACA,4BAAA,CTpFF,gBS0FF,GAAG,gBAEC,eAAA,CACA,YAAA,CRGA,kBAAA,CACA,eAAA,CACA,UAAA,CAGA,MAAA,CQLA,UAAW,kBAOf,GAAG,aACC,eAAA,CACA,UAAA,CAEA,sBAUJ,GAAG,eACC,gBAGJ,GAAG,cACC,gBAaJ,GAAG,kBAAkB,OACjB,UAGJ,UACI,cAKJ,GAAG,qBACC,qBAAA,CAGA,gBAOJ,KAAK,WACD,mBAAA,CACA,iBAAA,CACA,aAAA,CACA,UAAA,CAEA,uBAAA,CAEA,eAAA,CACA,eAGJ,KAAK,UAAU,OACX,gBAGJ,CAAC,SACG,mBAGJ,GAAG,qBACD,WAAA,CACA,gBAAA,CACA,UAHF,GAAG,oBAKD,GACI,aAAA,CACA,qBAEA,GATH,oBAKD,EAIK,OACG,aAAA,CACA,qBCxMV,eAEI,WAFJ,cAGI,IAAI,kBAHR,cAII,QAAQ,iBAJZ,cAKI,GAAG,0BALP,cAMI,OAAO,0BANX,cAOI,UAAU,0BAPd,cAYI,IAAI,gBAAA,CAAmB,mBAAA,CAAsB,gBAAA,CAAmB,cAZpE,cAaI,IAAI,gBAAA,CAAmB,mBAAA,CAAsB,gBAAA,CAAmB,cAbpE,cAcI,IAAI,gBAAA,CAAmB,mBAAA,CAAsB,gBAAA,CAAmB,cAdpE,cAeI,IAAI,cAAA,CAAiB,gBAAA,CAAmB,gBAAA,CAAmB,cAf/D,cAgBI,IAAI,cAAA,CAAiB,gBAAA,CAAmB,gBAAA,CAAmB,aAAA,CAAkB,kBAhBjF,cAiBI,IAAI,cAAA,CAAiB,gBAAA,CAAmB,gBAAA,CAAmB,aAAA,CAAkB,kBAjBjF,cAoBI,GAAE,aAAc,kBApBpB,cAqBI,GAAE,aAAc,kBArBpB,cAsBI,GAAE,aAAc,kBAtBpB,cAuBI,GAAE,aAAc,eAvBpB,cAwBI,GAAE,aAAc,eAxBpB,cAyBI,GAAE,aAAc,eAzBpB,cA2BI,IAAI,eAAA,CAAiB,YAAA,CAAiB,eA3B1C,cA4BI,GAAG,IAAI,iBAAA,CAAmB,aA5B9B,cA6BI,GAAG,GAAG,IAAI,iBAAA,CAAmB,aA7BjC,cA8BI,IAAI,kBAAA,CAAoB,YAAA,CAAiB,eA9B7C,cA+BI,GAAG,IAAI,sBAAA,CAAwB,aA/BnC,cAgCI,GAAG,GAAG,IAAI,sBAAA,CAAwB,aAhCtC,cAiCI,GAAG,GAAG,GAAG,IAAI,sBAAA,CAAwB,aAjCzC,cAmCI,GAAG,GAAG,GAAG,GAAG,IAAI,kBAAA,CAAoB,aAnCxC,cAoCI,EAAE,IAAM,eApCZ,cAqCI,EAAE,IAAM,eArCZ,cAuCI,IACI,WAAA,CACA,uBAzCR,cA4CI,KAAK,eA5CT,cA8CI,KA9CJ,cA8CS,MACD,QAAA,CACA,qBAAA,CACA,UAAA,CACA,cAAA,CACA,UAnDR,cAsDI,YAAY,eAtDhB,cAwDI,OACI,gBAAA,CACA,iBAAA,CACA,sBAAA,CACA,yBA5DR,cA8DI,IA9DJ,cA8DQ,IA9DR,cA8DY,IACJ,sBAAA,CACA,wBAAA,CACA,eAjER,cAmEI,IAnEJ,cAmEQ,IACA,eAAA,CACA,qBAAA,CACA,YAtER,cAwEI,IAAI,iBAxER,cAyEI,EAAE,OAAS,eAzEf,cA2EI,GAAG,gBA3EP,cA4EI,EAAE,GAAK,eA5EX,cA8EI,KACI,aAAA,CACA,gBAAA,CACA,kBAjFR,cAmFI,EAAE,KAAO,eAnFb,cAqFI,KArFJ,cAqFS,KACD,cAAA,CACA,YACA,cAHJ,IAGK,YAAD,cAHC,IAGA,YACG,eCzFZ,GAAG,WVsBC,mBAAA,CACA,6BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,0BAAA,CACA,sBAAA,CAEA,WAAA,CACA,qBAAA,CACA,iBAAA,CAGA,YAAA,CACA,kBAAA,CACA,oBU3BJ,QAPmC,iBAE/B,GAAG,UAAW,IAAK,QACf,cAIR,GAAG,kBAEC,YAAA,CACA,WAAA,CACA,aAAA,CACA,iBAAA,CACA,2BAAA,CACA,UAAA,CXdA,qBAAA,CACA,0BAAA,CACA,8BWgBJ,CAAC,YAAY,MACX,oBAAA,CACA,cAAA,CACA,kBAIE,EAAC,MAAO,cAAR,EAAC,MAAO,cAAR,EAAC,MAAO,cAAR,EAAC,MAAO,cAAR,EAAC,MAAO,cAAR,EAAC,MAAO,cACJ,mBAIR,UAAU,SAAU,aAChB,aAGJ,UAAU,SAAU,gBAChB,gBAGJ,UAAU,WAAY,mBAClB,aAGJ,aACA,aACA,aACA,aACA,aACA,aACI,gBAAA,CACA,YCRsB,4CDW1B,aAAe,iBACf,aAAe,iBACf,aAAe,iBACf,aAAe,eACf,aACI,cAAA,CACA,kBAEJ,aACI,cAAA,CACA,kBE7DJ,gBACI,KADJ,gBACU,OACF,cAIR,aAgBI,uBAAA,CZJA,mBAAA,CACA,6BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,0BAAA,CACA,sBAAA,CAEA,WAAA,CACA,qBAAA,CACA,iBAAA,CAGA,YAAA,CACA,kBAAA,CACA,oBY3BJ,YAmBI,iBACI,2BAAA,CACA,eAAA,Cb5BJ,qBAAA,CACA,0BAAA,CACA,6BAAA,CC+CA,mBAAA,CACA,2BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,wBAAA,CACA,sBAAA,CAEA,WAAA,CACA,mBAAA,CACA,iBAAA,CAGA,YAAA,CACA,qBAAA,CACA,mBAAA,CA6DA,kBAAA,CACA,eAAA,CACA,UAAA,CAGA,MAAA,CAiFA,uBAAA,CACA,oBAAA,CACA,eAAA,CAGA,uBYpLA,YAAC,oBAAqB,QAAO,OACzB,QC0Ec,OD1Ed,CACA,YAAa,aAAb,CACA,aAAA,CACA,cAAA,CACA,OAAA,CACA,YAOR,aAEI,qBAAA,CACA,eAAA,Cb9CA,kBamDJ,gBAuBI,gBAAA,CACA,iBAAA,CACA,gBAAA,CAGA,WAAA,CACA,UAAA,CACA,cAAA,CACA,eAAA,CACA,kBAAA,CAtCA,qBAAA,CACA,eAAA,Cb9CA,iBAAA,CCaA,mBAAA,CACA,6BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,0BAAA,CACA,sBAAA,CAEA,WAAA,CACA,qBAAA,CACA,iBAAA,CAGA,YAAA,CACA,kBAAA,CACA,oBYuBJ,eAwCI,YAEI,QAAA,CACA,eAAA,CZjFJ,mBAAA,CACA,6BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,0BAAA,CACA,sBAAA,CAEA,WAAA,CACA,qBAAA,CACA,iBAAA,CAGA,YAAA,CACA,kBAAA,CACA,mBAAA,CAwEA,kBAAA,CACA,eAAA,CACA,UAAA,CAGA,OYtDJ,eAwCI,WAQI,mBACI,UAAA,CACA,WAAA,CACA,eAAA,CACA,kBApDZ,eAwCI,WAeI,kBACI,WAAA,CACA,eAAA,CACA,gBAKZ,gBAKI,kBAAA,CACA,gBAAA,CAGA,SAAA,CACA,aAAA,CACA,YAAA,CACA,gBAAA,CAjFA,qBAAA,CACA,eAAA,Cb9CA,iBAAA,CC2CA,mBAAA,CACA,2BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,wBAAA,CACA,sBAAA,CAEA,WAAA,CACA,mBAAA,CACA,iBAAA,CAGA,YAAA,CACA,qBAAA,CACA,oBYwDJ,eAoBI,YAEI,QAAA,CACA,eAAA,CACA,gBAAA,CACA,cAAA,CZhGJ,mBAAA,CACA,2BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,wBAAA,CACA,sBAAA,CAEA,WAAA,CACA,mBAAA,CACA,iBAAA,CAGA,YAAA,CACA,qBAAA,CACA,mBAAA,CA0CA,kBAAA,CACA,eAAA,CACA,UAAA,CAGA,OYSJ,eAoBI,WAUI,mBACI,UAAA,CACA,WAAA,CACA,gBAAA,CACA,kBAlCZ,eAoBI,WAiBI,kBACI,UAAA,CACA,gBAAA,CACA,gBAKZ,aAEI,WAAA,CACA,SAGJ,gBAEI,WAAA,CACA,gBAGJ,qBAEI,WAAA,CACA,SAGJ,iBAEI,cAAA,CACA,gBAHJ,gBAKI,eAEI,uBAAA,CACA,oBAAA,CACA,mBAAA,CACA,kBAAA,CACA,gBAIR,kBAGI,gBAGJ,YAAa,eAAe,GAAG,GAC3B,cAGJ,aZ7LI,mBAAA,CACA,6BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,0BAAA,CACA,sBAAA,CAEA,WAAA,CACA,qBAAA,CACA,iBAAA,CAGA,YAAA,CACA,kBAAA,CACA,oBY8KJ,YAII,MAAK,kBACD,cAAA,CACA,mBANR,YASI,eAEI,cAAA,CACA,iBAAA,CACA,eAAA,CACA,gBAAA,CACA,wBAfR,YAkBI,iBACI,gBAAA,CACA,eAAA,CACA,eAAA,CACA,wBAIR,aZzLI,mBAAA,CACA,2BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,wBAAA,CACA,sBAAA,CAEA,WAAA,CACA,mBAAA,CACA,iBAAA,CAGA,YAAA,CACA,qBAAA,CACA,oBY0KJ,YAKI,eAEI,kBAAA,CACA,iBAAA,CACA,2BATR,YAYI,iBAEI,eAAA,CACA,iBAAA,CACA,wBAKR,Yb/PI,qBAAA,CACA,0BAAA,CACA,6BAAA,CCiNA,uBAAA,CACA,oBAAA,CACA,eAAA,CAGA,uBY6CJ,kBZpNI,mBAAA,CACA,2BAAA,CACA,yBAAA,CAEA,gBAAA,CACA,wBAAA,CACA,sBAAA,CAEA,WAAA,CACA,mBAAA,CACA,iBAAA,CAGA,YAAA,CACA,qBAAA,CACA,mBAAA,CDhEA,qBAAA,CACA,0BAAA,CACA,6BAAA,CawQA,gBALJ,iBAOI,OACI,YAAA,CACA","file":"ipython.min.css"}
\ No newline at end of file diff --git a/nikola/data/themes/base/assets/css/nikola_ipython.css b/nikola/data/themes/base/assets/css/nikola_ipython.css index 5ae5189..aba37da 100644 --- a/nikola/data/themes/base/assets/css/nikola_ipython.css +++ b/nikola/data/themes/base/assets/css/nikola_ipython.css @@ -40,77 +40,17 @@ div.text_cell_render { .rendered_html pre, .rendered_html code { background-color: #DDDDDD; + margin: 1em 0em; + font-size: 14px; +} + +.rendered_html pre { padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.05em; padding-bottom: 0.05em; - margin: 1em 0em; - font-size: 14px; } .page-content > .content p { margin: 0 0 0px; } - -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #408080; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #008000; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ -.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0044DD } /* Generic.Traceback */ -.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #008000 } /* Keyword.Pseudo */ -.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #B00040 } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BA2121 } /* Literal.String */ -.highlight .na { color: #7D9029 } /* Name.Attribute */ -.highlight .nb { color: #008000 } /* Name.Builtin */ -.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #0000FF } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #19177C } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ -.highlight .sc { color: #BA2121 } /* Literal.String.Char */ -.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ -.highlight .ss { color: #19177C } /* Literal.String.Symbol */ -.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #19177C } /* Name.Variable.Class */ -.highlight .vg { color: #19177C } /* Name.Variable.Global */ -.highlight .vi { color: #19177C } /* Name.Variable.Instance */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ diff --git a/nikola/data/themes/base/assets/css/nikola_rst.css b/nikola/data/themes/base/assets/css/nikola_rst.css new file mode 100644 index 0000000..71a0f84 --- /dev/null +++ b/nikola/data/themes/base/assets/css/nikola_rst.css @@ -0,0 +1,79 @@ +div.admonition, div.attention, div.caution, div.danger, div.error, +div.hint, div.important, div.note, div.tip, div.warning, div.sidebar, +div.system-message { +/* stolen from Boostrap 4 (.card) */ + margin-bottom: 2rem; + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + color: #212529; + background-clip: border-box; + border: 1px solid rgba(0,0,0,.125); + border-radius: .25rem; + padding: 0; +} + +div.attention, div.caution, div.danger, div.error, div.warning { + /* stolen from Boostrap 3 (.border-danger) */ + border-color: #dc3545!important; +} + +div.admonition p, div.hint p, +div.important p, div.note p, +div.tip p, div.sidebar p, +div.attention p, div.caution p, +div.danger p, div.error p, +div.warning p, div.system-message p { + padding-left: 1rem; + padding-right: 1rem; +} + +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, div.sidebar p.sidebar-title, +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, div.system-message p.system-message-title { +/* stolen from Boostrap 4 (.card .card-header) */ + font-weight: 400; + font-size: 1.25rem; + padding: .75rem 1.25rem; + margin-bottom: 1rem; + background-color: rgba(0,0,0,.03); + border-bottom: 1px solid rgba(0,0,0,.125); +} + +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, div.system-message p.system-message-title { + /* stolen from Boostrap 4 (.card .card-header .bg-danger) */ + background-color: #dc3545; + color: white; +} + +div.sidebar { + margin-right: 0; +} + +/* Improved margin overrides */ +div.topic, +pre.literal-block, +pre.doctest-block, +pre.math, +pre.code, +div.code { + margin-left: 1rem; + margin-right: 1rem; +} + +div.code { + margin-bottom: 1rem; +} diff --git a/nikola/data/themes/base/assets/css/rst.css b/nikola/data/themes/base/assets/css/rst.css index a1efa1a..03424a8 100644 --- a/nikola/data/themes/base/assets/css/rst.css +++ b/nikola/data/themes/base/assets/css/rst.css @@ -1,330 +1,2 @@ -/* -:Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 7614 2013-02-21 15:55:51Z 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 ; } - -object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { - overflow: hidden; -} - -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, div.sidebar { -/* stolen from Boostrap 3 (.panel .panel-default) */ - margin-bottom: 20px; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 4px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); - box-shadow: 0 1px 1px rgba(0, 0, 0, .05); - padding: 0 15px 15px 15px; -} - -div.attention, div.caution, div.danger, div.error, div.warning { - /* stolen from Boostrap 3 (.panel .panel-danger) */ - border-color: #EBCCD1; -} - -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, div.sidebar p.sidebar-title, -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 { -/* stolen from Boostrap 3 (.panel .panel-default .panel-heading) */ - font-size: 16px; - color: #333; - background-color: #F5F5F5; - padding: 10px 15px; - margin-left: -15px; - margin-right: -15px; - border-bottom: 1px solid rgba(0, 0, 0, 0); - border-top-left-radius: 3px; - border-top-right-radius: 3px; - color: #333; - background-color: #F5F5F5; - border-color: #DDD; -} - -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 { - /* stolen from Boostrap 3 (.panel .panel-danger) */ - color: #A94442; - background-color: #F2DEDE; - border-color: #EBCCD1; -} - -/* 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-left: 2em; - min-height: 20px; - width: 40% ; - float: right ; - clear: right } - -div.sidebar p.rubric { - font-size: medium } - -div.system-messages { - margin: 5em } - -div.system-messages h1 { - color: #a94442 } - -div.system-message { - border: 1px solid #ebccd1; - padding: 1em } - -div.system-message p.system-message-title { - color: #a94442 ; - font-weight: bold } - -div.topic { - margin: 2em } - -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 */ -.figure.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-subtitle { - font-weight: bold } - -p.topic-title { - font-weight: bold } - -pre.address { - margin-bottom: 0 ; - margin-top: 0 ; - font: inherit } - -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-style: italic } - -span.classifier-delimiter { - font-weight: bold } - -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 } - -/* "booktabs" style (no vertical lines) */ -table.docutils.booktabs { - border: 0px; - border-top: 2px solid; - border-bottom: 2px solid; - border-collapse: collapse; -} -table.docutils.booktabs * { - border: 0px; -} -table.docutils.booktabs th { - border-bottom: thin solid; - text-align: left; -} - -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 } - -a.footnote-reference { - line-height: 0px; -} +@import url("rst_base.css"); +@import url("nikola_rst.css"); diff --git a/nikola/data/themes/base/assets/css/rst_base.css b/nikola/data/themes/base/assets/css/rst_base.css new file mode 100644 index 0000000..429f7b5 --- /dev/null +++ b/nikola/data/themes/base/assets/css/rst_base.css @@ -0,0 +1,474 @@ +/* Minimal style sheet for the HTML output of Docutils. */ +/* */ +/* :Author: Günter Milde, based on html4css1.css by David Goodger */ +/* :Id: $Id: minimal.css 7952 2016-07-26 18:15:59Z milde $ */ +/* :Copyright: © 2015 Günter Milde. */ +/* :License: Released under the terms of the `2-Clause BSD license`_, */ +/* in short: */ +/* */ +/* Copying and distribution of this file, with or without modification, */ +/* are permitted in any medium without royalty provided the copyright */ +/* notice and this notice are preserved. */ +/* */ +/* This file is offered as-is, without any warranty. */ +/* */ +/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ + +/* This CSS2.1_ stylesheet defines rules for Docutils elements without */ +/* HTML equivalent. It is required to make the document semantic visible. */ +/* */ +/* .. _CSS2.1: http://www.w3.org/TR/CSS2 */ +/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ + +/* alignment of text and inline objects inside block objects*/ +.align-left { text-align: left; } +.align-right { text-align: right; } +.align-center { clear: both; text-align: center; } +.align-top { vertical-align: top; } +.align-middle { vertical-align: middle; } +.align-bottom { vertical-align: bottom; } + +/* titles */ +h1.title, p.subtitle { + text-align: center; +} +p.admonition-title, +p.topic-title, +p.sidebar-title, +p.rubric, +p.system-message-title { + font-weight: bold; +} +h1 + p.subtitle, +h1 + p.section-subtitle { + font-size: 1.6em; +} +h2 + p.section-subtitle { font-size: 1.28em; } +p.subtitle, +p.section-subtitle, +p.sidebar-subtitle { + font-weight: bold; + margin-top: -0.5em; +} +p.sidebar-title, +p.rubric { + font-size: larger; +} +p.rubric { color: maroon; } +a.toc-backref { + color: black; + text-decoration: none; } + +/* Warnings, Errors */ +div.caution p.admonition-title, +div.attention p.admonition-title, +div.danger p.admonition-title, +div.error p.admonition-title, +div.warning p.admonition-title, +div.system-messages h1, +div.error, +span.problematic, +p.system-message-title { + color: red; +} + +/* inline literals */ +span.docutils.literal { + font-family: monospace; + white-space: pre-wrap; +} +/* do not wraph at hyphens and similar: */ +.literal > span.pre { white-space: nowrap; } + +/* Lists */ + +/* compact and simple lists: no margin between items */ +.simple li, .compact li, +.simple ul, .compact ul, +.simple ol, .compact ol, +.simple > li p, .compact > li p, +dl.simple > dd, dl.compact > dd { + margin-top: 0; + margin-bottom: 0; +} + +/* Table of Contents */ +/*div.topic.contents { margin: 0; }*/ +ul.auto-toc { + list-style-type: none; + padding-left: 1.5em; } + +/* Enumerated Lists */ +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 } + +dt span.classifier { font-style: italic } +dt span.classifier:before { + font-style: normal; + margin: 0.5em; + content: ":"; +} + +/* Field Lists and drivatives */ +/* bold field name, content starts on the same line */ +dl.field-list > dt, +dl.option-list > dt, +dl.docinfo > dt, +dl.footnote > dt, +dl.citation > dt { + font-weight: bold; + clear: left; + float: left; + margin: 0; + padding: 0; + padding-right: 0.5em; +} +/* Offset for field content (corresponds to the --field-name-limit option) */ +dl.field-list > dd, +dl.option-list > dd, +dl.docinfo > dd { + margin-left: 9em; /* ca. 14 chars in the test examples */ +} +/* start field-body on a new line after long field names */ +dl.field-list > dd > *:first-child, +dl.option-list > dd > *:first-child +{ + display: inline-block; + width: 100%; + margin: 0; +} +/* field names followed by a colon */ +dl.field-list > dt:after, +dl.docinfo > dt:after { + content: ":"; +} + +/* Bibliographic Fields (docinfo) */ +pre.address { font: inherit; } +dd.authors > p { margin: 0; } + +/* Option Lists */ +dl.option-list { margin-left: 40px; } +dl.option-list > dt { font-weight: normal; } +span.option { white-space: nowrap; } + +/* Footnotes and Citations */ +dl.footnote.superscript > dd {margin-left: 1em; } +dl.footnote.brackets > dd {margin-left: 2em; } +dl > dt.label { font-weight: normal; } +a.footnote-reference.brackets:before, +dt.label > span.brackets:before { content: "["; } +a.footnote-reference.brackets:after, +dt.label > span.brackets:after { content: "]"; } +a.footnote-reference.superscript, +dl.footnote.superscript > dt.label { + vertical-align: super; + font-size: smaller; +} +dt.label > span.fn-backref { margin-left: 0.2em; } +dt.label > span.fn-backref > a { font-style: italic; } + +/* Line Blocks */ +div.line-block { display: block; } +div.line-block div.line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 40px; +} + +/* Figures, Images, and Tables */ +.figure.align-left, +img.align-left, +object.align-left, +table.align-left { + margin-right: auto; +} +.figure.align-center, +img.align-center, +object.align-center { + margin-left: auto; + margin-right: auto; + display: block; +} +table.align-center { + margin-left: auto; + margin-right: auto; +} +.figure.align-right, +img.align-right, +object.align-right, +table.align-right { + margin-left: auto; +} +/* reset inner alignment in figures and tables */ +div.align-left, div.align-center, div.align-right, +table.align-left, table.align-center, table.align-right +{ text-align: inherit } + +/* Admonitions and System Messages */ +div.admonition, +div.system-message, +div.sidebar{ + margin: 40px; + border: medium outset; + padding-right: 1em; + padding-left: 1em; +} + +/* Sidebar */ +div.sidebar { + width: 30%; + max-width: 26em; + float: right; + clear: right; +} + +/* Text Blocks */ +div.topic, +pre.literal-block, +pre.doctest-block, +pre.math, +pre.code { + margin-right: 40px; + margin-left: 40px; +} +pre.code .ln { color: gray; } /* line numbers */ + +/* Tables */ +table.docutils { border-collapse: collapse; } +table.docutils > td, table.docutils > th { + border-style: solid; + border-color: silver; + padding: 0 1ex; + border-width: thin; +} +table.docutils > td > p:first-child, table.docutils > th > p:first-child { margin-top: 0; } +table.docutils > td > p, table.docutils > th > p { margin-bottom: 0; } + +table.docutils > caption { + text-align: left; + margin-bottom: 0.25em +} + +table.borderless td, table.borderless th { + border: 0; + padding: 0; + padding-right: 0.5em /* separate table cells */ +} + +/* CSS31_ style sheet for the output of Docutils HTML writers. */ +/* Rules for easy reading and pre-defined style variants. */ +/* */ +/* :Author: Günter Milde, based on html4css1.css by David Goodger */ +/* :Id: $Id: plain.css 7952 2016-07-26 18:15:59Z milde $ */ +/* :Copyright: © 2015 Günter Milde. */ +/* :License: Released under the terms of the `2-Clause BSD license`_, */ +/* in short: */ +/* */ +/* Copying and distribution of this file, with or without modification, */ +/* are permitted in any medium without royalty provided the copyright */ +/* notice and this notice are preserved. */ +/* */ +/* This file is offered as-is, without any warranty. */ +/* */ +/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ +/* .. _CSS3: http://www.w3.org/TR/CSS3 */ + + +/* Document Structure */ +/* ****************** */ + +/* Sections */ + +/* Transitions */ + +hr.docutils { + width: 80%; + margin-top: 1em; + margin-bottom: 1em; + clear: both; +} + +/* Paragraphs */ +/* ========== */ + +/* vertical space (parskip) */ +/*p, ol, ul, dl,*/ +/*div.line-block,*/ +/*table{*/ + /*margin-top: 0.5em;*/ + /*margin-bottom: 0.5em;*/ +/*}*/ +/*h1, h2, h3, h4, h5, h6, */ +dl > dd { + margin-bottom: 0.5em; +} + +/* Lists */ +/* ========== */ + +/* Definition Lists */ + +dl > dd p:first-child { margin-top: 0; } +/* :last-child is not part of CSS 2.1 (introduced in CSS 3) */ +/* dl > dd p:last-child { margin-bottom: 0; } */ + +/* lists nested in definition lists */ +/* :only-child is not part of CSS 2.1 (introduced in CSS 3) */ +dd > ul:only-child, dd > ol:only-child { padding-left: 1em; } + +/* Description Lists */ +/* styled like in most dictionaries, encyclopedias etc. */ +dl.description > dt { + font-weight: bold; + clear: left; + float: left; + margin: 0; + padding: 0; + padding-right: 0.5em; +} + +/* Field Lists */ + +/* example for custom field-name width */ +dl.field-list.narrow > dd { + margin-left: 5em; +} +/* run-in: start field-body on same line after long field names */ +dl.field-list.run-in > dd p { + display: block; +} + +/* Bibliographic Fields */ + +/* generally, bibliographic fields use special definition list dl.docinfo */ +/* but dedication and abstract are placed into "topic" divs */ +div.abstract p.topic-title { + text-align: center; +} +div.dedication { + margin: 2em 5em; + text-align: center; + font-style: italic; +} +div.dedication p.topic-title { + font-style: normal; +} + +/* Citations */ +dl.citation dt.label { + font-weight: bold; +} +span.fn-backref { + font-weight: normal; +} + +/* Text Blocks */ +/* ============ */ + +/* Literal Blocks */ +pre.literal-block, pre.doctest-block, +pre.math, pre.code { + margin-left: 1.5em; + margin-right: 1.5em +} + +/* Block Quotes */ + +blockquote, +div.topic { + margin-left: 1.5em; + margin-right: 1.5em +} +blockquote > table, +div.topic > table { + margin-top: 0; + margin-bottom: 0; +} +blockquote p.attribution, +div.topic p.attribution { + text-align: right; + margin-left: 20%; +} + +/* Tables */ +/* ====== */ + +/* th { vertical-align: bottom; } */ + +table tr { text-align: left; } + +/* "booktabs" style (no vertical lines) */ +table.booktabs { + border: 0; + border-top: 2px solid; + border-bottom: 2px solid; + border-collapse: collapse; +} +table.booktabs * { + border: 0; +} +table.booktabs th { + border-bottom: thin solid; +} + +/* numbered tables (counter defined in div.document) */ +table.numbered > caption:before { + counter-increment: table; + content: "Table " counter(table) ": "; + font-weight: bold; +} + +/* Explicit Markup Blocks */ +/* ====================== */ + +/* Footnotes and Citations */ +/* ----------------------- */ + +/* line on the left */ +dl.footnote { + padding-left: 1ex; + border-left: solid; + border-left-width: thin; +} + +/* Directives */ +/* ---------- */ + +/* Body Elements */ +/* ~~~~~~~~~~~~~ */ + +/* Images and Figures */ + +/* let content flow to the side of aligned images and figures */ +.figure.align-left, +img.align-left, +object.align-left { + display: block; + clear: left; + float: left; + margin-right: 1em +} +.figure.align-right, +img.align-right, +object.align-right { + display: block; + clear: right; + float: right; + margin-left: 1em +} + +/* Sidebar */ + +/* Move into the margin. In a layout with fixed margins, */ +/* it can be moved into the margin completely. */ +div.sidebar { + width: 30%; + max-width: 26em; + margin-left: 1em; + margin-right: -5.5%; + background-color: #ffffee ; +} diff --git a/nikola/data/themes/base/assets/css/theme.css b/nikola/data/themes/base/assets/css/theme.css index 4842a3f..076351f 100644 --- a/nikola/data/themes/base/assets/css/theme.css +++ b/nikola/data/themes/base/assets/css/theme.css @@ -1,7 +1,7 @@ @charset "UTF-8"; /* - Copyright © 2014-2016 Daniel Aleksandersen and others. + Copyright © 2014-2020 Daniel Aleksandersen and others. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -67,9 +67,9 @@ body { margin-right: 1.5em; } -#menu ul li:dir(rtl), -#toptranslations ul li:dir(rtl), -#toptranslations h2:dir(rtl) { +html[dir="rtl"] #menu ul li, +html[dir="rtl"] #toptranslations ul li, +html[dir="rtl"] #toptranslations h2 { margin-left: 1.5em; margin-right: 0; } @@ -79,12 +79,12 @@ body { float: right; } -#toptranslations:dir(rtl) { +html[dir="rtl"] #toptranslations { text-align: left; float: left; } -.posttranslations h3 { +.posttranslations h3, .translationslist h3 { display: inline; font-size: 1em; } @@ -93,7 +93,7 @@ body { font-size: 2em; } -.posttranslations h3:last-child { +.posttranslations h3:last-child, .translationslist h3:last-child { display: none; } @@ -120,35 +120,50 @@ body { } .metadata p:before, .postpromonav .tags li:before, -.postlist .listdate:after { +.postlist .listdate:after, +.translationslist p:before { content: " — "; } .postlist li { margin-bottom: .33em; } +.byline a:not(:last-child):after { + content: ","; +} /* Post and archive pagers */ .postindexpager .pager .next:before { content: "↓ "; } -.postindexpager .pager .previous:before { +.postindexpager .pager .previous:before, +.archivenav .pager .up:before { content: "↑ "; } -.postpromonav .pager .next:after { +.postpromonav .pager .next:after, +.archivenav .pager .next:after { content: " →"; } -.postpromonav .pager .previous:dir(rtl):after { +html[dir="rtl"] .postpromonav .pager .previous:after, +html[dir="rtl"] .archivenav .pager .previous:after { content: " →"; } -.postpromonav .pager .previous:before { +.postpromonav .pager .previous:before, +.archivenav .pager .previous:before { content: "← "; } -.postpromonav .pager .next:dir(rtl):before { +html[dir="rtl"] .postpromonav .pager .next:before, +html[dir="rtl"] .archivenav .pager .next:before { content: "← "; } - +html[dir="rtl"] .postpromonav .pager .next:after, +html[dir="rtl"] .archivenav .pager .next:after, +html[dir="rtl"] .postpromonav .pager .previous:before, +html[dir="rtl"] .archivenav .pager .previous:before { + content: ""; +} .metadata p:first-of-type:before, -.postpromonav .tags li:first-of-type:before { +.postpromonav .tags li:first-of-type:before, +.translationslist p:first-of-type:before { content: ""; } .postpromonav .pager { @@ -156,24 +171,40 @@ body { height: 1em; } .postpromonav .tags li, -.postpromonav .pager li { +.postpromonav .pager li, +.archivenav .pager li { display: inline-block; } -.postpromonav .pager .next { +.archivenav .pager { + text-align: center +} +.postpromonav .pager .next, +.archivenav .pager .next { float: right; } -.postpromonav .pager .next:dir(rtl) { +html[dir="rtl"] .postpromonav .pager .next, +html[dir="rtl"] .archivenav .pager .next { float: left; } -.postpromonav .pager .previous { +.postpromonav .pager .previous, +.archivenav .pager .previous { float: left; } -.postpromonav .pager .previous:dir(rtl) { +html[dir="rtl"] .postpromonav .pager .previous, +html[dir="rtl"] .archivenav .pager .previous { float: right; } -.metadata p { +.archivenav .pager .disabled, +.archivenav .pager .disabled a, +.archivenav .pager .disabled:link { + color: #888; + cursor: not-allowed; +} + +.metadata p, +.translationslist p { display: inline; } @@ -254,10 +285,6 @@ img { margin-right: 0; } -.codetable .linenos { - padding-right: 10px; -} - .sr-only { position: absolute; width: 1px; @@ -280,7 +307,7 @@ img { } pre.code, code { - white-space: pre; + white-space: pre-wrap; word-wrap: normal; overflow: auto; } diff --git a/nikola/data/themes/base/assets/js/baguetteBox.min.js b/nikola/data/themes/base/assets/js/baguetteBox.min.js new file mode 120000 index 0000000..dda9b55 --- /dev/null +++ b/nikola/data/themes/base/assets/js/baguetteBox.min.js @@ -0,0 +1 @@ +../../../../../../npm_assets/node_modules/baguettebox.js/dist/baguetteBox.min.js
\ No newline at end of file diff --git a/nikola/data/themes/base/assets/js/fancydates.js b/nikola/data/themes/base/assets/js/fancydates.js index d13b11b..dc7906d 100644 --- a/nikola/data/themes/base/assets/js/fancydates.js +++ b/nikola/data/themes/base/assets/js/fancydates.js @@ -1,19 +1,21 @@ -function fancydates(fanciness, date_format) { - if (fanciness == 0) { +function fancydates(fanciness, luxonDateFormat) { + if (fanciness === 0) { return; } - dates = $('time.published.dt-published'); + var dates = document.querySelectorAll('.dt-published, .dt-updated, .listdate'); - i = 0; - l = dates.length; + var l = dates.length; - for (i = 0; i < l; i++) { - d = moment(dates[i].attributes.datetime.value); - if (fanciness == 1) { - o = d.local().format(date_format); + for (var i = 0; i < l; i++) { + var d = luxon.DateTime.fromISO(dates[i].attributes.datetime.value); + var o; + if (fanciness === 1 && luxonDateFormat.preset) { + o = d.toLocal().toLocaleString(luxon.DateTime[luxonDateFormat.format]); + } else if (fanciness === 1) { + o = d.toLocal().toFormat(luxonDateFormat.format); } else { - o = d.fromNow(); + o = d.toRelative(); } dates[i].innerHTML = o; } diff --git a/nikola/data/themes/base/assets/js/fancydates.min.js b/nikola/data/themes/base/assets/js/fancydates.min.js new file mode 100644 index 0000000..bb0b07b --- /dev/null +++ b/nikola/data/themes/base/assets/js/fancydates.min.js @@ -0,0 +1 @@ +function fancydates(t,e){if(0!==t)for(var a=document.querySelectorAll(".dt-published, .dt-updated, .listdate"),o=a.length,l=0;l<o;l++){var r,i=luxon.DateTime.fromISO(a[l].attributes.datetime.value);r=1===t&&e.preset?i.toLocal().toLocaleString(luxon.DateTime[e.format]):1===t?i.toLocal().toFormat(e.format):i.toRelative(),a[l].innerHTML=r}} diff --git a/nikola/data/themes/base/assets/js/gallery.js b/nikola/data/themes/base/assets/js/gallery.js new file mode 100644 index 0000000..af29f47 --- /dev/null +++ b/nikola/data/themes/base/assets/js/gallery.js @@ -0,0 +1,32 @@ +function renderGallery(jsonContent, thumbnailSize) { + var container = document.getElementById("gallery_container"); + container.innerHTML = ''; + var layoutGeometry = require('justified-layout')(jsonContent, { + "containerWidth": container.offsetWidth, + "targetRowHeight": thumbnailSize * 0.6, + "boxSpacing": 5}); + container.style.height = layoutGeometry.containerHeight + 'px'; + var boxes = layoutGeometry.boxes; + for (var i = 0; i < boxes.length; i++) { + var img = document.createElement("img"); + img.setAttribute('src', jsonContent[i].url_thumb); + img.setAttribute('alt', jsonContent[i].title); + img.style.width = boxes[i].width + 'px'; + img.style.height = boxes[i].height + 'px'; + link = document.createElement("a"); + link.setAttribute('href', jsonContent[i].url); + link.setAttribute('class', 'image-reference'); + div = document.createElement("div"); + div.setAttribute('class', 'image-block'); + div.setAttribute('title', jsonContent[i].title); + div.setAttribute('data-toggle', "tooltip") + div.style.width = boxes[i].width + 'px'; + div.style.height = boxes[i].height + 'px'; + div.style.top = boxes[i].top + 'px'; + div.style.left = boxes[i].left + 'px'; + link.appendChild(img); + div.appendChild(link); + container.appendChild(div); + } +} + diff --git a/nikola/data/themes/base/assets/js/gallery.min.js b/nikola/data/themes/base/assets/js/gallery.min.js new file mode 100644 index 0000000..c434155 --- /dev/null +++ b/nikola/data/themes/base/assets/js/gallery.min.js @@ -0,0 +1 @@ +function renderGallery(t,e){var i=document.getElementById("gallery_container");i.innerHTML="";var l=require("justified-layout")(t,{containerWidth:i.offsetWidth,targetRowHeight:.6*e,boxSpacing:5});i.style.height=l.containerHeight+"px";for(var n=l.boxes,r=0;r<n.length;r++){var a=document.createElement("img");a.setAttribute("src",t[r].url_thumb),a.setAttribute("alt",t[r].title),a.style.width=n[r].width+"px",a.style.height=n[r].height+"px",link=document.createElement("a"),link.setAttribute("href",t[r].url),link.setAttribute("class","image-reference"),div=document.createElement("div"),div.setAttribute("class","image-block"),div.setAttribute("title",t[r].title),div.setAttribute("data-toggle","tooltip"),div.style.width=n[r].width+"px",div.style.height=n[r].height+"px",div.style.top=n[r].top+"px",div.style.left=n[r].left+"px",link.appendChild(a),div.appendChild(link),i.appendChild(div)}} diff --git a/nikola/data/themes/base/assets/js/html5.js b/nikola/data/themes/base/assets/js/html5.js index 448cebd..31340f0 100644..120000 --- a/nikola/data/themes/base/assets/js/html5.js +++ b/nikola/data/themes/base/assets/js/html5.js @@ -1,8 +1 @@ -/* - HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed -*/ -(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); -a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}</style>"; -c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| -"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f); -if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document); +../../../../../../npm_assets/node_modules/html5shiv/dist/html5shiv-printshiv.min.js
\ No newline at end of file diff --git a/nikola/data/themes/base/assets/js/html5shiv-printshiv.min.js b/nikola/data/themes/base/assets/js/html5shiv-printshiv.min.js new file mode 120000 index 0000000..31340f0 --- /dev/null +++ b/nikola/data/themes/base/assets/js/html5shiv-printshiv.min.js @@ -0,0 +1 @@ +../../../../../../npm_assets/node_modules/html5shiv/dist/html5shiv-printshiv.min.js
\ No newline at end of file diff --git a/nikola/data/themes/base/assets/js/justified-layout.min.js b/nikola/data/themes/base/assets/js/justified-layout.min.js new file mode 120000 index 0000000..d067ee6 --- /dev/null +++ b/nikola/data/themes/base/assets/js/justified-layout.min.js @@ -0,0 +1 @@ +../../../../../../npm_assets/node_modules/justified-layout/dist/justified-layout.min.js
\ No newline at end of file diff --git a/nikola/data/themes/base/assets/js/luxon.min.js b/nikola/data/themes/base/assets/js/luxon.min.js new file mode 120000 index 0000000..a8a639d --- /dev/null +++ b/nikola/data/themes/base/assets/js/luxon.min.js @@ -0,0 +1 @@ +../../../../../../npm_assets/node_modules/luxon/build/global/luxon.min.js
\ No newline at end of file diff --git a/nikola/data/themes/base/assets/js/moment-with-locales.min.js b/nikola/data/themes/base/assets/js/moment-with-locales.min.js deleted file mode 120000 index 1caedc6..0000000 --- a/nikola/data/themes/base/assets/js/moment-with-locales.min.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/moment/min/moment-with-locales.min.js
\ No newline at end of file diff --git a/nikola/data/themes/base/base.theme b/nikola/data/themes/base/base.theme new file mode 100644 index 0000000..3dd0fd1 --- /dev/null +++ b/nikola/data/themes/base/base.theme @@ -0,0 +1,9 @@ +[Theme] +engine = mako +author = The Nikola Contributors +author_url = https://getnikola.com/ +license = MIT + +[Family] +family = base +jinja_version = base-jinja diff --git a/nikola/data/themes/base/bundles b/nikola/data/themes/base/bundles index 4760181..186e40e 100644 --- a/nikola/data/themes/base/bundles +++ b/nikola/data/themes/base/bundles @@ -1,2 +1,19 @@ -assets/css/all.css=rst.css,code.css,theme.css -assets/css/all-nocdn.css=rst.css,code.css,theme.css +; css bundles +assets/css/all.css= + rst_base.css, + nikola_rst.css, + code.css, + theme.css, +assets/css/all-nocdn.css= + rst_base.css, + nikola_rst.css, + code.css, + theme.css, + baguetteBox.min.css, + +; javascript bundles +assets/js/all.js= + fancydates.js, +assets/js/all-nocdn.js= + baguetteBox.min.js, + fancydates.js, diff --git a/nikola/data/themes/base/engine b/nikola/data/themes/base/engine deleted file mode 100644 index 2951cdd..0000000 --- a/nikola/data/themes/base/engine +++ /dev/null @@ -1 +0,0 @@ -mako diff --git a/nikola/data/themes/base/messages/messages_af.py b/nikola/data/themes/base/messages/messages_af.py new file mode 100644 index 0000000..650676b --- /dev/null +++ b/nikola/data/themes/base/messages/messages_af.py @@ -0,0 +1,49 @@ +# -*- encoding:utf-8 -*- +"""Autogenerated file, do not edit. Submit translations on Transifex.""" + +MESSAGES = { + "%d min remaining to read": "%d min oor om te lees", + "(active)": "(aktief)", + "Also available in:": "Ook beskikbaar in:", + "Archive": "Argief", + "Atom feed": "Atom-voer", + "Authors": "Outeurs", + "Categories": "Kategorieë", + "Comments": "Opmerkings", + "LANGUAGE": "Afrikaans", + "Languages:": "Tale:", + "More posts about %s": "Meer plasings oor %s", + "Newer posts": "Jonger plasings", + "Next post": "Volgende plasing", + "Next": "Volgende", + "No posts found.": "Geen plasings gevind nie.", + "Nothing found.": "Niks gevind nie.", + "Older posts": "Ouer plasings", + "Original site": "Oorspronklike werf", + "Posted:": "Geplaas:", + "Posts about %s": "Plasings oor %s", + "Posts by %s": "Plasings deur %s", + "Posts for year %s": "Plasings vir %s", + "Posts for {month_day_year}": "Plasings vir {month_day_year}", + "Posts for {month_year}": "Plasings vir {month_year}", + "Previous post": "Vorige plasing", + "Previous": "Vorige", + "Publication date": "Publikasiedatum", + "RSS feed": "RSS-voer", + "Read in English": "Lees in Afrikaans", + "Read more": "Lees meer", + "Skip to main content": "Spring na die hoofinhoud", + "Source": "Bron", + "Subcategories:": "Subkategorieë:", + "Tags and Categories": "Etikette en kategorieë", + "Tags": "Etikette", + "Toggle navigation": "Wissel navigasie", + "Uncategorized": "Ongekategoriseerd", + "Up": "Op", + "Updates": "Bywerkings", + "Write your page here.": "Skryf die bladsy hier.", + "Write your post here.": "Skryf die plasing hier.", + "old posts, page %d": "ou plasings, bladsy %d", + "page %d": "bladsy %d", + "updated": "bygewerk", +} diff --git a/nikola/data/themes/base/messages/messages_ar.py b/nikola/data/themes/base/messages/messages_ar.py index 4990ad4..72c137b 100644 --- a/nikola/data/themes/base/messages/messages_ar.py +++ b/nikola/data/themes/base/messages/messages_ar.py @@ -1,44 +1,49 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { - "%d min remaining to read": "", - "(active)": "", + "%d min remaining to read": "%d دقائق متبقية للقراءة", + "(active)": "(نشط)", "Also available in:": "أيضا متوفر في:", "Archive": "الأرشيف", - "Authors": "", + "Atom feed": "روابط Atom", + "Authors": "المؤلفون", "Categories": "فئات", "Comments": "التّعليقات", "LANGUAGE": "العربيّة", - "Languages:": "اللغات", + "Languages:": "اللُغَات", "More posts about %s": "المزيد من المقالات حول %s", "Newer posts": "مقالات أحدث", "Next post": "المقالة التالية", + "Next": "التالي", "No posts found.": "لم يوجد مقالات.", - "Nothing found.": "لم يوجد شيء.", + "Nothing found.": "لا يوجد شيء.", "Older posts": "مقالات أقدم", "Original site": "الموقع الأصلي", "Posted:": "نشر:", "Posts about %s": "مقالات عن %s", - "Posts by %s": "", + "Posts by %s": "مقالات بواسطة %s", "Posts for year %s": "مقالات سنة %s", - "Posts for {month} {day}, {year}": "", - "Posts for {month} {year}": "", + "Posts for {month_day_year}": "مقال لـ {شَهْر - يَوْم - سَنَة}", + "Posts for {month_year}": "مقالـ {شَهْر - سَنَة }", "Previous post": "المقالة السابقة", - "Publication date": "تاريخ النشر", - "RSS feed": "", + "Previous": "السابق", + "Publication date": "تاريخ النَشْر", + "RSS feed": "روابط التغذية ", "Read in English": "اقرأ بالعربية", "Read more": "قراءة المزيد", "Skip to main content": "انتقل إلى المحتوى الرئيسي", "Source": "المصدر", - "Subcategories:": "", + "Subcategories:": "فئات فرعية", "Tags and Categories": "تصنيفات و فئات", "Tags": "تصنيفات", - "Toggle navigation": "", - "Uncategorized": "", - "Updates": "", - "Write your page here.": "", - "Write your post here.": "", + "Toggle navigation": "تَفْعيل وَضْع التَنَقُلْ", + "Uncategorized": "غير مصنف", + "Up": "أعلى", + "Updates": "التَحْدِيثَات", + "Write your page here.": "اكْتُب صَفْحَتك هُنَا ", + "Write your post here.": "اكْتُب مَقَالَك هُنَا", "old posts, page %d": "مقالات قديمة, صفحة %d", "page %d": "صفحة %d", + "updated": "مُحدَّثة", } diff --git a/nikola/data/themes/base/messages/messages_az.py b/nikola/data/themes/base/messages/messages_az.py index 11e45ba..b7913f2 100644 --- a/nikola/data/themes/base/messages/messages_az.py +++ b/nikola/data/themes/base/messages/messages_az.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d dəqiqəlik oxuma", "(active)": "(aktiv)", "Also available in:": "Həmçinin mövcuddur:", "Archive": "Arxiv", + "Atom feed": "Atom feed", "Authors": "Müəlliflər", "Categories": "Kateqoriyalar", "Comments": "Şərhlər", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "%s ilə bağlı digər yazılar", "Newer posts": "Yeni yazılar", "Next post": "Növbəti yazı", + "Next": "Növbəti", "No posts found.": "Heç bir yazı tapılmadı", "Nothing found.": "Heç nə tapılmadı", "Older posts": "Köhnə yazılar", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "%s ilə bağlı yazılar", "Posts by %s": "%s tərəfindən yazılmış yazılar", "Posts for year %s": "%s ilindəki yazılar", - "Posts for {month} {day}, {year}": "{month} {day}, {year} üçün yazılar", - "Posts for {month} {year}": "{month} {year} üçün yazılar", + "Posts for {month_day_year}": "{month_day_year} üçün yazılar", + "Posts for {month_year}": "{month_year} üçün yazılar", "Previous post": "Əvvəlki yazı", + "Previous": "Öncəki", "Publication date": "Buraxılış tarixi", "RSS feed": "RSS", "Read in English": "Azərbaycan dilində oxu", @@ -34,11 +37,13 @@ MESSAGES = { "Subcategories:": "Subkateqoriyalar", "Tags and Categories": "Teqlər və Kateqoriyalar", "Tags": "Teqlər", - "Toggle navigation": "", + "Toggle navigation": "Naviqasiya keçidi", "Uncategorized": "Kateqoriyasız", + "Up": "Yuxarı", "Updates": "Yenilənmələr", "Write your page here.": "Öz səhifəni bura yaz", "Write your post here.": "Öz məqaləni bura yaz", "old posts, page %d": "köhnə yazılar, səhifə %s", "page %d": "səhifə %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_bg.py b/nikola/data/themes/base/messages/messages_bg.py index 2e4d400..3344e04 100644 --- a/nikola/data/themes/base/messages/messages_bg.py +++ b/nikola/data/themes/base/messages/messages_bg.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d минути до прочитане", "(active)": "(активно)", "Also available in:": "Достъпно също на:", "Archive": "Архив", + "Atom feed": "", "Authors": "Автори", "Categories": "Категории", "Comments": "Коментари", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Още публикации относно %s", "Newer posts": "Нови публикации", "Next post": "Следваща публикация", + "Next": "", "No posts found.": "Не са намерени публикации.", "Nothing found.": "Нищо не е намерено.", "Older posts": "Стари публикации", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Публикации относно %s", "Posts by %s": "Публикации от %s", "Posts for year %s": "Публикации за %s година", - "Posts for {month} {day}, {year}": "Публикации от {day} {month} {year}", - "Posts for {month} {year}": "Публикации за {month} {year}", + "Posts for {month_day_year}": "Публикации от {month_day_year}", + "Posts for {month_year}": "Публикации за {month_year}", "Previous post": "Предишна публикация", + "Previous": "", "Publication date": "Дата на публикуване", "RSS feed": "RSS поток", "Read in English": "Прочетете на български", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Тагове", "Toggle navigation": "", "Uncategorized": "Без категория", + "Up": "", "Updates": "Обновления", "Write your page here.": "Напиши тук текста на твоята страница.", "Write your post here.": "Напиши тук текста на твоята публикация.", "old posts, page %d": "стари публикации, страница %d", "page %d": "страница %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_fil.py b/nikola/data/themes/base/messages/messages_br.py index 6107c54..316e4ec 100644 --- a/nikola/data/themes/base/messages/messages_fil.py +++ b/nikola/data/themes/base/messages/messages_br.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "", "(active)": "", "Also available in:": "", "Archive": "", + "Atom feed": "", "Authors": "", "Categories": "", "Comments": "", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "", "Newer posts": "", "Next post": "", + "Next": "", "No posts found.": "", "Nothing found.": "", "Older posts": "", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "", "Posts by %s": "", "Posts for year %s": "", - "Posts for {month} {day}, {year}": "", - "Posts for {month} {year}": "", + "Posts for {month_day_year}": "", + "Posts for {month_year}": "", "Previous post": "", + "Previous": "", "Publication date": "", "RSS feed": "", "Read in English": "", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "", "Toggle navigation": "", "Uncategorized": "", + "Up": "", "Updates": "", "Write your page here.": "", "Write your post here.": "", "old posts, page %d": "", "page %d": "", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_bs.py b/nikola/data/themes/base/messages/messages_bs.py index 9d7ac6f..2d537e6 100644 --- a/nikola/data/themes/base/messages/messages_bs.py +++ b/nikola/data/themes/base/messages/messages_bs.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d minuta preostalo za čitanje", "(active)": "(aktivno)", "Also available in:": "Takođe dostupan u:", "Archive": "Arhiva", + "Atom feed": "", "Authors": "Autori", "Categories": "Kategorije", "Comments": "Komentari", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Više članaka o %s", "Newer posts": "Novije objave", "Next post": "Naredni članak", + "Next": "", "No posts found.": "Nema članaka.", "Nothing found.": "Ništa nije pronađeno.", "Older posts": "Starije objave", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Objave o %s", "Posts by %s": "Objave prema %s", "Posts for year %s": "Objave u godini %s", - "Posts for {month} {day}, {year}": "Objave za {day}.{month}.{year}", - "Posts for {month} {year}": "Objave za {month} {year}", + "Posts for {month_day_year}": "Objave za {month_day_year}", + "Posts for {month_year}": "Objave za {month_year}", "Previous post": "Prethodni članak", + "Previous": "", "Publication date": "Datum objavljivanja", "RSS feed": "RSS feed", "Read in English": "Pročitaj na bosanskom", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Oznake", "Toggle navigation": "", "Uncategorized": "Bez kategorije", + "Up": "", "Updates": "Ažuriranja", "Write your page here.": "Vašu stranicu napišite ovdje.", "Write your post here.": "Vaš članak napišite ovdje.", "old posts, page %d": "stare objave, strana %d", "page %d": "strana %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_ca.py b/nikola/data/themes/base/messages/messages_ca.py index f3aebdf..0143a85 100644 --- a/nikola/data/themes/base/messages/messages_ca.py +++ b/nikola/data/themes/base/messages/messages_ca.py @@ -1,44 +1,49 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { - "%d min remaining to read": "% min recordar per a llegir", - "(active)": "", - "Also available in:": "També disponibles en:", + "%d min remaining to read": "% min restants per a llegir", + "(active)": "(actiu)", + "Also available in:": "També disponible en:", "Archive": "Arxiu", - "Authors": "", + "Atom feed": "Canal Atom", + "Authors": "Autors", "Categories": "Categories", "Comments": "Comentaris", "LANGUAGE": "Català", - "Languages:": "Llenguatges:", + "Languages:": "Idiomes:", "More posts about %s": "Més entrades sobre %s", - "Newer posts": "Entrades posteriors", + "Newer posts": "Entrades més recents", "Next post": "Entrada següent", + "Next": "Següent", "No posts found.": "Publicació no trobada", "Nothing found.": "No trobat", - "Older posts": "Entrades anteriors", + "Older posts": "Entrades més antigues", "Original site": "Lloc original", "Posted:": "Publicat:", "Posts about %s": "Entrades sobre %s", - "Posts by %s": "", + "Posts by %s": "Entrades per %s", "Posts for year %s": "Entrades de l'any %s", - "Posts for {month} {day}, {year}": "", - "Posts for {month} {year}": "Publicat en {month} {year}", + "Posts for {month_day_year}": "Entrades per {month_day_year}", + "Posts for {month_year}": "Publicat en {month_year}", "Previous post": "Entrada anterior", + "Previous": "Anterior", "Publication date": "Data de publicació", - "RSS feed": "Feed RSS", + "RSS feed": "Canal RSS", "Read in English": "Llegeix-ho en català", "Read more": "Llegeix-ne més", "Skip to main content": "Vés al comentari principal", "Source": "Codi", - "Subcategories:": "", - "Tags and Categories": "Etiquetes i Categories", + "Subcategories:": "Subcategories:", + "Tags and Categories": "Etiquetes i categories", "Tags": "Etiquetes", - "Toggle navigation": "", - "Uncategorized": "", - "Updates": "", - "Write your page here.": "", - "Write your post here.": "", + "Toggle navigation": "Commuta la navegació", + "Uncategorized": "Sense categoria", + "Up": "Amunt", + "Updates": "Actualitzacions", + "Write your page here.": "Escriviu la vostra pàgina aquí.", + "Write your post here.": "Escriviu la vostra entrada aquí.", "old posts, page %d": "entrades antigues, pàgina %d", "page %d": "pàgina %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_cs.py b/nikola/data/themes/base/messages/messages_cs.py index 42fb1c1..dcff7e6 100644 --- a/nikola/data/themes/base/messages/messages_cs.py +++ b/nikola/data/themes/base/messages/messages_cs.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d min zbývajících", "(active)": "", "Also available in:": "Dostupné také v", "Archive": "Archiv", + "Atom feed": "", "Authors": "", "Categories": "Kategorie", "Comments": "Komentáře", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Další příspěvky o %s", "Newer posts": "Novější příspěvky", "Next post": "Další příspěvek", + "Next": "", "No posts found.": "Nebyly nalezeny žádné příspěvky.", "Nothing found.": "Nic nebylo nalezeno.", "Older posts": "Starší příspěvky", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Příspěvky o %s", "Posts by %s": "", "Posts for year %s": "Příspěvky v roce %s", - "Posts for {month} {day}, {year}": "Příspěvky v {month} {day}, {year}", - "Posts for {month} {year}": "Příspěvky v {month} {year}", + "Posts for {month_day_year}": "Příspěvky v {month_day_year}", + "Posts for {month_year}": "Příspěvky v {month_year}", "Previous post": "Předchozí příspěvek", + "Previous": "", "Publication date": "Datum zveřejnění", "RSS feed": "RSS zdroj", "Read in English": "Číst v češtině", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Štítky", "Toggle navigation": "", "Uncategorized": "", + "Up": "", "Updates": "", "Write your page here.": "", "Write your post here.": "", "old posts, page %d": "staré příspěvky, strana %d", "page %d": "strana %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_da.py b/nikola/data/themes/base/messages/messages_da.py index 08b3d15..b070db5 100644 --- a/nikola/data/themes/base/messages/messages_da.py +++ b/nikola/data/themes/base/messages/messages_da.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d min. tilbage at læse", "(active)": "", "Also available in:": "Fås også i:", "Archive": "Arkiv", + "Atom feed": "", "Authors": "", "Categories": "Kategorier", "Comments": "Kommentarer", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Yderligere indlæg om %s", "Newer posts": "Nyere indlæg", "Next post": "Næste indlæg", + "Next": "", "No posts found.": "Søgningen gav ingen resultater.", "Nothing found.": "Søgningen gav ingen resultater.", "Older posts": "Ældre indlæg", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Indlæg om %s", "Posts by %s": "", "Posts for year %s": "Indlæg for %s", - "Posts for {month} {day}, {year}": "Indlæs for {month} {day}, {year}", - "Posts for {month} {year}": "Indlæg for {month} {year}", + "Posts for {month_day_year}": "Indlæs for {month_day_year}", + "Posts for {month_year}": "Indlæg for {month_year}", "Previous post": "Tidligere indlæg", + "Previous": "", "Publication date": "Udgivelsesdato", "RSS feed": "RSS-nyhedskilde", "Read in English": "Læs på dansk", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Nøgleord", "Toggle navigation": "", "Uncategorized": "", + "Up": "", "Updates": "", "Write your page here.": "", "Write your post here.": "", "old posts, page %d": "gamle indlæg, side %d", "page %d": "side %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_de.py b/nikola/data/themes/base/messages/messages_de.py index 7981c69..1ba4dd4 100644 --- a/nikola/data/themes/base/messages/messages_de.py +++ b/nikola/data/themes/base/messages/messages_de.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d min verbleiben zum Lesen", "(active)": "(aktiv)", "Also available in:": "Auch verfügbar in:", "Archive": "Archiv", + "Atom feed": "Atom-Feed", "Authors": "Autoren", "Categories": "Kategorien", "Comments": "Kommentare", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Weitere Einträge über %s", "Newer posts": "Neuere Einträge", "Next post": "Nächster Eintrag", + "Next": "Nächster Eintrag", "No posts found.": "Keine Einträge gefunden.", "Nothing found.": "Nichts gefunden.", "Older posts": "Ältere Einträge", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Einträge über %s", "Posts by %s": "Einträge von %s", "Posts for year %s": "Einträge aus dem Jahr %s", - "Posts for {month} {day}, {year}": "Einträge vom {day}. {month} {year}", - "Posts for {month} {year}": "Einträge aus {month} {year}", + "Posts for {month_day_year}": "Einträge vom {month_day_year}", + "Posts for {month_year}": "Einträge aus {month_year}", "Previous post": "Vorheriger Eintrag", + "Previous": "Vorheriger Eintrag", "Publication date": "Veröffentlichungsdatum", "RSS feed": "RSS-Feed", "Read in English": "Auf Deutsch lesen", @@ -34,11 +37,13 @@ MESSAGES = { "Subcategories:": "Unterkategorien:", "Tags and Categories": "Tags und Kategorien", "Tags": "Tags", - "Toggle navigation": "", + "Toggle navigation": "Navigation umschalten", "Uncategorized": "Nicht kategorisiert", + "Up": "Nach oben", "Updates": "Updates", "Write your page here.": "Schreibe hier deinen Seiteninhalt hin.", "Write your post here.": "Schreibe hier deinen Eintrag hin.", "old posts, page %d": "Ältere Einträge, Seite %d", "page %d": "Seite %d", + "updated": "aktualisiert", } diff --git a/nikola/data/themes/base/messages/messages_el.py b/nikola/data/themes/base/messages/messages_el.py index 7e32afa..7021d84 100644 --- a/nikola/data/themes/base/messages/messages_el.py +++ b/nikola/data/themes/base/messages/messages_el.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "", "(active)": "", "Also available in:": "Διαθέσιμο και στα:", "Archive": "Αρχείο", + "Atom feed": "", "Authors": "", "Categories": "Κατηγορίες", "Comments": "Σχόλια", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Περισσότερες αναρτήσεις για %s", "Newer posts": "Νεότερες αναρτήσεις", "Next post": "Επόμενη ανάρτηση", + "Next": "", "No posts found.": "Δε βρέθηκαν αναρτήσεις", "Nothing found.": "Δε βρέθηκε περιεχόμενο", "Older posts": "Παλαιότερες αναρτήσεις", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Αναρτήσεις για %s", "Posts by %s": "", "Posts for year %s": "Αναρτήσεις για το έτος %s", - "Posts for {month} {day}, {year}": "Αναρτήσεις στις {day} {month}, {year}", - "Posts for {month} {year}": "Αναρτήσεις για τον {month} του {year}", + "Posts for {month_day_year}": "Αναρτήσεις στις {month_day_year}", + "Posts for {month_year}": "Αναρτήσεις για τον {month_year}", "Previous post": "Προηγούμενη ανάρτηση", + "Previous": "", "Publication date": "Ημερομηνία δημοσίευσης", "RSS feed": "", "Read in English": "Διαβάστε στα Ελληνικά", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Ετικέτες", "Toggle navigation": "", "Uncategorized": "", + "Up": "", "Updates": "", "Write your page here.": "", "Write your post here.": "", "old posts, page %d": "σελίδα παλαιότερων αναρτήσεων %d", "page %d": "σελίδα %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_en.py b/nikola/data/themes/base/messages/messages_en.py index 3c39f55..a6beb5e 100644 --- a/nikola/data/themes/base/messages/messages_en.py +++ b/nikola/data/themes/base/messages/messages_en.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d min remaining to read", "(active)": "(active)", "Also available in:": "Also available in:", "Archive": "Archive", + "Atom feed": "Atom feed", "Authors": "Authors", "Categories": "Categories", "Comments": "Comments", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "More posts about %s", "Newer posts": "Newer posts", "Next post": "Next post", + "Next": "Next", "No posts found.": "No posts found.", "Nothing found.": "Nothing found.", "Older posts": "Older posts", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Posts about %s", "Posts by %s": "Posts by %s", "Posts for year %s": "Posts for year %s", - "Posts for {month} {day}, {year}": "Posts for {month} {day}, {year}", - "Posts for {month} {year}": "Posts for {month} {year}", + "Posts for {month_day_year}": "Posts for {month_day_year}", + "Posts for {month_year}": "Posts for {month_year}", "Previous post": "Previous post", + "Previous": "Previous", "Publication date": "Publication date", "RSS feed": "RSS feed", "Read in English": "Read in English", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Tags", "Toggle navigation": "Toggle navigation", "Uncategorized": "Uncategorized", + "Up": "Up", "Updates": "Updates", "Write your page here.": "Write your page here.", "Write your post here.": "Write your post here.", "old posts, page %d": "old posts, page %d", "page %d": "page %d", + "updated": "updated", } diff --git a/nikola/data/themes/base/messages/messages_eo.py b/nikola/data/themes/base/messages/messages_eo.py index 9d1ae72..2793ff5 100644 --- a/nikola/data/themes/base/messages/messages_eo.py +++ b/nikola/data/themes/base/messages/messages_eo.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d minutoj por legi", "(active)": "(aktiva)", "Also available in:": "Ankaŭ disponebla en:", "Archive": "Arkivo", + "Atom feed": "Atom fluo", "Authors": "Aŭtoroj", "Categories": "Kategorioj", "Comments": "Komentoj", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Pli da artikoloj pri %s", "Newer posts": "Pli novaj artikoloj", "Next post": "Venonta artikolo", + "Next": "Venonta", "No posts found.": "Neniu artikoloj trovitaj.", "Nothing found.": "Nenio trovita.", "Older posts": "Pli malnovaj artikoloj", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Artikoloj pri %s", "Posts by %s": "Artikoloj de %s", "Posts for year %s": "Artikoloj de la jaro %s", - "Posts for {month} {day}, {year}": "Artikoloj de la {day}a de {month} {year}", - "Posts for {month} {year}": "Artikoloj de {month} {year}", + "Posts for {month_day_year}": "Artikoloj de la {month_day_year}", + "Posts for {month_year}": "Artikoloj de {month_year}", "Previous post": "Antaŭa artikolo", + "Previous": "Antaŭa", "Publication date": "Eldona dato", "RSS feed": "RSS fluo", "Read in English": "Legu ĝin en Esperanto", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Etikedoj", "Toggle navigation": "Ŝalti menuon", "Uncategorized": "Sen kategorioj", + "Up": "Supren", "Updates": "Ĝisdatigoj", "Write your page here.": "Skribu tie vian paĝon.", "Write your post here.": "Skribu tie vian artikolon.", "old posts, page %d": "%da paĝo de malnovaj artikoloj", "page %d": "paĝo %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_es.py b/nikola/data/themes/base/messages/messages_es.py index c590a64..bb58c82 100644 --- a/nikola/data/themes/base/messages/messages_es.py +++ b/nikola/data/themes/base/messages/messages_es.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "quedan %d minutos de lectura", "(active)": "(activo)", "Also available in:": "También disponible en:", "Archive": "Archivo", + "Atom feed": "Canal Atom", "Authors": "Autores", "Categories": "Categorías", "Comments": "Comentarios", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Más publicaciones sobre %s", "Newer posts": "Publicaciones posteriores", "Next post": "Siguiente publicación", + "Next": "Siguiente", "No posts found.": "No se encontraron publicaciones.", "Nothing found.": "No se encontró nada.", "Older posts": "Publicaciones anteriores", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Publicaciones sobre %s", "Posts by %s": "Publicaciones de %s", "Posts for year %s": "Publicaciones del año %s", - "Posts for {month} {day}, {year}": "Publicaciones del {day} de {month} de {year}", - "Posts for {month} {year}": "Posts de {month} de {year}", + "Posts for {month_day_year}": "Publicaciones del {month_day_year}", + "Posts for {month_year}": "Posts de {month_year}", "Previous post": "Publicación anterior", + "Previous": "Anterior", "Publication date": "Fecha de publicación", "RSS feed": "Canal RSS", "Read in English": "Leer en español", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Etiquetas", "Toggle navigation": "Mostrar navegación", "Uncategorized": "Sin categoría", + "Up": "Arriba", "Updates": "Actualizaciones", "Write your page here.": "Escriba su página aquí.", "Write your post here.": "Escriba su publicación aquí.", "old posts, page %d": "publicaciones antiguas, página %d", "page %d": "página %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_et.py b/nikola/data/themes/base/messages/messages_et.py index 9b3ba9c..e2a6e30 100644 --- a/nikola/data/themes/base/messages/messages_et.py +++ b/nikola/data/themes/base/messages/messages_et.py @@ -1,44 +1,49 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { - "%d min remaining to read": "", - "(active)": "", + "%d min remaining to read": "%d minutit veel lugeda", + "(active)": "(aktiivne)", "Also available in:": "Saadaval ka:", "Archive": "Arhiiv", - "Authors": "", + "Atom feed": "Atom uudisvoog", + "Authors": "Autorid", "Categories": "Kategooriad", - "Comments": "", + "Comments": "Kommentaarid", "LANGUAGE": "Eesti", - "Languages:": "", + "Languages:": "Keeled:", "More posts about %s": "Veel postitusi %s kohta", "Newer posts": "Uued postitused", "Next post": "Järgmine postitus", - "No posts found.": "", - "Nothing found.": "", + "Next": "Järgmine", + "No posts found.": "Postitusi ei leitud.", + "Nothing found.": "Midagi ei leitud.", "Older posts": "Vanemad postitused", "Original site": "Algallikas", "Posted:": "Postitatud:", "Posts about %s": "Postitused %s kohta", - "Posts by %s": "", + "Posts by %s": "Postitus kasutajalt %s", "Posts for year %s": "Postitused aastast %s", - "Posts for {month} {day}, {year}": "", - "Posts for {month} {year}": "Postitused {year} aasta kuust {month} ", + "Posts for {month_day_year}": "Postitused {month_day_year}", + "Posts for {month_year}": "Postitused {month_year}", "Previous post": "Eelmine postitus", - "Publication date": "", - "RSS feed": "", + "Previous": "Eelmine", + "Publication date": "Avaldamise kuupäev", + "RSS feed": "RSS uudisvoog", "Read in English": "Loe eesti keeles", "Read more": "Loe veel", - "Skip to main content": "", + "Skip to main content": "Otse peamise sisu juurde", "Source": "Lähtekood", - "Subcategories:": "", + "Subcategories:": "Alamkategooriad:", "Tags and Categories": "Sildid ja kategooriad", "Tags": "Märksõnad", - "Toggle navigation": "", - "Uncategorized": "", - "Updates": "", - "Write your page here.": "", - "Write your post here.": "", + "Toggle navigation": "Näita või peida menüüd", + "Uncategorized": "Kategooriata", + "Up": "Üles", + "Updates": "Uuendused", + "Write your page here.": "Kirjuta oma lehekülje sisu siia.", + "Write your post here.": "Kirjuta oma postitus siia.", "old posts, page %d": "vanade postituste, leht %d", "page %d": "leht %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_eu.py b/nikola/data/themes/base/messages/messages_eu.py index 68d7162..dd39991 100644 --- a/nikola/data/themes/base/messages/messages_eu.py +++ b/nikola/data/themes/base/messages/messages_eu.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d minutu gelditzen dira irakurtzeko", "(active)": "(aktibo)", "Also available in:": "Eskuragarria hizkuntza hauetan ere:", "Archive": "Artxiboa", + "Atom feed": "", "Authors": "Egileak", "Categories": "Kategoriak", "Comments": "Iruzkinak", @@ -14,17 +15,19 @@ MESSAGES = { "More posts about %s": "%s-ri buruzko argitalpen gehiago", "Newer posts": "Argitalpen berriagoak", "Next post": "Hurrengo argitalpena", + "Next": "", "No posts found.": "Ez da argitalpenik aurkitu", "Nothing found.": "Ez da ezer aurkitu", - "Older posts": "Post zaharragoak", - "Original site": "Jatorrizko orria", + "Older posts": "Argitalpen zaharragoak", + "Original site": "Jatorrizko gunea", "Posted:": "Argitaratuta:", "Posts about %s": "%s-ri buruzko argitalpenak", "Posts by %s": "%s-ek idatzitako argitalpenak", "Posts for year %s": "%s. urteko argitalpenak", - "Posts for {month} {day}, {year}": "{year}ko {month}aren {day}ko argitalpenak", - "Posts for {month} {year}": "{year}ko {month}ren argitalpenak", + "Posts for {month_day_year}": "{month_day_year} argitalpenak", + "Posts for {month_year}": "{month_year} argitalpenak", "Previous post": "Aurreko argitalpena", + "Previous": "", "Publication date": "Argitaratze-data", "RSS feed": "RSS jarioa", "Read in English": "Euskaraz irakurri", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Etiketak", "Toggle navigation": "", "Uncategorized": "Kategorizatu-gabeak", + "Up": "", "Updates": "Eguneraketak", "Write your page here.": "Idatzi zure orria hemen", "Write your post here.": "Idatzi zure argitalpena hemen", - "old posts, page %d": "Argitalpen zaharragoak,%d. orria", + "old posts, page %d": "Argitalpen zaharragoak, %d. orria", "page %d": "%d. orria", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_fa.py b/nikola/data/themes/base/messages/messages_fa.py index b2abad6..ade3276 100644 --- a/nikola/data/themes/base/messages/messages_fa.py +++ b/nikola/data/themes/base/messages/messages_fa.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d دقیقه برای خواندن باقی مانده", "(active)": "(فعال)", "Also available in:": "همچنین قابل دسترس از:", "Archive": "آرشیو", + "Atom feed": "", "Authors": "نویسندهها", "Categories": "دستهها", "Comments": "دیدگاهها", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "ارسالهای بیشتر دربارهٔ%s", "Newer posts": "ارسالهای جدیدتر", "Next post": "ارسال بعدی", + "Next": "بعدی", "No posts found.": "هیچ پستی پیدا نشد.", "Nothing found.": "هیچچیزی پیدا نشد.", "Older posts": "پستهای قدیمیتر", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "ارسالها دربارهٔ %s", "Posts by %s": "ارسالهای %s", "Posts for year %s": "ارسالها برای سال %s", - "Posts for {month} {day}, {year}": "ارسال برای {month} {day}. {year}", - "Posts for {month} {year}": "ارسال برای {month} {year}", + "Posts for {month_day_year}": "ارسال برای {month_day_year}", + "Posts for {month_year}": "ارسال برای {month_year}", "Previous post": "ارسال پیشین", + "Previous": "قبلی", "Publication date": "تاریخ انتشار", "RSS feed": "خوراک", "Read in English": "به فارسی بخوانید", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "برچسبها", "Toggle navigation": "", "Uncategorized": "دستهبندی نشده", + "Up": "", "Updates": "بروزرسانیها", "Write your page here.": "من صفحه را اینجا بنویسید. ", "Write your post here.": "متن پستتان را اینجا بنویسید.", "old posts, page %d": "صفحهٔ ارسالهای قدیمی %d", "page %d": "برگه %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_fi.py b/nikola/data/themes/base/messages/messages_fi.py index 9a70ede..e29db48 100644 --- a/nikola/data/themes/base/messages/messages_fi.py +++ b/nikola/data/themes/base/messages/messages_fi.py @@ -1,30 +1,33 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d minuuttia lukuaikaa", "(active)": "(aktiivinen)", "Also available in:": "Saatavilla myös:", "Archive": "Arkisto", + "Atom feed": "Atom-syöte", "Authors": "Kirjoittajat", "Categories": "Kategoriat", "Comments": "Kommentit", "LANGUAGE": "Suomi", "Languages:": "Kielet:", - "More posts about %s": "Lisää postauksia aiheesta %s", - "Newer posts": "Uudempia postauksia", - "Next post": "Seuraava postaus", - "No posts found.": "Postauksia ei löytynyt.", + "More posts about %s": "Lisää kirjoituksia aiheesta %s", + "Newer posts": "Uudempia kirjoituksia", + "Next post": "Seuraava kirjoitus", + "Next": "Seuraava", + "No posts found.": "Kirjoituksia ei löytynyt.", "Nothing found.": "Ei hakutuloksia.", - "Older posts": "Vanhempia postauksia", + "Older posts": "Vanhempia kirjoituksia", "Original site": "Alkuperäinen sivusto", - "Posted:": "Postattu:", - "Posts about %s": "Postauksia aiheesta %s", - "Posts by %s": "Postaukset kirjoittajalta %s", - "Posts for year %s": "Postauksia vuodelta %s", - "Posts for {month} {day}, {year}": "Kirjoituksia ajalta {day}. {month}ta {year}", - "Posts for {month} {year}": "Postauksia ajalle {month} {year}", - "Previous post": "Edellinen postaus", + "Posted:": "Kirjoitettu:", + "Posts about %s": "Kirjoituksia aiheesta %s", + "Posts by %s": "Artikkelit kirjoittajalta %s", + "Posts for year %s": "Kirjoituksia vuodelta %s", + "Posts for {month_day_year}": "Kirjoituksia ajalta {month_day_year}", + "Posts for {month_year}": "Kirjoituksia ajalta {month_year}", + "Previous post": "Edellinen kirjoitus", + "Previous": "Edellinen", "Publication date": "Julkaisupäivämäärä", "RSS feed": "RSS-syöte", "Read in English": "Lue suomeksi", @@ -32,13 +35,15 @@ MESSAGES = { "Skip to main content": "Hyppää sisältöön", "Source": "Lähde", "Subcategories:": "Alakategoriat:", - "Tags and Categories": "Tagit ja kategoriat", - "Tags": "Tagit", - "Toggle navigation": "", + "Tags and Categories": "Avainsanat ja kategoriat", + "Tags": "Avainsanat", + "Toggle navigation": "Vaihda navigointia", "Uncategorized": "Luokittelematon", + "Up": "Ylös", "Updates": "Päivitykset", "Write your page here.": "Kirjoita sisältö tähän.", "Write your post here.": "Kirjoita sisältö tähän.", - "old posts, page %d": "vanhoja postauksia, sivu %d", + "old posts, page %d": "vanhoja kirjoituksia, sivu %d", "page %d": "sivu %d", + "updated": "päivitetty", } diff --git a/nikola/data/themes/base/messages/messages_fr.py b/nikola/data/themes/base/messages/messages_fr.py index 6be1422..971d607 100644 --- a/nikola/data/themes/base/messages/messages_fr.py +++ b/nikola/data/themes/base/messages/messages_fr.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "Il reste encore %d min. de lecture", "(active)": "(actif)", "Also available in:": "Également disponible en :", "Archive": "Archives", + "Atom feed": "Flux Atom", "Authors": "Auteurs", "Categories": "Catégories", "Comments": "Commentaires", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Plus d'articles sur %s", "Newer posts": "Articles récents", "Next post": "Article suivant", + "Next": "Article suivant", "No posts found.": "Pas d'articles.", "Nothing found.": "Pas de résultats.", "Older posts": "Anciens articles", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Articles sur %s", "Posts by %s": "Publiés par %s", "Posts for year %s": "Articles de l'année %s", - "Posts for {month} {day}, {year}": "Articles du {day} {month} {year}", - "Posts for {month} {year}": "Articles de {month} {year}", + "Posts for {month_day_year}": "Articles du {month_day_year}", + "Posts for {month_year}": "Articles de {month_year}", "Previous post": "Article précédent", + "Previous": "Article précédent", "Publication date": "Date de publication", "RSS feed": "Flux RSS", "Read in English": "Lire en français", @@ -34,11 +37,13 @@ MESSAGES = { "Subcategories:": "Sous-catégories", "Tags and Categories": "Étiquettes et catégories", "Tags": "Étiquettes", - "Toggle navigation": "", + "Toggle navigation": "Basculer en navigation", "Uncategorized": "Sans catégorie", + "Up": "Retour en haut", "Updates": "Mises à jour", "Write your page here.": "Écrivez votre page ici.", "Write your post here.": "Écrivez votre billet ici.", "old posts, page %d": "anciens articles, page %d", "page %d": "page %d", + "updated": "mis à jour", } diff --git a/nikola/data/themes/base/messages/messages_fur.py b/nikola/data/themes/base/messages/messages_fur.py new file mode 100644 index 0000000..6f75b66 --- /dev/null +++ b/nikola/data/themes/base/messages/messages_fur.py @@ -0,0 +1,49 @@ +# -*- encoding:utf-8 -*- +"""Autogenerated file, do not edit. Submit translations on Transifex.""" + +MESSAGES = { + "%d min remaining to read": "a restin altris %d minûts di leture", + "(active)": "(atîf)", + "Also available in:": "Disponibil ancje in:", + "Archive": "Archivi", + "Atom feed": "Feed Atom", + "Authors": "Autôrs", + "Categories": "Categoriis", + "Comments": "Coments", + "LANGUAGE": "Furlan", + "Languages:": "Lenghis:", + "More posts about %s": "Altris articui su %s", + "Newer posts": "Articui plui resints", + "Next post": "Prossim articul", + "Next": "Prossim", + "No posts found.": "Nissun articul cjatât.", + "Nothing found.": "Nol è stât cjatât nuie.", + "Older posts": "Articui precedents", + "Original site": "Sît originâl", + "Posted:": "Publicât:", + "Posts about %s": "Articui su %s", + "Posts by %s": "Articui di %s", + "Posts for year %s": "Articui par an %s", + "Posts for {month_day_year}": "Articui par {month_day_year}", + "Posts for {month_year}": "Articui par {month_year}", + "Previous post": "Articul precedent", + "Previous": "Precedent", + "Publication date": "Date di publicazion", + "RSS feed": "Feed RSS", + "Read in English": "Lei par furlan", + "Read more": "Continue la leture", + "Skip to main content": "Va al test principâl", + "Source": "Document origjinâl", + "Subcategories:": "Subcategoriis:", + "Tags and Categories": "Tags e categoriis", + "Tags": "Tags", + "Toggle navigation": "Ativâ la navigazion", + "Uncategorized": "Cence categorie", + "Up": "Su", + "Updates": "Inzornaments", + "Write your page here.": "Scrîf ca la tô pagjine.", + "Write your post here.": "Scrîf ca il to articul.", + "old posts, page %d": "articui vecjos, pagjine %d", + "page %d": "pagjine %d", + "updated": "inzornât", +} diff --git a/nikola/data/themes/base/messages/messages_gl.py b/nikola/data/themes/base/messages/messages_gl.py index 11ac1cf..c41d61f 100644 --- a/nikola/data/themes/base/messages/messages_gl.py +++ b/nikola/data/themes/base/messages/messages_gl.py @@ -1,19 +1,21 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d min restantes para ler", "(active)": "(activo)", "Also available in:": "Tamén dispoñible en:", "Archive": "Arquivo", + "Atom feed": "", "Authors": "Autores", "Categories": "Categorías", "Comments": "Comentarios", - "LANGUAGE": "Inglés", + "LANGUAGE": "Galego", "Languages:": "Linguas:", "More posts about %s": "Máis artigos sobre %s", "Newer posts": "Últimos artigos", "Next post": "Seguinte artigo", + "Next": "", "No posts found.": "Non se atoparon artigos.", "Nothing found.": "Non se atopou nada.", "Older posts": "Artigos vellos", @@ -22,12 +24,13 @@ MESSAGES = { "Posts about %s": "Artigos sobre %s", "Posts by %s": "Publicacións de %s", "Posts for year %s": "Artigos do ano %s", - "Posts for {month} {day}, {year}": "Artigos de {month} {day}, {year}", - "Posts for {month} {year}": "Artigos de {month} {year}", + "Posts for {month_day_year}": "Artigos de {month_day_year}", + "Posts for {month_year}": "Artigos de {month_year}", "Previous post": "Artigo anterior", + "Previous": "", "Publication date": "Data de publicación", "RSS feed": "Sindicación RSS", - "Read in English": "Ler en Inglés", + "Read in English": "Ler en Galego", "Read more": "Ler máis", "Skip to main content": "Saltar ó contido principal", "Source": "Fonte", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Etiquetas", "Toggle navigation": "", "Uncategorized": "Sen categoría", + "Up": "", "Updates": "Actualizacións", "Write your page here.": "Escribe a túa páxina aquí.", "Write your post here.": "Escribe o teu artigo aquí.", "old posts, page %d": "Artigos vellos, páxina %d", "page %d": "páxina %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_he.py b/nikola/data/themes/base/messages/messages_he.py index 106e35e..2de9796 100644 --- a/nikola/data/themes/base/messages/messages_he.py +++ b/nikola/data/themes/base/messages/messages_he.py @@ -1,30 +1,33 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { - "%d min remaining to read": "d% דקות נותרים לסיום קריאה", + "%d min remaining to read": "%d דקות נותרים לסיום קריאה", "(active)": "(פעיל)", "Also available in:": "זמין גם ב:", "Archive": "ארכיב", + "Atom feed": "", "Authors": "מחברים", "Categories": "קטגוריות", "Comments": "הערות", "LANGUAGE": "אנגלית", "Languages:": "שפות:", - "More posts about %s": "עוד פוסטים אודות s%", + "More posts about %s": "עוד פוסטים אודות %s", "Newer posts": "פוסטים חדשים", "Next post": "לפוסט הבא", + "Next": "", "No posts found.": "לא נמצאו פוסטים", "Nothing found.": "לא נמצא", "Older posts": "פוסטים ישנים", "Original site": "אתר המקורי", "Posted:": "פורסם:", - "Posts about %s": "פוסטים אודות s%", - "Posts by %s": "פוסטים ע״י s%", - "Posts for year %s": "פוסטים לשנת s%", - "Posts for {month} {day}, {year}": "פוסטים עבוד {year},{day}{month}", - "Posts for {month} {year}": "פוסטים עבוד {year}{month}", + "Posts about %s": "פוסטים אודות %s", + "Posts by %s": "פוסטים ע״י %s", + "Posts for year %s": "פוסטים לשנת %s", + "Posts for {month_day_year}": "פוסטים עבוד {month_day_year}", + "Posts for {month_year}": "פוסטים עבוד {month_year}", "Previous post": "פוסט הקודם", + "Previous": "", "Publication date": "תאריך פרסום", "RSS feed": "פיד RSS", "Read in English": "קרא באנגלית", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "תגים", "Toggle navigation": "החלף מצב ניווט", "Uncategorized": "לא משויך לקטגוריה", + "Up": "", "Updates": "עדכונים", "Write your page here.": "תכתוב את העמוד שלך פה.", "Write your post here.": "תכתוב את הפוסט שלך פה.", - "old posts, page %d": "פוסטים קודמים, דף d%", - "page %d": "עמוד d%", + "old posts, page %d": "פוסטים קודמים, דף %d", + "page %d": "עמוד %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_hi.py b/nikola/data/themes/base/messages/messages_hi.py index 551a9df..25c3d2e 100644 --- a/nikola/data/themes/base/messages/messages_hi.py +++ b/nikola/data/themes/base/messages/messages_hi.py @@ -1,44 +1,49 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { - "%d min remaining to read": "पढ़ने में %d मिनट बाकी", + "%d min remaining to read": "पढ़ने के लिए %d मिनट शेष", "(active)": "(सक्रिय)", "Also available in:": "उपलब्ध भाषाएँ:", - "Archive": "आर्काइव", + "Archive": "संग्रह", + "Atom feed": "एटम फीड", "Authors": "लेखक", "Categories": "श्रेणियाँ", "Comments": "टिप्पणियाँ", "LANGUAGE": "हिन्दी", "Languages:": "भाषाएँ:", - "More posts about %s": "%s के बारे में अौर पोस्टें", - "Newer posts": "नई पोस्टें", - "Next post": "अगली पोस्ट", - "No posts found.": "कोई पोस्ट नहीं मिल सकी", - "Nothing found.": "कुछ नहीं मिल सका", - "Older posts": "पुरानी पोस्टें", - "Original site": "असली साइट", + "More posts about %s": "%s के बारे में और पोस्ट", + "Newer posts": "नई पोस्ट", + "Next post": "अगला पोस्ट", + "Next": "अगला", + "No posts found.": "कोई पोस्ट नहीं मिला", + "Nothing found.": "कुछ नहीं मिला", + "Older posts": "पुरानी पोस्ट", + "Original site": "मूल साइट", "Posted:": "पोस्टेड:", - "Posts about %s": "%s के बारे में पोस्टें", - "Posts by %s": "%s की पोस्टें", - "Posts for year %s": "साल %s की पोस्टें", - "Posts for {month} {day}, {year}": "{day} {month} {year} की पोस्टें", - "Posts for {month} {year}": "{month} {year} की पोस्टें", + "Posts about %s": "%s के बारे में पोस्ट", + "Posts by %s": "%s द्वारा पोस्ट", + "Posts for year %s": "वर्ष %s के पोस्ट", + "Posts for {month_day_year}": "{month_day_year} के पोस्ट", + "Posts for {month_year}": "{month_year} के पोस्ट", "Previous post": "पिछली पोस्ट", - "Publication date": "प्रकाशन की तारीख", + "Previous": "पिछला", + "Publication date": "प्रकाशन तिथि", "RSS feed": "आर एस एस फ़ीड", "Read in English": "हिन्दी में पढ़िए", "Read more": "और पढ़िए", - "Skip to main content": "मुख्य सामग्री पर जाएँ", - "Source": "सोर्स", + "Skip to main content": "मुख्य विषयवस्तु में जाएं", + "Source": "स्रोत", "Subcategories:": "उपश्रेणी", "Tags and Categories": "टैग्स और श्रेणियाँ", "Tags": "टैग्स", - "Toggle navigation": "", - "Uncategorized": "बिना श्रेणी", + "Toggle navigation": "टॉगल नेविगेशन", + "Uncategorized": "अवर्गीकृत", + "Up": "ऊपर", "Updates": "अपडेट्स", - "Write your page here.": "अपना पेज यहाँ लिखिए", - "Write your post here.": "अपनी पोस्ट यहाँ लिखिए", - "old posts, page %d": "पुरानी पोस्टें, पृष्ठ %d", + "Write your page here.": "अपना पेज यहाँ लिखें", + "Write your post here.": "अपनी पोस्ट यहाँ लिखें", + "old posts, page %d": "पुराने पोस्ट, पृष्ठ %d", "page %d": "पृष्ठ %d", + "updated": "संशोधित", } diff --git a/nikola/data/themes/base/messages/messages_hr.py b/nikola/data/themes/base/messages/messages_hr.py index 933bafc..7c72f3b 100644 --- a/nikola/data/themes/base/messages/messages_hr.py +++ b/nikola/data/themes/base/messages/messages_hr.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d minuta preostalo za čitanje", "(active)": "(aktivno)", "Also available in:": "Također dostupno i u:", "Archive": "Arhiva", + "Atom feed": "", "Authors": "Autori", "Categories": "Kategorije", "Comments": "Komentari", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Više postova o %s", "Newer posts": "Noviji postovi", "Next post": "Sljedeći post", + "Next": "", "No posts found.": "Nema postova.", "Nothing found.": "Nema ničeg.", "Older posts": "Stariji postovi", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Postovi o %s", "Posts by %s": "Objave od %s", "Posts for year %s": "Postovi za godinu %s", - "Posts for {month} {day}, {year}": "Objave za {month} {day}, {year}", - "Posts for {month} {year}": "Postovi za {month} {year}", + "Posts for {month_day_year}": "Postovi za {month_day_year}", + "Posts for {month_year}": "Postovi za {month_year}", "Previous post": "Prethodni post", + "Previous": "", "Publication date": "Nadnevak objave", "RSS feed": "RSS kanal", "Read in English": "Čitaj na hrvatskom", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Tagovi", "Toggle navigation": "", "Uncategorized": "Nekategorizirano", + "Up": "", "Updates": "Nadopune", "Write your page here.": "Napiši svoju stranicu ovdje", "Write your post here.": "Napiši svoju objavu ovdje", "old posts, page %d": "stari postovi, stranice %d", "page %d": "stranice %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_hu.py b/nikola/data/themes/base/messages/messages_hu.py index 0b137fc..8b0ac86 100644 --- a/nikola/data/themes/base/messages/messages_hu.py +++ b/nikola/data/themes/base/messages/messages_hu.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d perc van hátra olvasni", "(active)": "(aktív)", "Also available in:": "Olvasható még:", "Archive": "Archív", + "Atom feed": "Atom", "Authors": "Szerzők", "Categories": "Kategóriák", "Comments": "Hozzászólások", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Több bejegyzés erről: %s", "Newer posts": "Újabb bejegyzések", "Next post": "A következő bejegyzés", + "Next": "Következő", "No posts found.": "Nincs ilyen bejegyzés.", "Nothing found.": "Nincs találat.", "Older posts": "Régebbi bejegyzések", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Bejegyzések erről: %s", "Posts by %s": "Bejegyzések %s által", "Posts for year %s": "%s. bejegyzések", - "Posts for {month} {day}, {year}": "{year}. {month}. {day}.-i bejegyzések", - "Posts for {month} {year}": "{year}. {month}.-i bejegyzések", + "Posts for {month_day_year}": "{month_day_year} bejegyzések", + "Posts for {month_year}": "{month_year} bejegyzések", "Previous post": "Az előző bejegyzés ", + "Previous": "Előző", "Publication date": "A megjelenés dátuma", "RSS feed": "RSS", "Read in English": "Olvass magyarul", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Címkék", "Toggle navigation": "", "Uncategorized": "Nincs kategorizálva", + "Up": "Fel", "Updates": "Frissítések", "Write your page here.": "Ide írd az oldalad.", "Write your post here.": "Ide írd a bejegyzésed.", "old posts, page %d": "régi bejegyzések, %d. oldal", "page %d": "%d. oldal", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_ia.py b/nikola/data/themes/base/messages/messages_ia.py new file mode 100644 index 0000000..34868ba --- /dev/null +++ b/nikola/data/themes/base/messages/messages_ia.py @@ -0,0 +1,49 @@ +# -*- encoding:utf-8 -*- +"""Autogenerated file, do not edit. Submit translations on Transifex.""" + +MESSAGES = { + "%d min remaining to read": "%dminutas de lectura remanente", + "(active)": "(active)", + "Also available in:": "Anque disponibile in:", + "Archive": "Archivo", + "Atom feed": "Fluxo Atom", + "Authors": "Authores", + "Categories": "Categorias", + "Comments": "Commentos", + "LANGUAGE": "Interlingua", + "Languages:": "Linguas:", + "More posts about %s": "Plure entratas super %s", + "Newer posts": "Entratas plus recente", + "Next post": "Entrata successive", + "Next": "Successive", + "No posts found.": "Nulle entrata esseva trovate.", + "Nothing found.": "Nihil esseva trovate.", + "Older posts": "Entratas plus vetule", + "Original site": "Sito original", + "Posted:": "Publicate:", + "Posts about %s": "Entratas super %s", + "Posts by %s": "Entratas per %s", + "Posts for year %s": "Entratas del anno %s", + "Posts for {month_day_year}": "Entratas de {month_day_year}", + "Posts for {month_year}": "Entratas de {month_year}", + "Previous post": "Entrata precedente", + "Previous": "Precendente", + "Publication date": "Data de publication", + "RSS feed": "Fluxo RSS", + "Read in English": "Lege in interlingua", + "Read more": "Lege plus", + "Skip to main content": "Salta al contento principal", + "Source": "Sorgente", + "Subcategories:": "Subcategorias:", + "Tags and Categories": "Etiquettas e categorias", + "Tags": "Etiquettas", + "Toggle navigation": "Commuta navigation", + "Uncategorized": "Sin categoria", + "Up": "In alto", + "Updates": "Actualisationes", + "Write your page here.": "Scribe tu pagina hic.", + "Write your post here.": "Scribe tu entrata hic.", + "old posts, page %d": "Vetule entratas, pagina %d", + "page %d": "pagina %d", + "updated": "actualisate", +} diff --git a/nikola/data/themes/base/messages/messages_id.py b/nikola/data/themes/base/messages/messages_id.py index ec60f9a..d6c53ae 100644 --- a/nikola/data/themes/base/messages/messages_id.py +++ b/nikola/data/themes/base/messages/messages_id.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d menit tersisa untuk membaca", "(active)": "(aktif)", "Also available in:": "Juga tersedia dalam:", "Archive": "Arsip", + "Atom feed": "Umpan Atom", "Authors": "Penulis", "Categories": "Kategori", "Comments": "Komentar", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Lebih banyak tulisan tentang %s", "Newer posts": "Tulisan lebih baru", "Next post": "Tulisan berikutnya", + "Next": "Sesudah", "No posts found.": "Tidak ada tulisan yang ditemukan.", "Nothing found.": "Tidak ditemukan.", "Older posts": "Tulisan lebih lama", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Tulisan tentang %s", "Posts by %s": "Tulisan oleh %s", "Posts for year %s": "Tulisan untuk tahun %s", - "Posts for {month} {day}, {year}": "Tulisan untuk {month} {day}, {year}", - "Posts for {month} {year}": "Tulisan untuk {month} {year}", + "Posts for {month_day_year}": "Tulisan untuk {month_day_year}", + "Posts for {month_year}": "Tulisan untuk {month_year}", "Previous post": "Tulisan sebelumnya", + "Previous": "Sebelum", "Publication date": "Tanggal publikasi", "RSS feed": "Sindikasi RSS", "Read in English": "Baca dalam Bahasa Indonesia", @@ -34,11 +37,13 @@ MESSAGES = { "Subcategories:": "Sub kategori:", "Tags and Categories": "Tag dan Kategori", "Tags": "Tag", - "Toggle navigation": "", + "Toggle navigation": "Alih navigasi", "Uncategorized": "Tanpa kategori", + "Up": "Atas", "Updates": "Update", "Write your page here.": "Tulis halaman Anda disini.", "Write your post here.": "Tulis tulisan Anda disini.", "old posts, page %d": "tulisan lama, halaman %d", "page %d": "halaman %d", + "updated": "diperbarui", } diff --git a/nikola/data/themes/base/messages/messages_it.py b/nikola/data/themes/base/messages/messages_it.py index 08a65d5..2af1a62 100644 --- a/nikola/data/themes/base/messages/messages_it.py +++ b/nikola/data/themes/base/messages/messages_it.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "ulteriori %d minuti di lettura", "(active)": "(attivo)", "Also available in:": "Disponibile anche in:", "Archive": "Archivio", + "Atom feed": "Feed Atom", "Authors": "Autori", "Categories": "Categorie", "Comments": "Commenti", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Altri articoli collegati %s", "Newer posts": "Articoli più recenti", "Next post": "Articolo successivo", + "Next": "Successivo", "No posts found.": "Nessun articolo trovato.", "Nothing found.": "Non trovato.", "Older posts": "Articoli precedenti", @@ -22,23 +24,26 @@ MESSAGES = { "Posts about %s": "Articoli su %s", "Posts by %s": "Articoli di %s", "Posts for year %s": "Articoli per l'anno %s", - "Posts for {month} {day}, {year}": "Articoli per il {day} {month} {year}", - "Posts for {month} {year}": "Articoli per {month} {year}", + "Posts for {month_day_year}": "Articoli per il {month_day_year}", + "Posts for {month_year}": "Articoli per {month_year}", "Previous post": "Articolo precedente", + "Previous": "Precedente", "Publication date": "Data di pubblicazione", "RSS feed": "Feed RSS", - "Read in English": "Leggi in inglese", + "Read in English": "Leggi in italiano", "Read more": "Continua la lettura", "Skip to main content": "Vai al testo principale", "Source": "Sorgente", "Subcategories:": "Sottocategorie:", "Tags and Categories": "Tag e categorie", "Tags": "Tag", - "Toggle navigation": "", + "Toggle navigation": "Attiva la navigazione", "Uncategorized": "Senza categorie", + "Up": "Su", "Updates": "Aggiornamenti", "Write your page here.": "Scrivi qui la tua pagina.", "Write your post here.": "Scrivi qui il tuo post.", "old posts, page %d": "vecchi articoli, pagina %d", "page %d": "pagina %d", + "updated": "aggiornato", } diff --git a/nikola/data/themes/base/messages/messages_ja.py b/nikola/data/themes/base/messages/messages_ja.py index f0d752e..fd563ad 100644 --- a/nikola/data/themes/base/messages/messages_ja.py +++ b/nikola/data/themes/base/messages/messages_ja.py @@ -1,30 +1,33 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "残りを読むのに必要な時間は%d分", "(active)": "(有効)", "Also available in:": "他の言語で読む:", - "Archive": "文書一覧", + "Archive": "過去記事一覧", + "Atom feed": "Atomフィード", "Authors": "著者一覧", "Categories": "カテゴリ", "Comments": "コメント", "LANGUAGE": "日本語", "Languages:": "言語:", - "More posts about %s": "%sに関する文書一覧", - "Newer posts": "新しい文書", - "Next post": "次の文書", - "No posts found.": "文書はありません。", + "More posts about %s": "%sに関する記事一覧", + "Newer posts": "新しい記事", + "Next post": "次の記事", + "Next": "次", + "No posts found.": "記事はありません。", "Nothing found.": "なにも見つかりませんでした。", - "Older posts": "過去の文書", + "Older posts": "過去の記事", "Original site": "翻訳元のサイト", "Posted:": "公開日時:", - "Posts about %s": "%sについての文書", - "Posts by %s": "%sの文書一覧", - "Posts for year %s": "%s年の文書", - "Posts for {month} {day}, {year}": "{year}年{month}{day}日の文書", - "Posts for {month} {year}": "{year}年{month}の文書", - "Previous post": "一つ前の文書", + "Posts about %s": "%sについての記事", + "Posts by %s": "%sの記事一覧", + "Posts for year %s": "%s年の記事", + "Posts for {month_day_year}": "{month_day_year}の記事", + "Posts for {month_year}": "{month_year}の記事", + "Previous post": "一つ前の記事", + "Previous": "前", "Publication date": "公開日", "RSS feed": "RSSフィード", "Read in English": "日本語で読む", @@ -34,11 +37,13 @@ MESSAGES = { "Subcategories:": "サブカテゴリ", "Tags and Categories": "カテゴリおよびタグ一覧", "Tags": "タグ", - "Toggle navigation": "", - "Uncategorized": "uncategorized", + "Toggle navigation": "ナビゲーションを隠す", + "Uncategorized": "カテゴリなし", + "Up": "上", "Updates": "フィード", - "Write your page here.": "ここに文書を記述してください。", - "Write your post here.": "ここに文書を記述してください。", - "old posts, page %d": "過去の文書 %dページ目", + "Write your page here.": "ここに記事を記述してください。", + "Write your post here.": "ここに記事を記述してください。", + "old posts, page %d": "過去の記事 %dページ目", "page %d": "ページ%d", + "updated": "更新日時", } diff --git a/nikola/data/themes/base/messages/messages_ko.py b/nikola/data/themes/base/messages/messages_ko.py index 9a87aef..57b6cb9 100644 --- a/nikola/data/themes/base/messages/messages_ko.py +++ b/nikola/data/themes/base/messages/messages_ko.py @@ -1,19 +1,21 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "읽기 %d분 남음.", "(active)": "(활성됨)", "Also available in:": "이곳에서도 가능함:", "Archive": "저장소", + "Atom feed": "", "Authors": "작성자", "Categories": "분류", "Comments": "댓글", - "LANGUAGE": "영어", + "LANGUAGE": "한국어", "Languages:": "언어:", "More posts about %s": "%s에 대한 또다른 포스트", "Newer posts": "최신 포스트", "Next post": "다음 포스트", + "Next": "다음", "No posts found.": "검색된 포스트 없음.", "Nothing found.": "검색 결과 없음.", "Older posts": "옛날 포스트", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "%s에 대한 포스트", "Posts by %s": "%s에 의해 작성된 글", "Posts for year %s": "%s년도 포스트", - "Posts for {month} {day}, {year}": " {year}년 {month}월 {day}일에 작성된 포스트", - "Posts for {month} {year}": "{year}년 {month}월에 쓴 포스트", + "Posts for {month_day_year}": "{month_day_year}에 작성된 포스트", + "Posts for {month_year}": "{month_year}에 쓴 포스트", "Previous post": "이전 포스트", + "Previous": "이전", "Publication date": "발간일", "RSS feed": "RSS 목록", "Read in English": "영어로 읽기", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "태그", "Toggle navigation": "", "Uncategorized": "카테고리 없음", + "Up": "", "Updates": "업데이트", "Write your page here.": "여기에 페이지를 작성하세요.", "Write your post here.": "이곳에 글을 작성하세요.", "old posts, page %d": "이전 포스트, 페이지 %d", "page %d": "페이지 %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_lt.py b/nikola/data/themes/base/messages/messages_lt.py index 54b61d1..d79b940 100644 --- a/nikola/data/themes/base/messages/messages_lt.py +++ b/nikola/data/themes/base/messages/messages_lt.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "liko %d min skaitymo", "(active)": "(aktyvi)", "Also available in:": "Taip pat turimas šiomis kalbomis:", "Archive": "Archyvas", + "Atom feed": "", "Authors": "Autoriai", "Categories": "Kategorijos", "Comments": "Komentarai", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Daugiau įrašų apie %s", "Newer posts": "Naujesni įrašai", "Next post": "Sekantis įrašas", + "Next": "", "No posts found.": "Įrašų nerasta.", "Nothing found.": "Nieko nerasta.", "Older posts": "Senesni įrašai", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Įrašai apie %s", "Posts by %s": "Autoriaus %s įrašai", "Posts for year %s": "%s metų įrašai", - "Posts for {month} {day}, {year}": "{month} {day}, {year} įrašai", - "Posts for {month} {year}": "{month} {year} įrašai", + "Posts for {month_day_year}": "{month_day_year} įrašai", + "Posts for {month_year}": "{month_year} įrašai", "Previous post": "Ankstesnis įrašas", + "Previous": "", "Publication date": "Publikavimo data", "RSS feed": "RSS srautas", "Read in English": "Skaityti lietuviškai", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Žymės", "Toggle navigation": "", "Uncategorized": "Nekategorizuota", + "Up": "", "Updates": "Atnaujinimai", "Write your page here.": "Čia rašykite puslapio tekstą.", "Write your post here.": "Čia rašykite įrašo tekstą.", "old posts, page %d": "seni įrašai, %d puslapis", "page %d": "%d puslapis", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_mi.py b/nikola/data/themes/base/messages/messages_mi.py new file mode 100644 index 0000000..21f9739 --- /dev/null +++ b/nikola/data/themes/base/messages/messages_mi.py @@ -0,0 +1,49 @@ +# -*- encoding:utf-8 -*- +"""Autogenerated file, do not edit. Submit translations on Transifex.""" + +MESSAGES = { + "%d min remaining to read": "", + "(active)": "(mātātoa)", + "Also available in:": "", + "Archive": "Pūranga", + "Atom feed": "", + "Authors": "Kaituhi", + "Categories": "Kāwai", + "Comments": "Kōrerohia", + "LANGUAGE": " Māori", + "Languages:": "Reo", + "More posts about %s": "", + "Newer posts": "", + "Next post": "", + "Next": "Panuku", + "No posts found.": "", + "Nothing found.": "Kīhai i kitea", + "Older posts": "", + "Original site": "", + "Posted:": "", + "Posts about %s": "", + "Posts by %s": "", + "Posts for year %s": "", + "Posts for {month_day_year}": "", + "Posts for {month_year}": "", + "Previous post": "", + "Previous": "Whakamuri", + "Publication date": "", + "RSS feed": "Whāngai RSS", + "Read in English": "", + "Read more": "", + "Skip to main content": "", + "Source": "Matapuna", + "Subcategories:": "", + "Tags and Categories": "Tūtohu me nga kāwai", + "Tags": "Tūtohu", + "Toggle navigation": "", + "Uncategorized": "", + "Up": "Ki runga", + "Updates": "Whakahou", + "Write your page here.": "", + "Write your post here.": "", + "old posts, page %d": "", + "page %d": "whārangi %d", + "updated": "whakahoutia", +} diff --git a/nikola/data/themes/base/messages/messages_ml.py b/nikola/data/themes/base/messages/messages_ml.py new file mode 100644 index 0000000..a818320 --- /dev/null +++ b/nikola/data/themes/base/messages/messages_ml.py @@ -0,0 +1,49 @@ +# -*- encoding:utf-8 -*- +"""Autogenerated file, do not edit. Submit translations on Transifex.""" + +MESSAGES = { + "%d min remaining to read": "%d മിനിട്ട് കൂടി വായിച്ചു തീരാന് ", + "(active)": "(സജീവം)", + "Also available in:": "ലഭ്യമായ ഭാഷകള്:", + "Archive": "ആര്കൈവ്", + "Atom feed": "ആറ്റം ഫിഡ്", + "Authors": "രചയിതാക്കള്", + "Categories": "വിഭാഗങ്ങള്", + "Comments": "കമന്റുകള്", + "LANGUAGE": "മലയാളം", + "Languages:": "ഭാഷകള്:", + "More posts about %s": "%s-നെ കുറിച്ചുള്ള കൂടുതല് രചനകള്", + "Newer posts": "പുതിയ രചനകള്", + "Next post": "അടുത്ത രചന", + "Next": "അടുത്തത്", + "No posts found.": "രചനകള് ലഭ്യമല്ല.", + "Nothing found.": "ഒന്നും ലഭ്യമല്ല.", + "Older posts": "പഴയ രചനകള്", + "Original site": "യഥാര്ഥ സൈറ്റ്", + "Posted:": "എഴുതിയത്:", + "Posts about %s": "%s -നെ കുറിച്ചുള്ള രചനകള്", + "Posts by %s": "%s എഴുതിയ രചനകള്", + "Posts for year %s": "%s-ാം ആണ്ടിലെ രചനകള്", + "Posts for {month_day_year}": "{month_day_year} ലെ രചനകള്", + "Posts for {month_year}": "{month_year} ലെ രചനകള്", + "Previous post": "മുമ്പിലെ രചന", + "Previous": "കഴിഞ്ഞത്", + "Publication date": "പ്രസിദ്ധീകരിച്ച തീയതി", + "RSS feed": "ആര് എസ് എസ് ഫീഡ്", + "Read in English": "മലയാളത്തില് വായിക്കുക", + "Read more": "കൂടുതല് വായിക്കുക", + "Skip to main content": "പ്രധാന ഉള്ളടക്കത്തിലേക്ക് നേരെ പോവുക", + "Source": "സ്രോതസ്സ്", + "Subcategories:": "ഉപവിഭാഗങ്ങള്:", + "Tags and Categories": "ടാഗുകളും വിഭാഗങ്ങളും", + "Tags": "ടാഗുകള്", + "Toggle navigation": "നാവിഗേഷൻ മാറ്റുക", + "Uncategorized": "വേര്തിരിക്കാത്തവ", + "Up": "മുകളിലേക്ക്", + "Updates": "അപ്ഡേറ്റുകൾ", + "Write your page here.": "താങ്കളുടെ താള് ഇവിടെ എഴുതുക.", + "Write your post here.": "താങ്കളുടെ രചന ഇവിടെ എഴുതുക.", + "old posts, page %d": "പഴയ രചനകള്, താള് %d", + "page %d": "താള് %d", + "updated": "പുതുക്കിയത്", +} diff --git a/nikola/data/themes/base/messages/messages_mr.py b/nikola/data/themes/base/messages/messages_mr.py new file mode 100644 index 0000000..49e4fb6 --- /dev/null +++ b/nikola/data/themes/base/messages/messages_mr.py @@ -0,0 +1,49 @@ +# -*- encoding:utf-8 -*- +"""Autogenerated file, do not edit. Submit translations on Transifex.""" + +MESSAGES = { + "%d min remaining to read": "वाचण्यासाठी %d मिनिटे शिल्लक आहेत", + "(active)": "(सक्रिय)", + "Also available in:": "मध्ये देखील उपलब्ध:", + "Archive": "संग्रह", + "Atom feed": "अॅटम फीड", + "Authors": "लेखक", + "Categories": "श्रेणी", + "Comments": "टिप्पण्या", + "LANGUAGE": "मराठी", + "Languages:": "भाषा:", + "More posts about %s": "%s बद्दल अधिक पोस्ट", + "Newer posts": "नवीन पोस्ट्स", + "Next post": "पुढील पोस्ट", + "Next": "पुढे", + "No posts found.": "कोणतीही पोस्ट आढळली नाहीत", + "Nothing found.": "काहीही सापडले नाही.", + "Older posts": "जुने पोस्ट", + "Original site": "मूळ साइट", + "Posted:": "पोस्ट केले:", + "Posts about %s": "%s बद्दल पोस्ट", + "Posts by %s": "%s द्वारा पोस्ट केलेले", + "Posts for year %s": "%s वर्षासाठी पोस्ट", + "Posts for {month_day_year}": "{month_day_year} साठी पोस्ट्स", + "Posts for {month_year}": "{month_year} साठी पोस्ट्स", + "Previous post": "मागील पोस्ट", + "Previous": "मागील", + "Publication date": "प्रकाशन तारीख", + "RSS feed": "आरएसएस फीड", + "Read in English": "मराठी मध्ये वाचा", + "Read more": "अधिक वाचा", + "Skip to main content": "मुख्य सामग्रीकडे जा", + "Source": "स्रोत", + "Subcategories:": "उपश्रेणी:", + "Tags and Categories": "टॅग्ज आणि श्रेण्या", + "Tags": "टॅग्ज", + "Toggle navigation": "नेव्हिगेशन टॉगल करा", + "Uncategorized": "अवर्गीकृत", + "Up": "वर", + "Updates": "अद्यतने", + "Write your page here.": "आपले पृष्ठ येथे लिहा.", + "Write your post here.": "आपले पोस्ट येथे लिहा.", + "old posts, page %d": "जुने पोस्ट, पृष्ठ %d", + "page %d": "पृष्ठ %d", + "updated": "अद्यतनित", +} diff --git a/nikola/data/themes/base/messages/messages_nb.py b/nikola/data/themes/base/messages/messages_nb.py index 8ab0911..599d6ed 100644 --- a/nikola/data/themes/base/messages/messages_nb.py +++ b/nikola/data/themes/base/messages/messages_nb.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d min gjenstår å lese", "(active)": "(aktiv)", "Also available in:": "Også tilgjengelig på:", "Archive": "Arkiv", + "Atom feed": "", "Authors": "", "Categories": "Kategorier", "Comments": "Kommentarer", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Flere innlegg om %s", "Newer posts": "Nyere innlegg", "Next post": "Neste innlegg", + "Next": "", "No posts found.": "Fant ingen innlegg.", "Nothing found.": "Fant ingenting.", "Older posts": "Eldre innlegg", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Innlegg om %s", "Posts by %s": "", "Posts for year %s": "Innlegg fra %s", - "Posts for {month} {day}, {year}": "Innlegg fra {day}. {month} {year}", - "Posts for {month} {year}": "Innlegg fra {month} {year}", + "Posts for {month_day_year}": "Innlegg fra {month_day_year}", + "Posts for {month_year}": "Innlegg fra {month_year}", "Previous post": "Forrige innlegg", + "Previous": "", "Publication date": "Publiseringsdato", "RSS feed": "RSS-nyhetskanal", "Read in English": "Les på norsk", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Merker", "Toggle navigation": "", "Uncategorized": "", + "Up": "", "Updates": "", "Write your page here.": "Skriv siden din her.", "Write your post here.": "Skriv innlegget din her.", "old posts, page %d": "eldre innlegg, side %d", "page %d": "side %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_nl.py b/nikola/data/themes/base/messages/messages_nl.py index 7c5698d..ee98121 100644 --- a/nikola/data/themes/base/messages/messages_nl.py +++ b/nikola/data/themes/base/messages/messages_nl.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d min resterende leestijd ", "(active)": "(actief)", "Also available in:": "Ook beschikbaar in:", "Archive": "Archief", + "Atom feed": "Atom-feed", "Authors": "Auteurs", "Categories": "Categorieën", "Comments": "Commentaar", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Meer berichten over %s", "Newer posts": "Nieuwere berichten", "Next post": "Volgend bericht", + "Next": "Volgende", "No posts found.": "Geen berichten gevonden.", "Nothing found.": "Niets gevonden.", "Older posts": "Oudere berichten", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Berichten over %s", "Posts by %s": "Berichten van %s", "Posts for year %s": "Berichten voor het jaar %s", - "Posts for {month} {day}, {year}": "Berichten voor {month} {day}, {year}", - "Posts for {month} {year}": "Berichten voor {month} {year}", + "Posts for {month_day_year}": "Berichten voor {month_day_year}", + "Posts for {month_year}": "Berichten voor {month_year}", "Previous post": "Vorig bericht", + "Previous": "Vorige", "Publication date": "Publicatiedatum", "RSS feed": "RSS-feed", "Read in English": "Lees in het Nederlands", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Tags", "Toggle navigation": "Toggle navigatie", "Uncategorized": "Ongeordend", + "Up": "Omhoog", "Updates": "Bijgewerkte versies", "Write your page here.": "Schrijf hier je pagina.", "Write your post here.": "Schrijf hier je bericht.", "old posts, page %d": "oude berichten, pagina %d", "page %d": "pagina %d", + "updated": "bijgewerkt", } diff --git a/nikola/data/themes/base/messages/messages_pa.py b/nikola/data/themes/base/messages/messages_pa.py index 5eb76f1..8a0be76 100644 --- a/nikola/data/themes/base/messages/messages_pa.py +++ b/nikola/data/themes/base/messages/messages_pa.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "ਪੜਣ ਲਈ %d ਮਿੰਟ ਬਾਕੀ", "(active)": "(ਚਲੰਤ)", "Also available in:": "ਹੋਰ ਉਪਲਬਧ ਬੋਲੀਆਂ:", "Archive": "ਆਰਕਾਈਵ", + "Atom feed": "ਐਟਮ ਫੀਡ", "Authors": "ਲੇਖਕ", "Categories": "ਸ਼੍ਰੇਣੀ", "Comments": "ਟਿੱਪਣੀਆਂ", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "%s ਬਾਰੇ ਹੋਰ ਲਿਖਤਾਂ", "Newer posts": "ਨਵੀਆਂ ਲਿਖਤਾਂ", "Next post": "ਅਗਲੀ ਲਿਖਤ", + "Next": "ਅੱਗੇ ", "No posts found.": "ਕੋਈ ਲਿਖਤ ਨਹੀਂ ਲੱਭੀ |", "Nothing found.": "ਕੁਝ ਨਹੀਂ ਲੱਭਿਆ |", "Older posts": "ਪੁਰਾਣੀਆਂ ਲਿਖਤਾਂ", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "%s ਬਾਰੇ ਲਿਖਤਾਂ", "Posts by %s": "%s ਦੀ ਲਿਖਤਾਂ", "Posts for year %s": "ਸਾਲ %s ਦੀਆਂ ਲਿਖਤਾਂ", - "Posts for {month} {day}, {year}": "{day} {month} {year} ਦੀਆਂ ਲਿਖਤਾਂ", - "Posts for {month} {year}": "{month} {year} ਦੀਆਂ ਲਿਖਤਾਂ", + "Posts for {month_day_year}": "{month_day_year} ਦੀਆਂ ਲਿਖਤਾਂ", + "Posts for {month_year}": "{month_year} ਦੀਆਂ ਲਿਖਤਾਂ", "Previous post": "ਪਿਛਲੀ ਲਿਖਤ", + "Previous": "ਪਿੱਛੇ ", "Publication date": "ਛਪਾਈ ਦੀ ਤਰੀਕ", "RSS feed": "ਆਰ ਐੱਸ ਐੱਸ ਫੀਡ", "Read in English": "ਪੰਜਾਬੀ ਵਿੱਚ ਪੜ੍ਹੋ", @@ -34,11 +37,13 @@ MESSAGES = { "Subcategories:": "ਉਪਸ਼੍ਰੇਣੀਆਂ:", "Tags and Categories": "ਟੈਗ ਅਤੇ ਸ਼੍ਰੇਣੀਆਂ", "Tags": "ਟੈਗ", - "Toggle navigation": "", + "Toggle navigation": "ਨੈਵੀਗੇਸ਼ਨ ਬਦਲੋ ", "Uncategorized": "ਇਤਾਹਾਸ", + "Up": "ਉੱਤੇ ", "Updates": "ਅੱਪਡੇਟਸ", "Write your page here.": "ਆਪਣਾ ਸਫ਼ਾ ਏਥੇ ਲਿਖੋ |", "Write your post here.": "ਆਪਣੀ ਲਿਖਤ ਏਥੇ ਲਿਖੋ |", "old posts, page %d": "ਪੁਰਾਣੀਆਂ ਲਿਖਤਾਂ , ਸਫ਼ਾ %d", "page %d": "ਸਫ਼ਾ %d", + "updated": "ਅੱਪਡੇਟ ਕੀਤਾ", } diff --git a/nikola/data/themes/base/messages/messages_pl.py b/nikola/data/themes/base/messages/messages_pl.py index 257a31a..2d13e32 100644 --- a/nikola/data/themes/base/messages/messages_pl.py +++ b/nikola/data/themes/base/messages/messages_pl.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "zostało %d minut czytania", "(active)": "(aktywne)", "Also available in:": "Również dostępny w językach:", "Archive": "Archiwum", + "Atom feed": "Kanał Atom", "Authors": "Autorzy", "Categories": "Kategorie", "Comments": "Komentarze", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Więcej postów o %s", "Newer posts": "Nowsze posty", "Next post": "Następny post", + "Next": "Następne", "No posts found.": "Nie znaleziono żadnych postów.", "Nothing found.": "Nic nie znaleziono.", "Older posts": "Starsze posty", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Posty o %s", "Posts by %s": "Posty autora %s", "Posts for year %s": "Posty z roku %s", - "Posts for {month} {day}, {year}": "Posty z {day} {month} {year}", - "Posts for {month} {year}": "Posty z {month} {year}", + "Posts for {month_day_year}": "Posty z {month_day_year}", + "Posts for {month_year}": "Posty z {month_year:MMMM yyyy}", "Previous post": "Poprzedni post", + "Previous": "Poprzednie", "Publication date": "Data publikacji", "RSS feed": "Kanał RSS", "Read in English": "Czytaj po polsku", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Tagi", "Toggle navigation": "Pokaż/ukryj menu", "Uncategorized": "Nieskategoryzowane", + "Up": "Do góry", "Updates": "Aktualności", "Write your page here.": "Tu wpisz treść strony.", "Write your post here.": "Tu wpisz treść postu.", "old posts, page %d": "stare posty, strona %d", "page %d": "strona %d", + "updated": "aktualizacja", } diff --git a/nikola/data/themes/base/messages/messages_pt.py b/nikola/data/themes/base/messages/messages_pt.py index 4a184bd..92c56a2 100644 --- a/nikola/data/themes/base/messages/messages_pt.py +++ b/nikola/data/themes/base/messages/messages_pt.py @@ -1,12 +1,13 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d minutos restante para leitura", "(active)": "(ativo)", "Also available in:": "Também disponível em:", "Archive": "Arquivo", - "Authors": "", + "Atom feed": "Feed Atom", + "Authors": "Autores", "Categories": "Categorias", "Comments": "Comentários", "LANGUAGE": "Português", @@ -14,17 +15,19 @@ MESSAGES = { "More posts about %s": "Mais textos publicados sobre %s", "Newer posts": "Textos publicados mais recentes", "Next post": "Próximo texto publicado", + "Next": "Próximo", "No posts found.": "Nenhum texto publicado foi encontrado", "Nothing found.": "Nada encontrado.", "Older posts": "Textos publicados mais antigos", "Original site": "Sítio original", "Posted:": "Publicado:", "Posts about %s": "Textos publicados sobre %s", - "Posts by %s": "", + "Posts by %s": "Textos publicados por %s", "Posts for year %s": "Textos publicados do ano %s", - "Posts for {month} {day}, {year}": "Textos publicados de {day} {month} {year}", - "Posts for {month} {year}": "Textos publicados de {month} {year}", + "Posts for {month_day_year}": "Textos publicados de {month_day_year}", + "Posts for {month_year}": "Textos publicados de {month_year}", "Previous post": "Texto publicado anterior", + "Previous": "Anterior", "Publication date": "Data de publicação", "RSS feed": "Feed RSS", "Read in English": "Ler em português", @@ -34,11 +37,13 @@ MESSAGES = { "Subcategories:": "Sub-Categorias:", "Tags and Categories": "Etiquetas e Categorias", "Tags": "Etiqueta", - "Toggle navigation": "", - "Uncategorized": "", - "Updates": "", + "Toggle navigation": "Alternar Navegação", + "Uncategorized": "Sem Categoria", + "Up": "Cima", + "Updates": "Actualizaçōes", "Write your page here.": "Escreva a sua página aqui.", "Write your post here.": "Escreva o seu texto para publicar aqui.", "old posts, page %d": "Textos publicados antigos, página %d", "page %d": "página %d", + "updated": "Actualizado", } diff --git a/nikola/data/themes/base/messages/messages_pt_br.py b/nikola/data/themes/base/messages/messages_pt_br.py index b2877e4..f33abcc 100644 --- a/nikola/data/themes/base/messages/messages_pt_br.py +++ b/nikola/data/themes/base/messages/messages_pt_br.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d mín restante para leitura", "(active)": "(ativo)", "Also available in:": "Também disponível em:", "Archive": "Arquivo", + "Atom feed": "Feed Atom", "Authors": "Autores", "Categories": "Categorias", "Comments": "Comentários", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Mais posts sobre %s", "Newer posts": "Posts mais recentes", "Next post": "Próximo post", + "Next": "Próximo", "No posts found.": "Nenhum tópico encontrado.", "Nothing found.": "Nada encontrado.", "Older posts": "Posts mais antigos", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Posts sobre %s", "Posts by %s": "Postado por %s", "Posts for year %s": "Posts do ano %s", - "Posts for {month} {day}, {year}": "Posts do {day} {month}, {year}", - "Posts for {month} {year}": "Posts de {month} {year}", + "Posts for {month_day_year}": "Posts do {month_day_year}", + "Posts for {month_year}": "Posts de {month_year}", "Previous post": "Post anterior", + "Previous": "Anterior", "Publication date": "Data de publicação", "RSS feed": "Feed RSS", "Read in English": "Ler em português", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Tags", "Toggle navigation": "Alternar navegação", "Uncategorized": "Sem categoria", + "Up": "acima", "Updates": "Atualizações", "Write your page here.": "Insira a sua página aqui", "Write your post here.": "Escreva o seu comentário aqui.", "old posts, page %d": "Posts antigos, página %d", "page %d": "página %d", + "updated": "Atualizado", } diff --git a/nikola/data/themes/base/messages/messages_ru.py b/nikola/data/themes/base/messages/messages_ru.py index 0070b94..f2f33cc 100644 --- a/nikola/data/themes/base/messages/messages_ru.py +++ b/nikola/data/themes/base/messages/messages_ru.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d минут чтения осталось", "(active)": "(активная)", "Also available in:": "Также доступно на:", "Archive": "Архив", + "Atom feed": "", "Authors": "Разработчики", "Categories": "Категории", "Comments": "Комментарии", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Больше записей о %s", "Newer posts": "Новые записи", "Next post": "Следующая запись", + "Next": "Следующая", "No posts found.": "Записей не найдено.", "Nothing found.": "Ничего не найдено.", "Older posts": "Старые записи", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Записи о %s", "Posts by %s": "Запись %s", "Posts for year %s": "Записи за %s год", - "Posts for {month} {day}, {year}": "Записи за {day} {month} {year}", - "Posts for {month} {year}": "Записи за {month} {year}", + "Posts for {month_day_year}": "Записи за {month_day_year}", + "Posts for {month_year}": "Записи за {month_year}", "Previous post": "Предыдущая запись", + "Previous": "Предыдущая", "Publication date": "Дата опубликования", "RSS feed": "RSS лента", "Read in English": "Прочесть по-русски", @@ -34,11 +37,13 @@ MESSAGES = { "Subcategories:": "Подкатегории:", "Tags and Categories": "Тэги и категории", "Tags": "Тэги", - "Toggle navigation": "", + "Toggle navigation": "Включить навигацию", "Uncategorized": "Несортированное", + "Up": "Наверх", "Updates": "Обновления", "Write your page here.": "Создайте Вашу страницу здесь.", "Write your post here.": "Создайте Вашу запись здесь.", "old posts, page %d": "%d страница со старыми записями", "page %d": "%d страница", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_si_lk.py b/nikola/data/themes/base/messages/messages_si_lk.py deleted file mode 100644 index 6107c54..0000000 --- a/nikola/data/themes/base/messages/messages_si_lk.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- encoding:utf-8 -*- -from __future__ import unicode_literals - -MESSAGES = { - "%d min remaining to read": "", - "(active)": "", - "Also available in:": "", - "Archive": "", - "Authors": "", - "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 by %s": "", - "Posts for year %s": "", - "Posts for {month} {day}, {year}": "", - "Posts for {month} {year}": "", - "Previous post": "", - "Publication date": "", - "RSS feed": "", - "Read in English": "", - "Read more": "", - "Skip to main content": "", - "Source": "", - "Subcategories:": "", - "Tags and Categories": "", - "Tags": "", - "Toggle navigation": "", - "Uncategorized": "", - "Updates": "", - "Write your page here.": "", - "Write your post here.": "", - "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 7b7df6f..aea46f2 100644 --- a/nikola/data/themes/base/messages/messages_sk.py +++ b/nikola/data/themes/base/messages/messages_sk.py @@ -1,12 +1,13 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "zostáva %d minút na čítanie", "(active)": "(aktívne)", "Also available in:": "Tiež dostupné v:", "Archive": "Archív", - "Authors": "", + "Atom feed": "Atom kanál", + "Authors": "Autori", "Categories": "Kategórie", "Comments": "Komentáre", "LANGUAGE": "Slovenčina", @@ -14,17 +15,19 @@ MESSAGES = { "More posts about %s": "Viac príspevkov o %s", "Newer posts": "Novšie príspevky", "Next post": "Nasledujúci príspevok", + "Next": "Nasledujúci", "No posts found.": "Žiadne príspevky nenájdené", "Nothing found.": "Nič nenájdené.", "Older posts": "Staršie príspevky", "Original site": "Pôvodná stránka", "Posted:": "Zverejnené:", "Posts about %s": "Príspevky o %s", - "Posts by %s": "", + "Posts by %s": "Príspevky od %s", "Posts for year %s": "Príspevky z roku %s", - "Posts for {month} {day}, {year}": "Príspevky zo dňa {day}. {month} {year}", - "Posts for {month} {year}": "Príspevky za mesiac {month} z roku {year}", + "Posts for {month_day_year}": "Príspevky zo dňa {day}. {month_year}", + "Posts for {month_year}": "Príspevky za mesiac {month} z roku {year}", "Previous post": "Predchádzajúci príspevok", + "Previous": "Predchádzajúci", "Publication date": "Dátum zverejnenia", "RSS feed": "RSS kanál", "Read in English": "Čítať v slovenčine", @@ -34,11 +37,13 @@ MESSAGES = { "Subcategories:": "Podkategórie:", "Tags and Categories": "Štítky a kategórie", "Tags": "Štítky", - "Toggle navigation": "", - "Uncategorized": "", - "Updates": "", + "Toggle navigation": "Prepnúť navigáciu", + "Uncategorized": "Nekategorizované", + "Up": "Dohora", + "Updates": "Aktualizácie", "Write your page here.": "Tu napíšte svoju stránku.", "Write your post here.": "Tu napíšte svoj príspevok.", "old posts, page %d": "staré príspevky, strana %d", "page %d": "stránka %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_sl.py b/nikola/data/themes/base/messages/messages_sl.py index 31f3a58..6bd6370 100644 --- a/nikola/data/themes/base/messages/messages_sl.py +++ b/nikola/data/themes/base/messages/messages_sl.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "še %d min za branje preostanka", "(active)": "", "Also available in:": "Na voljo tudi v:", "Archive": "Arhiv", + "Atom feed": "", "Authors": "", "Categories": "Kategorije", "Comments": "Komentarji", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Več objav o %s", "Newer posts": "Novejše objave", "Next post": "Naslednja objava", + "Next": "", "No posts found.": "Ni najdenih objav.", "Nothing found.": "Brez zadetkov.", "Older posts": "Starejše objave", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Objave o %s", "Posts by %s": "", "Posts for year %s": "Objave za leto %s", - "Posts for {month} {day}, {year}": "Objave za {day}. {month}, {year}", - "Posts for {month} {year}": "Objave za {month} {year}", + "Posts for {month_day_year}": "Objave za {month_day_year}", + "Posts for {month_year}": "Objave za {month_year}", "Previous post": "Prejšnja objava", + "Previous": "", "Publication date": "Datum objave", "RSS feed": "vir RSS", "Read in English": "Beri v slovenščini", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Značke", "Toggle navigation": "", "Uncategorized": "", + "Up": "", "Updates": "", "Write your page here.": "", "Write your post here.": "", "old posts, page %d": "stare objave, stran %d", "page %d": "stran %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_sq.py b/nikola/data/themes/base/messages/messages_sq.py index 6d5e39a..088cdcb 100644 --- a/nikola/data/themes/base/messages/messages_sq.py +++ b/nikola/data/themes/base/messages/messages_sq.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d min ngelen për tu lexuar", "(active)": "(aktiv)", "Also available in:": "Gjithashtu e disponueshme në:", "Archive": "Arkiva", + "Atom feed": "", "Authors": "Autorë", "Categories": "Kategori", "Comments": "Komente", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Më shumë postime rreth %s", "Newer posts": "Postime më të reja", "Next post": "Postimi i rradhës", + "Next": "", "No posts found.": "Nuk është gjetur asnjë post.", "Nothing found.": "Nuk është gjetur asgjë.", "Older posts": "Postime më të vjetra", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Postime rreth %s", "Posts by %s": "Postime nga %s", "Posts for year %s": "Postime për vitin %s", - "Posts for {month} {day}, {year}": "Postime për {month} {day}, {year}", - "Posts for {month} {year}": "Postime për {month} {year}", + "Posts for {month_day_year}": "Postime për {month_day_year}", + "Posts for {month_year}": "Postime për {month_year}", "Previous post": "Postim i kaluar", + "Previous": "", "Publication date": "Data e publikimit", "RSS feed": "Furnizim RSS", "Read in English": "Lexo në Shqip", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Etiketa", "Toggle navigation": "", "Uncategorized": "E pa kategorizuar", + "Up": "", "Updates": "Përditësime", "Write your page here.": "Shkruaj faqen tënde këtu.", "Write your post here.": "Shkruaj postin tënd këtu.", "old posts, page %d": "Postime të kaluara, faqe %d", "page %d": "faqe %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_sr.py b/nikola/data/themes/base/messages/messages_sr.py index 03f1024..98e023e 100644 --- a/nikola/data/themes/base/messages/messages_sr.py +++ b/nikola/data/themes/base/messages/messages_sr.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d минута је преостало за читање", "(active)": "(активно)", "Also available in:": "Такође доступан у:", "Archive": "Архива", + "Atom feed": "", "Authors": "", "Categories": "Категорије", "Comments": "Коментари", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Више постова о %s", "Newer posts": "Новији постови", "Next post": "Следећи пост", + "Next": "", "No posts found.": "Нема постова.", "Nothing found.": "Није ништа пронађено.", "Older posts": "Старији постови", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Постови о %s", "Posts by %s": "", "Posts for year %s": "Постови за годину %s", - "Posts for {month} {day}, {year}": "Објаве за {month} {day}, {year}", - "Posts for {month} {year}": "Постови за {month} {year}", + "Posts for {month_day_year}": "Објаве за {month_day_year}", + "Posts for {month_year}": "Постови за {month_year}", "Previous post": "Претходни пост", + "Previous": "", "Publication date": "Датум објаве", "RSS feed": "RSS feed", "Read in English": "Прочитај на српском", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Тагови", "Toggle navigation": "", "Uncategorized": "", + "Up": "", "Updates": "", "Write your page here.": "Вашу страницу напишите овдје.", "Write your post here.": "Вашу објаву напишите овдје.", "old posts, page %d": "стари постови, страна %d", "page %d": "страна %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_sr_latin.py b/nikola/data/themes/base/messages/messages_sr_latin.py index f7f3727..4b1e827 100644 --- a/nikola/data/themes/base/messages/messages_sr_latin.py +++ b/nikola/data/themes/base/messages/messages_sr_latin.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d minuta preostalo za čitanje", "(active)": "(aktivno)", "Also available in:": "Takođe dostupan u:", "Archive": "Arhiva", + "Atom feed": "", "Authors": "", "Categories": "Kategorije", "Comments": "Komentari", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Više objava o %s", "Newer posts": "Novije objave", "Next post": "Naredna objava", + "Next": "", "No posts found.": "Nema objava.", "Nothing found.": "Ništa nije pronađeno.", "Older posts": "Starije objave", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Objave o %s", "Posts by %s": "", "Posts for year %s": "Objave u godini %s", - "Posts for {month} {day}, {year}": "Objave za {month} {day}, {year}", - "Posts for {month} {year}": "Objave za {month} {year}", + "Posts for {month_day_year}": "Objave za {month_day_year}", + "Posts for {month_year}": "Objave za {month_year}", "Previous post": "Prethodne objave", + "Previous": "", "Publication date": "Datum objavljivanja", "RSS feed": "RSS feed", "Read in English": "Pročitaj na bosanskom", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Oznake", "Toggle navigation": "", "Uncategorized": "", + "Up": "", "Updates": "", "Write your page here.": "Vašu stranicu napišite ovdje.", "Write your post here.": "Vašu objavu napišite ovdje.", "old posts, page %d": "stare objave, strana %d", "page %d": "strana %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_sv.py b/nikola/data/themes/base/messages/messages_sv.py index 106138f..ce56b11 100644 --- a/nikola/data/themes/base/messages/messages_sv.py +++ b/nikola/data/themes/base/messages/messages_sv.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d minuter kvar att läsa", "(active)": "(aktiv)", "Also available in:": "Även tillgänglig på:", "Archive": "Arkiv", + "Atom feed": "", "Authors": "", "Categories": "Kategorier", "Comments": "Kommentarer", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "Fler inlägg om %s", "Newer posts": "Nya inlägg", "Next post": "Nästa inlägg", + "Next": "", "No posts found.": "Inga inlägg hittade.", "Nothing found.": "Inget hittat.", "Older posts": "Äldre inlägg", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "Inlägg om %s", "Posts by %s": "", "Posts for year %s": "Inlägg för år %s", - "Posts for {month} {day}, {year}": "Inlägg för {month} {day}, {year}", - "Posts for {month} {year}": "Inlägg för {month} {year}", + "Posts for {month_day_year}": "Inlägg för {month_day_year}", + "Posts for {month_year}": "Inlägg för {month_year}", "Previous post": "Föregående inlägg", + "Previous": "", "Publication date": "Publiceringsdatum", "RSS feed": "RSS-flöde", "Read in English": "Läs på svenska", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Taggar", "Toggle navigation": "", "Uncategorized": "", + "Up": "", "Updates": "", "Write your page here.": "Skriv din sida här.", "Write your post here.": "Skriv ditt inlägg här.", "old posts, page %d": "gamla inlägg, sida %d", "page %d": "sida %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_te.py b/nikola/data/themes/base/messages/messages_te.py index 70d8150..385ff0b 100644 --- a/nikola/data/themes/base/messages/messages_te.py +++ b/nikola/data/themes/base/messages/messages_te.py @@ -1,44 +1,49 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d నిమిషాలు చదవడానికి కావలెను ", "(active)": "(క్రియాశీల)", "Also available in:": "ఇందులో కూడా లభించును:", "Archive": "అభిలేఖలు ", + "Atom feed": "అటామ్ ఫీడ్", "Authors": "రచయితలు", "Categories": "వర్గాలు", "Comments": "వ్యాఖ్యలు", - "LANGUAGE": "ఆంగ్లం ", + "LANGUAGE": "తెలుగు", "Languages:": "భాషలు:", "More posts about %s": "%s గూర్చి మరిన్ని టపాలు", "Newer posts": "కొత్త టపాలు", - "Next post": "తరువాత టపా", - "No posts found.": "", - "Nothing found.": "", + "Next post": "తరువాతి టపా", + "Next": "తరువాతి", + "No posts found.": "టపాలు ఏవీ కనుగొనబడలేదు.", + "Nothing found.": "ఏదీ కనుగొనబడలేదు.", "Older posts": "పాత టపాలు", "Original site": "వాస్తవ సైట్", "Posted:": "ప్రచురుంచిన తేదీ:", "Posts about %s": "%s గూర్చి టపాలు", "Posts by %s": "%s యొక్క టపాలు", "Posts for year %s": "%s సంవత్సర టపాలు", - "Posts for {month} {day}, {year}": "", - "Posts for {month} {year}": "", + "Posts for {month_day_year}": "{month_day_year} యొక్క టపాలు", + "Posts for {month_year}": "{month_year} యొక్క టపాలు", "Previous post": "మునుపటి టపా", + "Previous": "మునుపటి", "Publication date": "ప్రచురణ తేదీ", "RSS feed": "RSS ఫీడ్", - "Read in English": "ఆంగ్లంలో చదవండి", + "Read in English": "తెలుగులో చదవండి", "Read more": "ఇంకా చదవండి", "Skip to main content": "ప్రధాన విషయానికి వెళ్ళు", "Source": "మూలం", "Subcategories:": "ఉపవర్గాలు:", "Tags and Categories": "ట్యాగ్లు మరియు వర్గాలు", "Tags": "ట్యాగ్లు", - "Toggle navigation": "", + "Toggle navigation": "నావిగేషన్ను టోగుల్ చేయండి", "Uncategorized": "వర్గీకరించని", + "Up": "పైకి", "Updates": "నవీకరణలు", "Write your page here.": "మీ పేజీ ఇక్కడ రాయండి.", "Write your post here.": "ఇక్కడ మీ టపా ను వ్రాయండి.", "old posts, page %d": "పాత టపాలు, పేజీ %d", "page %d": "పేజీ %d", + "updated": "నవీకరించబడింది", } diff --git a/nikola/data/themes/base/messages/messages_th.py b/nikola/data/themes/base/messages/messages_th.py new file mode 100644 index 0000000..a46f9ca --- /dev/null +++ b/nikola/data/themes/base/messages/messages_th.py @@ -0,0 +1,49 @@ +# -*- encoding:utf-8 -*- +"""Autogenerated file, do not edit. Submit translations on Transifex.""" + +MESSAGES = { + "%d min remaining to read": "ใช้เวลาอ่านอีก %d นาที", + "(active)": "(ถูกใช้งาน)", + "Also available in:": "ภาษาอื่นๆ:", + "Archive": "คลังโพสต์", + "Atom feed": "ฟีด Atom", + "Authors": "ผู้เขียน", + "Categories": "หมวดหมู่", + "Comments": "ความคิดเห็น", + "LANGUAGE": "ภาษาไทย", + "Languages:": "ภาษา:", + "More posts about %s": "โพสต์เพิ่มเติมเกี่ยวกับ %s", + "Newer posts": "โพสต์มาใหม่", + "Next post": "โพสต์ถัดไป", + "Next": "ถัดไป", + "No posts found.": "ไม่พบโพสต์.", + "Nothing found.": "ไม่พบ", + "Older posts": "โพสต์เก่า", + "Original site": "เว็บไซต์ที่มา", + "Posted:": "โพสต์เมื่อ:", + "Posts about %s": "โพสต์เกี่ยวกับ %s", + "Posts by %s": "โพสต์โดย %s", + "Posts for year %s": "โพสต์เมื่อปี %s", + "Posts for {month_day_year}": "โพสต์เมื่อ {month_day_year}", + "Posts for {month_year}": "โพสต์เมื่อ {month_year}", + "Previous post": "โพสต์ก่อนหน้า", + "Previous": "ก่อนหน้า", + "Publication date": "วันที่ตีพิมพ์", + "RSS feed": "ฟีด RSS", + "Read in English": "อ่านเป็นภาษาไทย", + "Read more": "อ่านเพิ่มเติม", + "Skip to main content": "ข้ามไปหน้าหลัก", + "Source": "แหล่งที่มา", + "Subcategories:": "หมวดหมู่ย่อย:", + "Tags and Categories": "แท็กและหมวดหมู่", + "Tags": "แท็ก", + "Toggle navigation": "เมนูบาร์", + "Uncategorized": "ไม่มีหมวดหมู่", + "Up": "ขึ้นด้านบน", + "Updates": "อัพเดด", + "Write your page here.": "เขียนเพจที่นี่", + "Write your post here.": "เขียนโพสต์ที่นี่", + "old posts, page %d": "โพสต์เก่า, หน้า %d", + "page %d": "หน้า %d", + "updated": "", +} diff --git a/nikola/data/themes/base/messages/messages_tl.py b/nikola/data/themes/base/messages/messages_tl.py deleted file mode 100644 index 1b85eb4..0000000 --- a/nikola/data/themes/base/messages/messages_tl.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- encoding:utf-8 -*- -from __future__ import unicode_literals - -MESSAGES = { - "%d min remaining to read": "", - "(active)": "", - "Also available in:": "", - "Archive": "", - "Authors": "", - "Categories": "", - "Comments": "", - "LANGUAGE": "Ingles", - "Languages:": "Mga Wika:", - "More posts about %s": "", - "Newer posts": "", - "Next post": "Susunod", - "No posts found.": "", - "Nothing found.": "", - "Older posts": "", - "Original site": "", - "Posted:": "", - "Posts about %s": "", - "Posts by %s": "", - "Posts for year %s": "", - "Posts for {month} {day}, {year}": "", - "Posts for {month} {year}": "", - "Previous post": "", - "Publication date": "", - "RSS feed": "", - "Read in English": "", - "Read more": "", - "Skip to main content": "", - "Source": "", - "Subcategories:": "", - "Tags and Categories": "", - "Tags": "Mga Tag", - "Toggle navigation": "", - "Uncategorized": "", - "Updates": "", - "Write your page here.": "", - "Write your post here.": "", - "old posts, page %d": "", - "page %d": "", -} diff --git a/nikola/data/themes/base/messages/messages_tr.py b/nikola/data/themes/base/messages/messages_tr.py index e09dcb8..8249f42 100644 --- a/nikola/data/themes/base/messages/messages_tr.py +++ b/nikola/data/themes/base/messages/messages_tr.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d dakikalık okuma", "(active)": "(etkin)", "Also available in:": "Şu dilde de mevcut:", "Archive": "Arşiv", + "Atom feed": "", "Authors": "Yazarlar", "Categories": "Kategoriler", "Comments": "Yorumlar", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "%s hakkında diğer yazılar", "Newer posts": "Daha yeni yazılar", "Next post": "Sonraki yazı", + "Next": "", "No posts found.": "Yazı bulunamadı.", "Nothing found.": "Hiçbir şey bulunamadı.", "Older posts": "Daha eski yazılar", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "%s ile ilgili yazılar", "Posts by %s": "%s tarafından yazılanlar", "Posts for year %s": "%s yılındaki yazılar", - "Posts for {month} {day}, {year}": "{month} {day}, {year} tarihinden itibaren yazılar", - "Posts for {month} {year}": "{month} {year} göre yazılar", + "Posts for {month_day_year}": "{month_day_year} tarihinden itibaren yazılar", + "Posts for {month_year}": "{month_year} göre yazılar", "Previous post": "Önceki yazı", + "Previous": "", "Publication date": "Yayınlanma tarihi", "RSS feed": "RSS kaynağı", "Read in English": "Türkçe olarak oku", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "Etiketler", "Toggle navigation": "", "Uncategorized": "Kategorisiz", + "Up": "", "Updates": "Güncellemeler", "Write your page here.": "Sayfanızı buraya yazın.", "Write your post here.": "Yazınızı buraya yazın.", "old posts, page %d": "eski yazılar, sayfa %d", "page %d": "sayfa %d", + "updated": "", } diff --git a/nikola/data/themes/base/messages/messages_uk.py b/nikola/data/themes/base/messages/messages_uk.py index 327a5d9..2a6d84f 100644 --- a/nikola/data/themes/base/messages/messages_uk.py +++ b/nikola/data/themes/base/messages/messages_uk.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "Залишилось читати %d хвилин", "(active)": "(активне)", "Also available in:": "Іншою мовою:", "Archive": "Архів", + "Atom feed": "Стрічка у форматі Atom", "Authors": "Автори", "Categories": "Категорії", "Comments": "Коментарі", @@ -14,19 +15,21 @@ MESSAGES = { "More posts about %s": "Більше статей про %s", "Newer posts": "Новіші статті", "Next post": "Наступна стаття", + "Next": "Вперед", "No posts found.": "Не знайдено жодної статті", "Nothing found.": "Нічого не знайдено", - "Older posts": "Більш старі статті", + "Older posts": "Старіші статті", "Original site": "Оригінал сайту", "Posted:": "Опублікована:", "Posts about %s": "Статті про %s", "Posts by %s": "Статті %s", "Posts for year %s": "Статті за %s рік", - "Posts for {month} {day}, {year}": "Статті за {month} {day}, {year}", - "Posts for {month} {year}": "Статті за {month} {year}", + "Posts for {month_day_year}": "Статті за {month_day_year}", + "Posts for {month_year}": "Статті за {month_year}", "Previous post": "Попередня стаття", + "Previous": "Назад", "Publication date": "Дата публікації", - "RSS feed": "RSS-стрічка", + "RSS feed": "Стрічка у форматі RSS", "Read in English": "Читати українською", "Read more": "Читати далі", "Skip to main content": "Перейти до основного матеріалу", @@ -34,11 +37,13 @@ MESSAGES = { "Subcategories:": "Підкатегорії:", "Tags and Categories": "Теги і категорії", "Tags": "Теги", - "Toggle navigation": "", + "Toggle navigation": "Перемкнути навігацію", "Uncategorized": "Без категорії", + "Up": "Нагору", "Updates": "Підписки", "Write your page here.": "Напишіть Вашу сторінку тут.", "Write your post here.": "Напишить Вашу статтю тут.", "old posts, page %d": "старі статті, сторінка %d", "page %d": "сторінка %d", + "updated": "оновлено", } diff --git a/nikola/data/themes/base/messages/messages_ur.py b/nikola/data/themes/base/messages/messages_ur.py index 055f72e..2e6cd49 100644 --- a/nikola/data/themes/base/messages/messages_ur.py +++ b/nikola/data/themes/base/messages/messages_ur.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "%d منٹ کا مطالعہ باقی", "(active)": "(فعال)", "Also available in:": "ان میں بھی دستیاب:", "Archive": "آرکائیو", + "Atom feed": "ایٹم فِیڈ", "Authors": "مصنفین", "Categories": "زمرے", "Comments": "تبصرے", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "%s کے بارے میں مزید تحاریر", "Newer posts": "نئی تحاریر", "Next post": "اگلی تحریر", + "Next": "آگے", "No posts found.": "کوئی تحریر نہیں مل سکی۔", "Nothing found.": "کچھ نہیں مل سکا۔", "Older posts": "پرانی تحاریر", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "%s کے بارے میں تحاریر", "Posts by %s": "%s کی تحاریر", "Posts for year %s": "سال %s کی تحاریر", - "Posts for {month} {day}, {year}": "{day} {month}، {year} کی تحاریر", - "Posts for {month} {year}": "{month} {year} کی تحاریر", + "Posts for {month_day_year}": "{month_day_year} کی تحاریر", + "Posts for {month_year}": "{month_year} کی تحاریر", "Previous post": "پچھلی تحریر", + "Previous": "پیچھے", "Publication date": "تاریخِ اشاعت", "RSS feed": "آر ایس ایس فیڈ", "Read in English": "اردو میں پڑھیں", @@ -34,11 +37,13 @@ MESSAGES = { "Subcategories:": "ذیلی زمرے", "Tags and Categories": "ٹیگز اور زمرے", "Tags": "ٹیگز", - "Toggle navigation": "", + "Toggle navigation": "نیویگیشن ہٹائیں/دکھائیں", "Uncategorized": "بے زمرہ", + "Up": "اوپر", "Updates": "تازہ ترین", "Write your page here.": "اپنے صفحے کا متن یہاں لکھیں۔", "Write your post here.": "اپنی تحریر یہاں لکھیں۔", "old posts, page %d": "پرانی تحاریر صفحہ %d", "page %d": "صفحہ %d", + "updated": "تازہ کاری", } diff --git a/nikola/data/themes/base/messages/messages_vi.py b/nikola/data/themes/base/messages/messages_vi.py new file mode 100644 index 0000000..5ec8bbe --- /dev/null +++ b/nikola/data/themes/base/messages/messages_vi.py @@ -0,0 +1,49 @@ +# -*- encoding:utf-8 -*- +"""Autogenerated file, do not edit. Submit translations on Transifex.""" + +MESSAGES = { + "%d min remaining to read": "Cần %d phút để đọc", + "(active)": "(active)", + "Also available in:": "Cũng có sẵn trong:", + "Archive": "Kho", + "Atom feed": "Nguồn cung cấp dữ liệu Atom", + "Authors": "Tác giả", + "Categories": "Thể loại", + "Comments": "Bình luận", + "LANGUAGE": "Tiếng Việt", + "Languages:": "Ngôn ngữ:", + "More posts about %s": "Các bài đăng khác về %s", + "Newer posts": "Bài viết gần đây", + "Next post": "Bài viết tiếp theo", + "Next": "Kế tiếp", + "No posts found.": "Không tìm thấy bài viết.", + "Nothing found.": "Không có kết quả.", + "Older posts": "Bài viết trước đây", + "Original site": "Trang gốc", + "Posted:": "Đã đăng:", + "Posts about %s": "Bài viết về %s", + "Posts by %s": "Bài đăng bởi %s", + "Posts for year %s": "Các bài viết trong năm %s", + "Posts for {month_day_year}": "Các bài đã đăng {month_day_year}", + "Posts for {month_year}": "Các bài đã đăng {month_year}", + "Previous post": "Bài viết trước", + "Previous": "Trước", + "Publication date": "Ngày phát hành", + "RSS feed": "Nguồn cung cấp dữ liệu RSS", + "Read in English": "Phiên bản Tiếng Việt", + "Read more": "Đọc thêm", + "Skip to main content": "Chuyển đến nội dung chính", + "Source": "Nguồn", + "Subcategories:": "Thể loại con:", + "Tags and Categories": "Thẻ và Thể loại", + "Tags": "Thẻ", + "Toggle navigation": "Chuyển điều hướng", + "Uncategorized": "Chưa được phân loại", + "Up": "Trở lên", + "Updates": "Cập nhật", + "Write your page here.": "Bắt đầu viết nội dung của trang ở đây.", + "Write your post here.": "Bắt đầu viết bài ở đây.", + "old posts, page %d": "các bài viết trước đây, trang %d", + "page %d": "trang %d", + "updated": "Đã được cập nhật", +} diff --git a/nikola/data/themes/base/messages/messages_zh_cn.py b/nikola/data/themes/base/messages/messages_zh_cn.py index 84e4317..df8570b 100644 --- a/nikola/data/themes/base/messages/messages_zh_cn.py +++ b/nikola/data/themes/base/messages/messages_zh_cn.py @@ -1,44 +1,49 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { - "%d min remaining to read": "剩余 %d 分钟去阅读", + "%d min remaining to read": "剩余阅读时间 %d 分钟", "(active)": "(活跃)", - "Also available in:": "其他语言版本:", - "Archive": "文章存档", + "Also available in:": "也可用于:", + "Archive": "文章归档", + "Atom feed": "Atom 源", "Authors": "作者", "Categories": "分类", - "Comments": "注释", + "Comments": "评论", "LANGUAGE": "简体中文", "Languages:": "语言:", - "More posts about %s": "更多 %s 相关文章", - "Newer posts": "新一篇", - "Next post": "后一篇", + "More posts about %s": "关于%s 的更多文章 ", + "Newer posts": "较新的文章", + "Next post": "下一篇文章", + "Next": "项下", "No posts found.": "没有找到文章", "Nothing found.": "没有找到。", - "Older posts": "旧一篇", + "Older posts": "以前的文章", "Original site": "原文地址", "Posted:": "发表于:", - "Posts about %s": "文章分类:%s", - "Posts by %s": "%s 发布", + "Posts about %s": "关于文章 %s", + "Posts by %s": "文章有%s发布", "Posts for year %s": "%s年文章", - "Posts for {month} {day}, {year}": "{year}年{month}月{day}日文章", - "Posts for {month} {year}": "{year}年{month}月文章", - "Previous post": "前一篇", + "Posts for {month_day_year}": "{month_day_year}文章", + "Posts for {month_year}": "{month_year}文章", + "Previous post": "上一篇文章", + "Previous": "以前", "Publication date": "发布日期", "RSS feed": "RSS 源", - "Read in English": "中文版", - "Read more": "更多", + "Read in English": "阅读简体中文", + "Read more": "阅读更多", "Skip to main content": "跳到主内容", - "Source": "源代码", + "Source": "源文件", "Subcategories:": "子类别:", "Tags and Categories": "标签和分类", "Tags": "标签", - "Toggle navigation": "", + "Toggle navigation": "展开导航栏", "Uncategorized": "未分类", + "Up": "向上", "Updates": "更新", "Write your page here.": "在这里书写你的页面。", "Write your post here.": "在这里书写你的文章。", "old posts, page %d": "旧文章页 %d", "page %d": "第 %d 页", + "updated": "更新", } diff --git a/nikola/data/themes/base/messages/messages_zh_tw.py b/nikola/data/themes/base/messages/messages_zh_tw.py index e6de0ff..ee4befd 100644 --- a/nikola/data/themes/base/messages/messages_zh_tw.py +++ b/nikola/data/themes/base/messages/messages_zh_tw.py @@ -1,11 +1,12 @@ # -*- encoding:utf-8 -*- -from __future__ import unicode_literals +"""Autogenerated file, do not edit. Submit translations on Transifex.""" MESSAGES = { "%d min remaining to read": "尚餘 %d 分鐘", "(active)": "(啟用)", "Also available in:": "其他語言版本:", "Archive": "彙整", + "Atom feed": "", "Authors": "作者", "Categories": "分類", "Comments": "迴響", @@ -14,6 +15,7 @@ MESSAGES = { "More posts about %s": "更多 %s 的文章", "Newer posts": "較新的文章", "Next post": "下一篇", + "Next": "下一篇", "No posts found.": "沒有找到文章。", "Nothing found.": "沒有找到。", "Older posts": "較舊的文章", @@ -22,9 +24,10 @@ MESSAGES = { "Posts about %s": "文章分類:%s", "Posts by %s": "%s 發佈", "Posts for year %s": "%s 年的文章", - "Posts for {month} {day}, {year}": "{year}年{month}月{day}日的文章", - "Posts for {month} {year}": "{year}年{month}月的文章", + "Posts for {month_day_year}": "{month_day_year}的文章", + "Posts for {month_year}": "{month_year}的文章", "Previous post": "上一篇", + "Previous": "上一篇", "Publication date": "發佈日期", "RSS feed": "RSS 訂閱", "Read in English": "繁體中文版", @@ -36,9 +39,11 @@ MESSAGES = { "Tags": "標籤", "Toggle navigation": "切換導航", "Uncategorized": "未分類", + "Up": "向上", "Updates": "更新", "Write your page here.": "從這裡開始編輯頁面", "Write your post here.": "從這裡開始編輯文章", "old posts, page %d": "舊文章,第 %d 頁", "page %d": "第 %d 頁", + "updated": "", } diff --git a/nikola/data/themes/base/templates/archive.tmpl b/nikola/data/themes/base/templates/archive.tmpl new file mode 100644 index 0000000..d6f107c --- /dev/null +++ b/nikola/data/themes/base/templates/archive.tmpl @@ -0,0 +1 @@ +<%inherit file="list_post.tmpl"/> diff --git a/nikola/data/themes/base/templates/archive_navigation_helper.tmpl b/nikola/data/themes/base/templates/archive_navigation_helper.tmpl new file mode 100644 index 0000000..506629f --- /dev/null +++ b/nikola/data/themes/base/templates/archive_navigation_helper.tmpl @@ -0,0 +1,27 @@ +## -*- coding: utf-8 -*- + +<%def name="archive_navigation()"> +%if 'archive_page' in pagekind: + %if has_archive_navigation: + <nav class="archivenav"> + <ul class="pager"> + %if previous_archive: + <li class="previous"><a href="${previous_archive}" rel="prev">${messages("Previous")}</a></li> + %else: + <li class="previous disabled"><a href="#" rel="prev">${messages("Previous")}</a></li> + % endif + %if up_archive: + <li class="up"><a href="${up_archive}" rel="up">${messages("Up")}</a></li> + %else: + <li class="up disabled"><a href="#" rel="up">${messages("Up")}</a></li> + %endif + %if next_archive: + <li class="next"><a href="${next_archive}" rel="next">${messages("Next")}</a></li> + %else: + <li class="next disabled"><a href="#" rel="next">${messages("Next")}</a></li> + %endif + </ul> + </nav> + %endif +% endif +</%def> diff --git a/nikola/data/themes/base/templates/archiveindex.tmpl b/nikola/data/themes/base/templates/archiveindex.tmpl index 8c58f13..eb4dd27 100644 --- a/nikola/data/themes/base/templates/archiveindex.tmpl +++ b/nikola/data/themes/base/templates/archiveindex.tmpl @@ -1,13 +1,20 @@ ## -*- coding: utf-8 -*- <%inherit file="index.tmpl"/> +<%namespace name="archive_nav" file="archive_navigation_helper.tmpl" import="*"/> +<%namespace name="feeds_translations" file="feeds_translations_helper.tmpl" import="*"/> <%block name="extra_head"> ${parent.extra_head()} - %if len(translations) > 1 and generate_atom: - %for language in sorted(translations): - <link rel="alternate" type="application/atom+xml" title="Atom for the ${archive_name} section (${language})" href="${_link("archive_atom", archive_name, language)}"> - %endfor - %elif generate_atom: - <link rel="alternate" type="application/atom+xml" title="Atom for the ${archive_name} archive" href="${_link("archive_atom", archive_name)}"> - %endif + ${feeds_translations.head(archive_name, kind, rss_override=False)} +</%block> + +<%block name="content_header"> + <header> + <h1>${title|h}</h1> + ${archive_nav.archive_navigation()} + <div class="metadata"> + ${feeds_translations.feed_link(archive, kind)} + ${feeds_translations.translation_link(kind)} + </div> + </header> </%block> diff --git a/nikola/data/themes/base/templates/author.tmpl b/nikola/data/themes/base/templates/author.tmpl index 21d8d64..983f118 100644 --- a/nikola/data/themes/base/templates/author.tmpl +++ b/nikola/data/themes/base/templates/author.tmpl @@ -1,43 +1,28 @@ ## -*- coding: utf-8 -*- <%inherit file="list_post.tmpl"/> +<%namespace name="feeds_translations" file="feeds_translations_helper.tmpl" import="*"/> <%block name="extra_head"> - ${parent.extra_head()} - %if len(translations) > 1 and generate_rss: - %for language in sorted(translations): - <link rel="alternate" type="application/rss+xml" title="RSS for ${kind} ${author|h} (${language})" href="${_link(kind + "_rss", author, language)}"> - %endfor - %elif generate_rss: - <link rel="alternate" type="application/rss+xml" title="RSS for ${kind} ${author|h}" href="${_link(kind + "_rss", author)}"> - %endif + ${feeds_translations.head(author, kind, rss_override=False)} </%block> - <%block name="content"> <article class="authorpage"> <header> <h1>${title|h}</h1> %if description: - <p>${description}</p> + <p>${description}</p> %endif <div class="metadata"> - %if len(translations) > 1 and generate_rss: - %for language in sorted(translations): - <p class="feedlink"> - <a href="${_link(kind + "_rss", author, language)}" hreflang="${language}" type="application/rss+xml">${messages('RSS feed', language)} (${language})</a> - </p> - %endfor - %elif generate_rss: - <p class="feedlink"><a href="${_link(kind + "_rss", author)}" type="application/rss+xml">${messages('RSS feed')}</a></p> - %endif + ${feeds_translations.feed_link(author, kind)} </div> </header> %if posts: - <ul class="postlist"> - % for post in posts: - <li><time class="listdate" datetime="${post.formatted_date('webiso')}" title="${post.formatted_date(date_format)|h}">${post.formatted_date(date_format)|h}</time> <a href="${post.permalink()}" class="listtitle">${post.title()|h}</a></li> - % endfor - </ul> + <ul class="postlist"> + % for post in posts: + <li><time class="listdate" datetime="${post.formatted_date('webiso')}" title="${post.formatted_date(date_format)|h}">${post.formatted_date(date_format)|h}</time> <a href="${post.permalink()}" class="listtitle">${post.title()|h}</a></li> + % endfor + </ul> %endif </article> </%block> diff --git a/nikola/data/themes/base/templates/authorindex.tmpl b/nikola/data/themes/base/templates/authorindex.tmpl index 34cb20b..fe9d39e 100644 --- a/nikola/data/themes/base/templates/authorindex.tmpl +++ b/nikola/data/themes/base/templates/authorindex.tmpl @@ -1,13 +1,21 @@ ## -*- coding: utf-8 -*- <%inherit file="index.tmpl"/> +<%namespace name="feeds_translations" file="feeds_translations_helper.tmpl" import="*"/> + +<%block name="content_header"> + <header> + <h1>${title|h}</h1> + %if description: + <p>${description}</p> + %endif + <div class="metadata"> + ${feeds_translations.feed_link(author, kind)} + ${feeds_translations.translation_link(kind)} + </div> + </header> +</%block> <%block name="extra_head"> ${parent.extra_head()} - %if len(tranlations) > 1 and generate_atom: - %for language in sorted(translations): - <link rel="alternate" type="application/atom+xml" title="Atom for the ${author|h} section (${language})" href="${_link(kind + "_atom", author, language)}"> - %endfor - %elif generate_atom: - <link rel="alternate" type="application/atom+xml" title="Atom for the ${author|h} section" href="${_link("author" + "_atom", author)}"> - %endif + ${feeds_translations.head(author, kind, rss_override=False)} </%block> diff --git a/nikola/data/themes/base/templates/authors.tmpl b/nikola/data/themes/base/templates/authors.tmpl index 141c560..8503bd4 100644 --- a/nikola/data/themes/base/templates/authors.tmpl +++ b/nikola/data/themes/base/templates/authors.tmpl @@ -1,10 +1,18 @@ ## -*- coding: utf-8 -*- <%inherit file="base.tmpl"/> +<%namespace name="feeds_translations" file="feeds_translations_helper.tmpl" import="*"/> + +<%block name="extra_head"> + ${feeds_translations.head(kind=kind, feeds=False)} +</%block> <%block name="content"> <article class="authorindex"> %if items: <h2>${messages("Authors")}</h2> + <div class="metadata"> + ${feeds_translations.translation_link(kind)} + </div> <ul class="postlist"> % for text, link in items: % if text not in hidden_authors: diff --git a/nikola/data/themes/base/templates/base.tmpl b/nikola/data/themes/base/templates/base.tmpl index 2b0cbfd..f071c95 100644 --- a/nikola/data/themes/base/templates/base.tmpl +++ b/nikola/data/themes/base/templates/base.tmpl @@ -2,8 +2,8 @@ <%namespace name="base" file="base_helper.tmpl" import="*"/> <%namespace name="header" file="base_header.tmpl" import="*"/> <%namespace name="footer" file="base_footer.tmpl" import="*"/> -<%namespace name="annotations" file="annotation_helper.tmpl"/> ${set_locale(lang)} +### <html> tag is included by base.html_headstart ${base.html_headstart()} <%block name="extra_head"> ### Leave this block alone. @@ -11,16 +11,29 @@ ${base.html_headstart()} ${template_hooks['extra_head']()} </head> <body> -<a href="#content" class="sr-only sr-only-focusable">${messages("Skip to main content")}</a> + <a href="#content" class="sr-only sr-only-focusable">${messages("Skip to main content")}</a> <div id="container"> - ${header.html_header()} - <main id="content"> + ${header.html_header()} + <main id="content"> <%block name="content"></%block> - </main> - ${footer.html_footer()} + </main> + ${footer.html_footer()} </div> ${base.late_load_js()} + % if date_fanciness != 0: + <!-- fancy dates --> + <script> + luxon.Settings.defaultLocale = "${luxon_locales[lang]}"; + fancydates(${date_fanciness}, ${luxon_date_format}); + </script> + <!-- end fancy dates --> + % endif <%block name="extra_js"></%block> + <script> + baguetteBox.run('div#content', { + ignoreClass: 'islink', + captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); + </script> ${body_end} ${template_hooks['body_end']()} </body> diff --git a/nikola/data/themes/base/templates/base_footer.tmpl b/nikola/data/themes/base/templates/base_footer.tmpl index cd41d37..7e44c75 100644 --- a/nikola/data/themes/base/templates/base_footer.tmpl +++ b/nikola/data/themes/base/templates/base_footer.tmpl @@ -1,5 +1,4 @@ ## -*- coding: utf-8 -*- -<%namespace name="base" file="base_helper.tmpl" import="*"/> <%def name="html_footer()"> %if content_footer: diff --git a/nikola/data/themes/base/templates/base_header.tmpl b/nikola/data/themes/base/templates/base_header.tmpl index 2ffcfee..b45744a 100644 --- a/nikola/data/themes/base/templates/base_header.tmpl +++ b/nikola/data/themes/base/templates/base_header.tmpl @@ -16,7 +16,7 @@ </%def> <%def name="html_site_title()"> - <h1 id="brand"><a href="${abs_link(_link("root", None, lang))}" title="${blog_title|h}" rel="home"> + <h1 id="brand"><a href="${_link("root", None, lang)}" title="${blog_title|h}" rel="home"> %if logo_url: <img src="${logo_url}" alt="${blog_title|h}" id="logo"> %endif @@ -30,13 +30,22 @@ <%def name="html_navigation_links()"> <nav id="menu"> <ul> - %for url, text in navigation_links[lang]: + ${html_navigation_links_entries(navigation_links)} + ${html_navigation_links_entries(navigation_alt_links)} + ${template_hooks['menu']()} + ${template_hooks['menu_alt']()} + </ul> + </nav> +</%def> + +<%def name="html_navigation_links_entries(navigation_links_source)"> + %for url, text in navigation_links_source[lang]: % if isinstance(url, tuple): <li> ${text} <ul> %for suburl, text in url: % if rel_link(permalink, suburl) == "#": - <li class="active"><a href="${permalink}">${text} <span class="sr-only">${messages("(active)", lang)}</span></a></li> + <li class="active"><a href="${permalink}">${text}<span class="sr-only"> ${messages("(active)", lang)}</span></a></li> %else: <li><a href="${suburl}">${text}</a></li> %endif @@ -44,16 +53,12 @@ </ul> % else: % if rel_link(permalink, url) == "#": - <li class="active"><a href="${permalink}">${text} <span class="sr-only">${messages("(active)", lang)}</span></a></li> + <li class="active"><a href="${permalink}">${text}<span class="sr-only"> ${messages("(active)", lang)}</span></a></li> %else: <li><a href="${url}">${text}</a></li> %endif % endif %endfor - ${template_hooks['menu']()} - ${template_hooks['menu_alt']()} - </ul> - </nav> </%def> <%def name="html_translation_header()"> diff --git a/nikola/data/themes/base/templates/base_helper.tmpl b/nikola/data/themes/base/templates/base_helper.tmpl index e2ffab2..18801ed 100644 --- a/nikola/data/themes/base/templates/base_helper.tmpl +++ b/nikola/data/themes/base/templates/base_helper.tmpl @@ -1,31 +1,25 @@ ## -*- coding: utf-8 -*- +<%namespace name="feeds_translations" file="feeds_translations_helper.tmpl" import="*"/> <%def name="html_headstart()"> <!DOCTYPE html> <html \ -prefix='\ -%if use_open_graph or (twitter_card and twitter_card['use_twitter_cards']): -og: http://ogp.me/ns# article: http://ogp.me/ns/article# \ -%endif -%if comment_system == 'facebook': -fb: http://ogp.me/ns/fb# -%endif -' \ -%if use_open_graph or (twitter_card and twitter_card['use_twitter_cards']): -vocab="http://ogp.me/ns" \ -%endif + prefix='\ + og: http://ogp.me/ns# article: http://ogp.me/ns/article# \ + %if comment_system == 'facebook': + fb: http://ogp.me/ns/fb# \ + %endif + ' \ + vocab="http://ogp.me/ns" \ % if is_rtl: -dir="rtl" \ + dir="rtl" \ % endif \ lang="${lang}"> <head> <meta charset="utf-8"> - % if use_base_tag: - <base href="${abs_link(permalink)}"> - % endif %if description: - <meta name="description" content="${description|h}"> + <meta name="description" content="${description|h}"> %endif <meta name="viewport" content="width=device-width"> %if title == blog_title: @@ -35,8 +29,11 @@ lang="${lang}"> %endif ${html_stylesheets()} - <meta content="${theme_color}" name="theme-color"> - ${html_feedlinks()} + <meta name="theme-color" content="${theme_color}"> + % if meta_generator_tag: + <meta name="generator" content="Nikola (getnikola.com)"> + % endif + ${feeds_translations.head(classification=None, kind='index', other=False)} <link rel="canonical" href="${abs_link(permalink)}"> %if favicons: @@ -56,29 +53,58 @@ lang="${lang}"> <link rel="next" href="${nextlink}" type="text/html"> %endif - ${mathjax_config} %if use_cdn: - <!--[if lt IE 9]><script src="https://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]--> + <!--[if lt IE 9]><script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script><![endif]--> %else: - <!--[if lt IE 9]><script src="${url_replacer(permalink, '/assets/js/html5.js', lang)}"></script><![endif]--> + <!--[if lt IE 9]><script src="${url_replacer(permalink, '/assets/js/html5shiv-printshiv.min.js', lang, url_type)}"></script><![endif]--> %endif ${extra_head_data} </%def> <%def name="late_load_js()"> + % if use_bundles: + % if use_cdn: + <script src="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.js" integrity="sha256-ULQV01VS9LCI2ePpLsmka+W0mawFpEA0rtxnezUj4A4=" crossorigin="anonymous"></script> + <script src="/assets/js/all.js"></script> + % else: + <script src="/assets/js/all-nocdn.js"></script> + % endif + % else: + % if use_cdn: + <script src="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.js" integrity="sha256-ULQV01VS9LCI2ePpLsmka+W0mawFpEA0rtxnezUj4A4=" crossorigin="anonymous"></script> + % else: + <script src="/assets/js/baguetteBox.min.js"></script> + % endif + % endif + % if date_fanciness != 0: + % if date_fanciness == 2: + <script src="https://polyfill.io/v3/polyfill.js?features=Intl.RelativeTimeFormat.%7Elocale.${luxon_locales[lang]}"></script> + % endif + % if use_cdn: + <script src="https://cdn.jsdelivr.net/npm/luxon@1.25.0/build/global/luxon.min.js" integrity="sha256-OVk2fwTRcXYlVFxr/ECXsakqelJbOg5WCj1dXSIb+nU=" crossorigin="anonymous"></script> + % else: + <script src="/assets/js/luxon.min.js"></script> + % endif + % if not use_bundles: + <script src="/assets/js/fancydates.min.js"></script> + % endif + % endif ${social_buttons_code} </%def> <%def name="html_stylesheets()"> %if use_bundles: %if use_cdn: + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.css" integrity="sha256-cLMYWYYutHkt+KpNqjg7NVkYSQ+E2VbrXsEvOqU7mL0=" crossorigin="anonymous"> <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: - <link href="/assets/css/rst.css" rel="stylesheet" type="text/css"> + <link href="/assets/css/baguetteBox.min.css" rel="stylesheet" type="text/css"> + <link href="/assets/css/rst_base.css" rel="stylesheet" type="text/css"> + <link href="/assets/css/nikola_rst.css" rel="stylesheet" type="text/css"> <link href="/assets/css/code.css" rel="stylesheet" type="text/css"> <link href="/assets/css/theme.css" rel="stylesheet" type="text/css"> %if has_custom_css: @@ -91,34 +117,16 @@ lang="${lang}"> % endif </%def> +### This function is deprecated; use feed_helper directly. <%def name="html_feedlinks()"> - %if rss_link: - ${rss_link} - %elif generate_rss: - %if len(translations) > 1: - %for language in sorted(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 - %if generate_atom: - %if len(translations) > 1: - %for language in sorted(translations): - <link rel="alternate" type="application/atom+xml" title="Atom (${language})" href="${_link('index_atom', None, language)}"> - %endfor - %else: - <link rel="alternate" type="application/atom+xml" title="Atom" href="${_link('index_atom', None)}"> - %endif - %endif + ${feeds_translations.head(classification=None, kind='index', other=False)} </%def> <%def name="html_translations()"> <ul class="translations"> %for langname in sorted(translations): %if langname != lang: - <li><a href="${abs_link(_link("root", None, langname))}" rel="alternate" hreflang="${langname}">${messages("LANGUAGE", langname)}</a></li> + <li><a href="${_link("root", None, langname)}" rel="alternate" hreflang="${langname}">${messages("LANGUAGE", langname)}</a></li> %endif %endfor </ul> diff --git a/nikola/data/themes/base/templates/comments_helper.tmpl b/nikola/data/themes/base/templates/comments_helper.tmpl index 1459888..002499e 100644 --- a/nikola/data/themes/base/templates/comments_helper.tmpl +++ b/nikola/data/themes/base/templates/comments_helper.tmpl @@ -1,63 +1,63 @@ ## -*- coding: utf-8 -*- <%namespace name="disqus" file="comments_helper_disqus.tmpl"/> -<%namespace name="livefyre" file="comments_helper_livefyre.tmpl"/> <%namespace name="intensedebate" file="comments_helper_intensedebate.tmpl"/> <%namespace name="muut" file="comments_helper_muut.tmpl"/> -<%namespace name="googleplus" file="comments_helper_googleplus.tmpl"/> <%namespace name="facebook" file="comments_helper_facebook.tmpl"/> <%namespace name="isso" file="comments_helper_isso.tmpl"/> +<%namespace name="commento" file="comments_helper_commento.tmpl"/> +<%namespace name="utterances" file="comments_helper_utterances.tmpl"/> <%def name="comment_form(url, title, identifier)"> %if comment_system == 'disqus': ${disqus.comment_form(url, title, identifier)} - % elif comment_system == 'livefyre': - ${livefyre.comment_form(url, title, identifier)} % elif comment_system == 'intensedebate': ${intensedebate.comment_form(url, title, identifier)} % elif comment_system == 'muut': ${muut.comment_form(url, title, identifier)} - % elif comment_system == 'googleplus': - ${googleplus.comment_form(url, title, identifier)} % elif comment_system == 'facebook': ${facebook.comment_form(url, title, identifier)} % elif comment_system == 'isso': ${isso.comment_form(url, title, identifier)} + % elif comment_system == 'commento': + ${commento.comment_form(url, title, identifier)} + % elif comment_system == 'utterances': + ${utterances.comment_form(url, title, identifier)} %endif </%def> <%def name="comment_link(link, identifier)"> %if comment_system == 'disqus': ${disqus.comment_link(link, identifier)} - % elif comment_system == 'livefyre': - ${livefyre.comment_link(link, identifier)} % elif comment_system == 'intensedebate': ${intensedebate.comment_link(link, identifier)} % elif comment_system == 'muut': ${muut.comment_link(link, identifier)} - % elif comment_system == 'googleplus': - ${googleplus.comment_link(link, identifier)} % elif comment_system == 'facebook': ${facebook.comment_link(link, identifier)} % elif comment_system == 'isso': ${isso.comment_link(link, identifier)} + % elif comment_system == 'commento': + ${commento.comment_link(link, identifier)} + % elif comment_system == 'utterances': + ${utterances.comment_link(link, identifier)} %endif </%def> <%def name="comment_link_script()"> %if comment_system == 'disqus': ${disqus.comment_link_script()} - % elif comment_system == 'livefyre': - ${livefyre.comment_link_script()} % elif comment_system == 'intensedebate': ${intensedebate.comment_link_script()} % elif comment_system == 'muut': ${muut.comment_link_script()} - % elif comment_system == 'googleplus': - ${googleplus.comment_link_script()} % elif comment_system == 'facebook': ${facebook.comment_link_script()} % elif comment_system == 'isso': ${isso.comment_link_script()} + % elif comment_system == 'commento': + ${commento.comment_link_script()} + % elif comment_system == 'utterances': + ${utterances.comment_link_script()} %endif </%def> diff --git a/nikola/data/themes/base/templates/comments_helper_commento.tmpl b/nikola/data/themes/base/templates/comments_helper_commento.tmpl new file mode 100644 index 0000000..793a6d4 --- /dev/null +++ b/nikola/data/themes/base/templates/comments_helper_commento.tmpl @@ -0,0 +1,13 @@ +## -*- coding: utf-8 -*- +<%def name="comment_form(url, title, identifier)"> + <div id="commento"></div> + + <script defer src="${comment_system_id}/js/commento.js"></script> +</%def> + +<%def name="comment_link(link, identifier)"> + <a href="${link}#commento">${messages("Comments")}</a> +</%def> + +<%def name="comment_link_script()"> +</%def> diff --git a/nikola/data/themes/base/templates/comments_helper_disqus.tmpl b/nikola/data/themes/base/templates/comments_helper_disqus.tmpl index b842871..f17777c 100644 --- a/nikola/data/themes/base/templates/comments_helper_disqus.tmpl +++ b/nikola/data/themes/base/templates/comments_helper_disqus.tmpl @@ -32,7 +32,7 @@ <%def name="comment_link(link, identifier)"> %if comment_system_id: - <a href="${link}#disqus_thread" data-disqus-identifier="${identifier}">Comments</a> + <a href="${link}#disqus_thread" data-disqus-identifier="${identifier}">${messages("Comments")}</a> %endif </%def> diff --git a/nikola/data/themes/base/templates/comments_helper_googleplus.tmpl b/nikola/data/themes/base/templates/comments_helper_googleplus.tmpl deleted file mode 100644 index 5a5c4d7..0000000 --- a/nikola/data/themes/base/templates/comments_helper_googleplus.tmpl +++ /dev/null @@ -1,17 +0,0 @@ -## -*- coding: utf-8 -*- -<%def name="comment_form(url, title, identifier)"> -<script src="https://apis.google.com/js/plusone.js"></script> -<div class="g-comments" - data-href="${url}" - data-first_party_property="BLOGGER" - data-view_type="FILTERED_POSTMOD"> -</div> -</%def> - -<%def name="comment_link(link, identifier)"> -<div class="g-commentcount" data-href="${link}"></div> -<script src="https://apis.google.com/js/plusone.js"></script> -</%def> - -<%def name="comment_link_script()"> -</%def> diff --git a/nikola/data/themes/base/templates/comments_helper_intensedebate.tmpl b/nikola/data/themes/base/templates/comments_helper_intensedebate.tmpl index c47b6c7..0a51328 100644 --- a/nikola/data/themes/base/templates/comments_helper_intensedebate.tmpl +++ b/nikola/data/themes/base/templates/comments_helper_intensedebate.tmpl @@ -6,7 +6,7 @@ var idcomments_post_id = "${identifier}"; var idcomments_post_url = "${url}"; </script> <span id="IDCommentsPostTitle" style="display:none"></span> -<script src='http://www.intensedebate.com/js/genericCommentWrapperV2.js'></script> +<script src="https://www.intensedebate.com/js/genericCommentWrapperV2.js"></script> </script> </%def> @@ -17,7 +17,7 @@ var idcomments_acct = '${comment_system_id}'; var idcomments_post_id = "${identifier}"; var idcomments_post_url = "${link}"; </script> -<script src="http://www.intensedebate.com/js/genericLinkWrapperV2.js"></script> +<script src="https://www.intensedebate.com/js/genericLinkWrapperV2.js"></script> </a> </%def> diff --git a/nikola/data/themes/base/templates/comments_helper_isso.tmpl b/nikola/data/themes/base/templates/comments_helper_isso.tmpl index 95f93ae..c733bbe 100644 --- a/nikola/data/themes/base/templates/comments_helper_isso.tmpl +++ b/nikola/data/themes/base/templates/comments_helper_isso.tmpl @@ -1,20 +1,26 @@ ## -*- coding: utf-8 -*- <%def name="comment_form(url, title, identifier)"> %if comment_system_id: - <div data-title="${title|u}" id="isso-thread"></div> - <script src="${comment_system_id}js/embed.min.js" data-isso="${comment_system_id}"></script> + <div data-title="${title|h}" id="isso-thread"></div> + <script src="${comment_system_id}js/embed.min.js" data-isso="${comment_system_id}" data-isso-lang="${lang}" + % if isso_config: + % for k, v in isso_config.items(): + data-isso-${k}="${v}" + % endfor + % endif + ></script> %endif </%def> <%def name="comment_link(link, identifier)"> %if comment_system_id: - <a href="${link}#isso-thread">Comments</a> + <a href="${link}#isso-thread">${messages("Comments")}</a> %endif </%def> <%def name="comment_link_script()"> %if comment_system_id and 'index' in pagekind: - <script src="${comment_system_id}js/count.min.js" data-isso="${comment_system_id}"></script> + <script src="${comment_system_id}js/count.min.js" data-isso="${comment_system_id}" data-isso-lang="${lang}"></script> %endif </%def> diff --git a/nikola/data/themes/base/templates/comments_helper_livefyre.tmpl b/nikola/data/themes/base/templates/comments_helper_livefyre.tmpl deleted file mode 100644 index 68d99e5..0000000 --- a/nikola/data/themes/base/templates/comments_helper_livefyre.tmpl +++ /dev/null @@ -1,33 +0,0 @@ -## -*- coding: utf-8 -*- -<%def name="comment_form(url, title, identifier)"> -<div id="livefyre-comments"></div> -<script src="http://zor.livefyre.com/wjs/v3.0/javascripts/livefyre.js"></script> -<script> -(function () { - var articleId = "${identifier}"; - fyre.conv.load({}, [{ - el: 'livefyre-comments', - network: "livefyre.com", - siteId: "${comment_system_id}", - articleId: articleId, - signed: false, - collectionMeta: { - articleId: articleId, - url: fyre.conv.load.makeCollectionUrl(), - } - }], function() {}); -}()); -</script> -</%def> - -<%def name="comment_link(link, identifier)"> - <a href="${link}"> - <span class="livefyre-commentcount" data-lf-site-id="${comment_system_id}" data-lf-article-id="${identifier}"> - 0 Comments - </span> -</%def> - - -<%def name="comment_link_script()"> -<script src="http://zor.livefyre.com/wjs/v1.0/javascripts/CommentCount.js"></script> -</%def> diff --git a/nikola/data/themes/base/templates/comments_helper_mustache.tmpl b/nikola/data/themes/base/templates/comments_helper_mustache.tmpl deleted file mode 100644 index 593d0aa..0000000 --- a/nikola/data/themes/base/templates/comments_helper_mustache.tmpl +++ /dev/null @@ -1,5 +0,0 @@ -## -*- coding: utf-8 -*- -<%namespace name="comments" file="comments_helper.tmpl"/> -% if not post.meta('nocomments'): - ${comments.comment_form(post.permalink(absolute=True), post.title(), post.base_path)} -% endif diff --git a/nikola/data/themes/base/templates/comments_helper_utterances.tmpl b/nikola/data/themes/base/templates/comments_helper_utterances.tmpl new file mode 100644 index 0000000..9b68917 --- /dev/null +++ b/nikola/data/themes/base/templates/comments_helper_utterances.tmpl @@ -0,0 +1,23 @@ +## -*- coding: utf-8 -*- +<%def name="comment_form(url, title, identifier)"> + %if comment_system_id: + <div data-title="${title|h}" id="utterances-thread"></div> + <script src="https://utteranc.es/client.js" repo="${comment_system_id}" + % if utterances_config: + % for k, v in utterances_config.items(): + ${k}="${v}" + % endfor + % endif + ></script> + %endif +</%def> + +<%def name="comment_link(link, identifier)"> + %if comment_system_id: + <a href="${link}#utterances-thread">${messages("Comments")}</a> + %endif +</%def> + + +<%def name="comment_link_script()"> +</%def> diff --git a/nikola/data/themes/base/templates/feeds_translations_helper.tmpl b/nikola/data/themes/base/templates/feeds_translations_helper.tmpl new file mode 100644 index 0000000..10e704d --- /dev/null +++ b/nikola/data/themes/base/templates/feeds_translations_helper.tmpl @@ -0,0 +1,124 @@ +## -*- coding: utf-8 -*- + +<%def name="_head_feed_link(link_type, link_name, link_postfix, classification, kind, language)"> + % if len(translations) > 1: + <link rel="alternate" type="${link_type}" title="${link_name|h} (${language})" hreflang="${language}" href="${_link(kind + '_' + link_postfix, classification, language)}"> + % else: + <link rel="alternate" type="${link_type}" title="${link_name|h}" hreflang="${language}" href="${_link(kind + '_' + link_postfix, classification, language)}"> + % endif +</%def> + +<%def name="_html_feed_link(link_type, link_name, link_postfix, classification, kind, language, name=None)"> + % if len(translations) > 1: + % if name and kind != "archive" and kind != "author": + <a href="${_link(kind + '_' + link_postfix, classification, language)}" hreflang="${language}" type="${link_type}">${messages(link_name, language)} (${name|h}, ${language})</a> + % else: + <a href="${_link(kind + '_' + link_postfix, classification, language)}" hreflang="${language}" type="${link_type}">${messages(link_name, language)} (${language})</a> + % endif + % else: + % if name and kind != "archive" and kind != "author": + <a href="${_link(kind + '_' + link_postfix, classification, language)}" hreflang="${language}" type="${link_type}">${messages(link_name, language)} (${name|h})</a> + % else: + <a href="${_link(kind + '_' + link_postfix, classification, language)}" hreflang="${language}" type="${link_type}">${messages(link_name, language)}</a> + % endif + % endif +</%def> + +<%def name="_html_translation_link(classification, kind, language, name=None)"> + % if name and kind != "archive" and kind != "author": + <a href="${_link(kind, classification, language)}" hreflang="${language}" rel="alternate">${messages("LANGUAGE", language)} (${name|h})</a> + % else: + <a href="${_link(kind, classification, language)}" hreflang="${language}" rel="alternate">${messages("LANGUAGE", language)}</a> + % endif +</%def> + +<%def name="_head_rss(classification=None, kind='index', rss_override=True)"> + % if rss_link and rss_override: + ${rss_link} + % endif + % if generate_rss and not (rss_link and rss_override) and kind != 'archive': + % if len(translations) > 1 and has_other_languages and classification and kind != 'index': + % for language, classification, name in all_languages: + <link rel="alternate" type="application/rss+xml" title="RSS for ${kind} ${name|h} (${language})" hreflang="${language}" href="${_link(kind + "_rss", classification, language)}"> + % endfor + % else: + % for language in translations_feedorder: + % if (classification or classification == '') and kind != 'index': + ${_head_feed_link('application/rss+xml', 'RSS for ' + kind + ' ' + classification, 'rss', classification, kind, language)} + % else: + ${_head_feed_link('application/rss+xml', 'RSS', 'rss', classification, 'index', language)} + % endif + % endfor + % endif + % endif +</%def> + +<%def name="_head_atom(classification=None, kind='index')"> + % if generate_atom: + % if len(translations) > 1 and has_other_languages and classification and kind != 'index': + % for language, classification, name in all_languages: + <link rel="alternate" type="application/atom+xml" title="Atom for ${kind} ${name|h} (${language})" hreflang="${language}" href="${_link(kind + "_atom", classification, language)}"> + % endfor + % else: + % for language in translations_feedorder: + % if (classification or classification == '') and kind != 'index': + ${_head_feed_link('application/atom+xml', 'Atom for ' + kind + ' ' + classification, 'atom', classification, kind, language)} + % else: + ${_head_feed_link('application/atom+xml', 'Atom', 'atom', classification, 'index', language)} + % endif + % endfor + % endif + % endif +</%def> + +## Handles both feeds and translations +<%def name="head(classification=None, kind='index', feeds=True, other=True, rss_override=True, has_no_feeds=False)"> + % if feeds and not has_no_feeds: + ${_head_rss(classification, 'index' if (kind == 'archive' and rss_override) else kind, rss_override)} + ${_head_atom(classification, kind)} + % endif + % if other and has_other_languages and other_languages: + % for language, classification, _ in other_languages: + <link rel="alternate" hreflang="${language}" href="${_link(kind, classification, language)}"> + % endfor + % endif +</%def> + +<%def name="feed_link(classification, kind)"> + % if generate_atom or generate_rss: + % if len(translations) > 1 and has_other_languages and kind != 'index': + % for language, classification, name in all_languages: + <p class="feedlink"> + % if generate_atom: + ${_html_feed_link('application/atom+xml', 'Atom feed', 'atom', classification, kind, language, name)} + % endif + % if generate_rss and kind != 'archive': + ${_html_feed_link('application/rss+xml', 'RSS feed', 'rss', classification, kind, language, name)} + % endif + </p> + % endfor + % else: + % for language in translations_feedorder: + <p class="feedlink"> + % if generate_atom: + ${_html_feed_link('application/atom+xml', 'Atom feed', 'atom', classification, kind, language)} + % endif + % if generate_rss and kind != 'archive': + ${_html_feed_link('application/rss+xml', 'RSS feed', 'rss', classification, kind, language)} + % endif + </p> + % endfor + % endif + % endif +</%def> + +<%def name="translation_link(kind)"> + % if has_other_languages and other_languages: + <div class="translationslist translations"> + <h3 class="translationslist-intro">${messages("Also available in:")}</h3> + % for language, classification, name in other_languages: + <p>${_html_translation_link(classification, kind, language, name)}</p> + % endfor + </div> + % endif +</%def> diff --git a/nikola/data/themes/base/templates/gallery.tmpl b/nikola/data/themes/base/templates/gallery.tmpl index f9bbd1b..fef3a86 100644 --- a/nikola/data/themes/base/templates/gallery.tmpl +++ b/nikola/data/themes/base/templates/gallery.tmpl @@ -1,11 +1,12 @@ ## -*- coding: utf-8 -*- <%inherit file="base.tmpl"/> <%namespace name="comments" file="comments_helper.tmpl"/> -<%namespace name="ui" file="crumbs.tmpl" import="bar"/> +<%namespace name="ui" file="ui_helper.tmpl"/> +<%namespace name="post_helper" file="post_helper.tmpl"/> <%block name="sourcelink"></%block> <%block name="content"> - ${ui.bar(crumbs)} + ${ui.breadcrumbs(crumbs)} %if title: <h1>${title|h}</h1> %endif @@ -15,21 +16,39 @@ </p> %endif %if folders: - <ul> - % for folder, ftitle in folders: - <li><a href="${folder}"><i - class="icon-folder-open"></i> ${ftitle|h}</a></li> - % endfor - </ul> - %endif - %if photo_array: - <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']|h}" /></a> - %endfor - </ul> - %endif + % if galleries_use_thumbnail: + % for (folder, ftitle, fpost) in folders: + <div class="thumnbnail-container"> + <a href="${folder}" class="thumbnail image-reference" title="${ftitle|h}"> + % if fpost and fpost.previewimage: + <img src="${fpost.previewimage}" alt="${ftitle|h}" loading="lazy" style="max-width:${thumbnail_size}px; max-height:${thumbnail_size}px;" /> + % else: + <div style="height: ${thumbnail_size}px; width: ${thumbnail_size}px; background-color: #eee;"></div> + % endif + <p class="thumbnail-caption">${ftitle|h}</p> + </a> + </div> + % endfor + % else: + <ul> + % for folder, ftitle in folders: + <li><a href="${folder}">📂 ${ftitle|h}</a></li> + % endfor + </ul> + % endif + % 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']|h}"> + <img src="${image['url_thumb']}" alt="${image['title']|h}" loading="lazy" /></a> + %endfor +</ul> +</noscript> +%endif %if site_has_comments and enable_comments: ${comments.comment_form(None, permalink, title)} %endif @@ -38,4 +57,35 @@ <%block name="extra_head"> ${parent.extra_head()} <link rel="alternate" type="application/rss+xml" title="RSS" href="rss.xml"> +<style type="text/css"> + #gallery_container { + position: relative; + } + .image-block { + position: absolute; + } +</style> +%if len(translations) > 1: + %for langname in translations.keys(): + %if langname != lang: + <link rel="alternate" hreflang="${langname}" href="${_link('gallery', gallery_path, langname)}"> + %endif + %endfor +%endif +<link rel="alternate" type="application/rss+xml" title="RSS" href="rss.xml"> +%if post: + ${post_helper.open_graph_metadata(post)} + ${post_helper.twitter_card_information(post)} +%endif +</%block> + +<%block name="extra_js"> +<script src="/assets/js/justified-layout.min.js"></script> +<script src="/assets/js/gallery.min.js"></script> +<script> +var jsonContent = ${photo_array_json}; +var thumbnailSize = ${thumbnail_size}; +renderGallery(jsonContent, thumbnailSize); +window.addEventListener('resize', function(){renderGallery(jsonContent, thumbnailSize)}); +</script> </%block> diff --git a/nikola/data/themes/base/templates/index.tmpl b/nikola/data/themes/base/templates/index.tmpl index f74d2e4..b8e4f8c 100644 --- a/nikola/data/themes/base/templates/index.tmpl +++ b/nikola/data/themes/base/templates/index.tmpl @@ -1,6 +1,9 @@ ## -*- coding: utf-8 -*- <%namespace name="helper" file="index_helper.tmpl"/> +<%namespace name="math" file="math_helper.tmpl"/> <%namespace name="comments" file="comments_helper.tmpl"/> +<%namespace name="pagination" file="pagination_helper.tmpl"/> +<%namespace name="feeds_translations" file="feeds_translations_helper.tmpl" import="*"/> <%inherit file="base.tmpl"/> <%block name="extra_head"> @@ -8,27 +11,45 @@ % if posts and (permalink == '/' or permalink == '/' + index_file): <link rel="prefetch" href="${posts[0].permalink()}" type="text/html"> % endif + ${math.math_styles_ifposts(posts)} </%block> <%block name="content"> -<%block name="content_header"></%block> +<%block name="content_header"> + ${feeds_translations.translation_link(kind)} +</%block> % if 'main_index' in pagekind: ${front_index_header} % endif +% if page_links: + ${pagination.page_navigation(current_page, page_links, prevlink, nextlink, prev_next_links_reversed)} +% endif <div class="postindex"> % for post in posts: - <article class="h-entry post-${post.meta('type')}"> + <article class="h-entry post-${post.meta('type')}" itemscope="itemscope" itemtype="http://schema.org/Article"> <header> <h1 class="p-name entry-title"><a href="${post.permalink()}" class="u-url">${post.title()|h}</a></h1> <div class="metadata"> - <p class="byline author vcard"><span class="byline-name fn"> - % if author_pages_generated: + <p class="byline author vcard"><span class="byline-name fn" itemprop="author"> + % if author_pages_generated and multiple_authors_per_post: + % for author in post.authors(): + <a href="${_link('author', author)}">${author|h}</a> + % endfor + % elif author_pages_generated: <a href="${_link('author', post.author())}">${post.author()|h}</a> % else: ${post.author()|h} % endif </span></p> - <p class="dateline"><a href="${post.permalink()}" rel="bookmark"><time class="published dt-published" datetime="${post.formatted_date('webiso')}" title="${post.formatted_date(date_format)|h}">${post.formatted_date(date_format)|h}</time></a></p> + <p class="dateline"> + <a href="${post.permalink()}" rel="bookmark"> + <time class="published dt-published" datetime="${post.formatted_date('webiso')}" itemprop="datePublished" title="${post.formatted_date(date_format)|h}">${post.formatted_date(date_format)|h}</time> + % if post.updated and post.updated != post.date: + <span class="updated"> (${messages("updated")} + <time class="dt-updated" datetime="${post.formatted_updated('webiso')}" itemprop="dateUpdated" title="${post.formatted_updated(date_format)|h}">${post.formatted_updated(date_format)|h}</time>)</span> + % endif + </a> + </p> % if not post.meta('nocomments') and site_has_comments: <p class="commentline">${comments.comment_link(post.permalink(), post._base_path)} % endif @@ -47,5 +68,5 @@ </div> ${helper.html_pager()} ${comments.comment_link_script()} -${helper.mathjax_script(posts)} +${math.math_scripts_ifposts(posts)} </%block> diff --git a/nikola/data/themes/base/templates/index_helper.tmpl b/nikola/data/themes/base/templates/index_helper.tmpl index 0e98016..e400e3b 100644 --- a/nikola/data/themes/base/templates/index_helper.tmpl +++ b/nikola/data/themes/base/templates/index_helper.tmpl @@ -1,4 +1,5 @@ ## -*- coding: utf-8 -*- +<%namespace name="math" file="math_helper.tmpl"/> <%def name="html_pager()"> %if prevlink or nextlink: <nav class="postindexpager"> @@ -18,33 +19,7 @@ %endif </%def> +### This function is deprecated; use math_helper directly. <%def name="mathjax_script(posts)"> - %if any(post.is_mathjax for post in posts): - %if use_katex: - <script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.6.0/katex.min.js"></script> - <script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.6.0/contrib/auto-render.min.js"></script> - % if katex_auto_render: - <script> - renderMathInElement(document.body, - { - ${katex_auto_render} - } - ); - </script> - % else: - <script> - renderMathInElement(document.body); - </script> - % endif - %else: - <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> - % if mathjax_config: - ${mathjax_config} - % else: - <script type="text/x-mathjax-config"> - MathJax.Hub.Config({tex2jax: {inlineMath: [['$latex ','$'], ['\\(','\\)']]}}); - </script> - % endif - %endif - %endif + ${math.math_scripts_ifposts(posts)} </%def> diff --git a/nikola/data/themes/base/templates/list.tmpl b/nikola/data/themes/base/templates/list.tmpl index 5a8843d..ca6c421 100644 --- a/nikola/data/themes/base/templates/list.tmpl +++ b/nikola/data/themes/base/templates/list.tmpl @@ -1,11 +1,19 @@ ## -*- coding: utf-8 -*- <%inherit file="base.tmpl"/> +<%namespace name="archive_nav" file="archive_navigation_helper.tmpl" import="*"/> +<%namespace name="feeds_translations" file="feeds_translations_helper.tmpl" import="*"/> + +<%block name="extra_head"> + ${feeds_translations.head(kind=kind, rss_override=False, has_no_feeds=has_no_feeds)} +</%block> <%block name="content"> <article class="listpage"> <header> <h1>${title|h}</h1> </header> + ${archive_nav.archive_navigation()} + ${feeds_translations.translation_link(kind)} %if items: <ul class="postlist"> % for text, link, count in items: diff --git a/nikola/data/themes/base/templates/list_post.tmpl b/nikola/data/themes/base/templates/list_post.tmpl index bc52385..8cd9336 100644 --- a/nikola/data/themes/base/templates/list_post.tmpl +++ b/nikola/data/themes/base/templates/list_post.tmpl @@ -1,11 +1,19 @@ ## -*- coding: utf-8 -*- <%inherit file="base.tmpl"/> +<%namespace name="archive_nav" file="archive_navigation_helper.tmpl" import="*"/> +<%namespace name="feeds_translations" file="feeds_translations_helper.tmpl" import="*"/> + +<%block name="extra_head"> + ${feeds_translations.head(kind=kind, rss_override=False)} +</%block> <%block name="content"> <article class="listpage"> <header> <h1>${title|h}</h1> </header> + ${archive_nav.archive_navigation()} + ${feeds_translations.translation_link(kind)} %if posts: <ul class="postlist"> % for post in posts: diff --git a/nikola/data/themes/base/templates/listing.tmpl b/nikola/data/themes/base/templates/listing.tmpl index fae7607..ef2dfd6 100644 --- a/nikola/data/themes/base/templates/listing.tmpl +++ b/nikola/data/themes/base/templates/listing.tmpl @@ -1,15 +1,15 @@ ## -*- coding: utf-8 -*- <%inherit file="base.tmpl"/> -<%namespace name="ui" file="crumbs.tmpl" import="bar"/> +<%namespace name="ui" file="ui_helper.tmpl"/> <%block name="content"> -${ui.bar(crumbs)} +${ui.breadcrumbs(crumbs)} %if folders or files: <ul> % for name in folders: - <li><a href="${name|u}"><i class="icon-folder-open"></i> ${name|h}</a> + <li><a href="${name|h}" class="listing-folder">${name|h}</a> % endfor % for name in files: - <li><a href="${name|u}.html"><i class="icon-file"></i> ${name|h}</a> + <li><a href="${name|h}.html" class="listing-file">${name|h}</a> % endfor </ul> %endif @@ -22,5 +22,3 @@ ${ui.bar(crumbs)} ${code} % endif </%block> - - diff --git a/nikola/data/themes/base/templates/math_helper.tmpl b/nikola/data/themes/base/templates/math_helper.tmpl new file mode 100644 index 0000000..961b7ce --- /dev/null +++ b/nikola/data/themes/base/templates/math_helper.tmpl @@ -0,0 +1,69 @@ +### Note: at present, MathJax and KaTeX do not respect the USE_CDN configuration option +<%def name="math_scripts()"> + %if use_katex: + <script src="https://cdn.jsdelivr.net/npm/katex@0.10.2/dist/katex.min.js" integrity="sha384-9Nhn55MVVN0/4OFx7EE5kpFBPsEMZxKTCnA+4fqDmg12eCTqGi6+BB2LjY8brQxJ" crossorigin="anonymous"></script> + <script src="https://cdn.jsdelivr.net/npm/katex@0.10.2/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous"></script> + % if katex_auto_render: + <script> + renderMathInElement(document.body, + { + ${katex_auto_render} + } + ); + </script> + % else: + <script> + renderMathInElement(document.body, + { + delimiters: [ + {left: "$$", right: "$$", display: true}, + {left: "\\[", right: "\\]", display: true}, + {left: "\\begin{equation*}", right: "\\end{equation*}", display: true}, + {left: "\\(", right: "\\)", display: false} + ] + } + ); + </script> + % endif + %else: +### Note: given the size of MathJax; nikola will retrieve MathJax from a CDN regardless of use_cdn configuration + <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" integrity="sha384-3lJUsx1TJHt7BA4udB5KPnDrlkO8T6J6v/op7ui0BbCjvZ9WqV4Xm6DTP6kQ/iBH" crossorigin="anonymous"></script> + % if mathjax_config: + ${mathjax_config} + % else: + <script type="text/x-mathjax-config"> + MathJax.Hub.Config({tex2jax: {inlineMath: [['$latex ','$'], ['\\(','\\)']]}}); + </script> + % endif + %endif +</%def> + +<%def name="math_styles()"> + % if use_katex: + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.2/dist/katex.min.css" integrity="sha384-yFRtMMDnQtDRO8rLpMIKrtPCD5jdktao2TV19YiZYWMDkUR5GQZR/NOVTdquEx1j" crossorigin="anonymous"> + % endif +</%def> + +<%def name="math_scripts_ifpost(post)"> + %if post.has_math: + ${math_scripts()} + %endif +</%def> + +<%def name="math_scripts_ifposts(posts)"> + %if any(post.has_math for post in posts): + ${math_scripts()} + %endif +</%def> + +<%def name="math_styles_ifpost(post)"> + %if post.has_math: + ${math_styles()} + %endif +</%def> + +<%def name="math_styles_ifposts(posts)"> + %if any(post.has_math for post in posts): + ${math_styles()} + %endif +</%def> diff --git a/nikola/data/themes/base/templates/page.tmpl b/nikola/data/themes/base/templates/page.tmpl new file mode 100644 index 0000000..b2cd756 --- /dev/null +++ b/nikola/data/themes/base/templates/page.tmpl @@ -0,0 +1 @@ +<%inherit file="story.tmpl"/> diff --git a/nikola/data/themes/base/templates/pagination_helper.tmpl b/nikola/data/themes/base/templates/pagination_helper.tmpl new file mode 100644 index 0000000..91c1115 --- /dev/null +++ b/nikola/data/themes/base/templates/pagination_helper.tmpl @@ -0,0 +1,16 @@ +## -*- coding: utf-8 -*- +<%def name="page_navigation(current_page, page_links, prevlink, nextlink, prev_next_links_reversed, surrounding=5)"> +<div class="page-navigation"> + % for i, link in enumerate(page_links): + % if abs(i - current_page) <= surrounding or i == 0 or i == len(page_links) - 1: + % if i == current_page: + <span class="current-page">${i+1}</span> + % else: + <a href="${page_links[i]}">${i+1}</a> + % endif + % elif i == current_page - surrounding - 1 or i == current_page + surrounding + 1: + <span class="ellipsis">…</span> + % endif + % endfor +</div> +</%def> diff --git a/nikola/data/themes/base/templates/post.tmpl b/nikola/data/themes/base/templates/post.tmpl index da616bf..1f2f0a4 100644 --- a/nikola/data/themes/base/templates/post.tmpl +++ b/nikola/data/themes/base/templates/post.tmpl @@ -2,16 +2,14 @@ <%namespace name="helper" file="post_helper.tmpl"/> <%namespace name="pheader" file="post_header.tmpl"/> <%namespace name="comments" file="comments_helper.tmpl"/> +<%namespace name="math" file="math_helper.tmpl"/> <%inherit file="base.tmpl"/> <%block name="extra_head"> ${parent.extra_head()} % if post.meta('keywords'): - <meta name="keywords" content="${post.meta('keywords')|h}"> + <meta name="keywords" content="${smartjoin(', ', post.meta('keywords'))|h}"> % endif - %if post.description(): - <meta name="description" content="${post.description()|h}"> - %endif <meta name="author" content="${post.author()|h}"> %if post.prev_post: <link rel="prev" href="${post.prev_post.permalink()}" title="${post.prev_post.title()|h}" type="text/html"> @@ -25,6 +23,7 @@ ${helper.open_graph_metadata(post)} ${helper.twitter_card_information(post)} ${helper.meta_translations(post)} + ${math.math_styles_ifpost(post)} </%block> <%block name="content"> @@ -45,7 +44,7 @@ ${comments.comment_form(post.permalink(absolute=True), post.title(), post._base_path)} </section> % endif - ${helper.mathjax_script(post)} + ${math.math_scripts_ifpost(post)} </article> ${comments.comment_link_script()} </%block> diff --git a/nikola/data/themes/base/templates/post_header.tmpl b/nikola/data/themes/base/templates/post_header.tmpl index 480c36a..617a156 100644 --- a/nikola/data/themes/base/templates/post_header.tmpl +++ b/nikola/data/themes/base/templates/post_header.tmpl @@ -23,7 +23,7 @@ <%def name="html_sourcelink()"> % if show_sourcelink: - <p class="sourceline"><a href="${post.source_link()}" id="sourcelink">${messages("Source")}</a></p> + <p class="sourceline"><a href="${post.source_link()}" class="sourcelink">${messages("Source")}</a></p> % endif </%def> @@ -31,14 +31,26 @@ <header> ${html_title()} <div class="metadata"> - <p class="byline author vcard"><span class="byline-name fn"> - % if author_pages_generated: - <a href="${_link('author', post.author())}">${post.author()|h}</a> + <p class="byline author vcard p-author h-card"><span class="byline-name fn p-name" itemprop="author"> + % if author_pages_generated and multiple_authors_per_post: + % for author in post.authors(): + <a class="u-url" href="${_link('author', author)}">${author|h}</a> + % endfor + % elif author_pages_generated: + <a class="u-url" href="${_link('author', post.author())}">${post.author()|h}</a> % else: ${post.author()|h} % endif </span></p> - <p class="dateline"><a href="${post.permalink()}" rel="bookmark"><time class="published dt-published" datetime="${post.formatted_date('webiso')}" itemprop="datePublished" title="${post.formatted_date(date_format)|h}">${post.formatted_date(date_format)|h}</time></a></p> + <p class="dateline"> + <a href="${post.permalink()}" rel="bookmark"> + <time class="published dt-published" datetime="${post.formatted_date('webiso')}" itemprop="datePublished" title="${post.formatted_date(date_format)|h}">${post.formatted_date(date_format)|h}</time> + % if post.updated and post.updated != post.date: + <span class="updated"> (${messages("updated")} + <time class="updated dt-updated" datetime="${post.formatted_updated('webiso')}" itemprop="dateUpdated" title="${post.formatted_updated(date_format)|h}">${post.formatted_updated(date_format)|h}</time>)</span> + % endif + </a> + </p> % if not post.meta('nocomments') and site_has_comments: <p class="commentline">${comments.comment_link(post.permalink(), post._base_path)} % endif @@ -46,9 +58,6 @@ % if post.meta('link'): <p class="linkline"><a href="${post.meta('link')}">${messages("Original site")}</a></p> % endif - %if post.description(): - <meta name="description" itemprop="description" content="${post.description()|h}"> - %endif </div> ${html_translations(post)} </header> diff --git a/nikola/data/themes/base/templates/post_helper.tmpl b/nikola/data/themes/base/templates/post_helper.tmpl index 47bf9b3..9ae4489 100644 --- a/nikola/data/themes/base/templates/post_helper.tmpl +++ b/nikola/data/themes/base/templates/post_helper.tmpl @@ -1,4 +1,5 @@ ## -*- coding: utf-8 -*- +<%namespace name="math" file="math_helper.tmpl"/> <%def name="meta_translations(post)"> %if len(translations) > 1: @@ -40,31 +41,29 @@ </%def> <%def name="open_graph_metadata(post)"> -%if use_open_graph: - <meta property="og:site_name" content="${blog_title|h}"> - <meta property="og:title" content="${post.title()[:70]|h}"> - <meta property="og:url" content="${abs_link(permalink)}"> - %if post.description(): +<meta property="og:site_name" content="${blog_title|h}"> +<meta property="og:title" content="${post.title()[:70]|h}"> +<meta property="og:url" content="${abs_link(permalink)}"> +%if post.description(): <meta property="og:description" content="${post.description()[:200]|h}"> - %else: +%else: <meta property="og:description" content="${post.text(strip_html=True)[:200]|h}"> - %endif - %if post.previewimage: +%endif +%if post.previewimage: <meta property="og:image" content="${url_replacer(permalink, post.previewimage, lang, 'absolute')}"> - %endif - <meta property="og:type" content="article"> +%endif +<meta property="og:type" content="article"> ### Will only work with Pintrest and breaks everywhere else who expect a [Facebook] URI. ### %if post.author(): ### <meta property="article:author" content="${post.author()|h}"> ### %endif - %if post.date.isoformat(): +%if post.date.isoformat(): <meta property="article:published_time" content="${post.formatted_date('webiso')}"> - %endif - %if post.tags: - %for tag in post.tags: - <meta property="article:tag" content="${tag|h}"> - %endfor - %endif +%endif +%if post.tags: + %for tag in post.tags: + <meta property="article:tag" content="${tag|h}"> + %endfor %endif </%def> @@ -84,33 +83,7 @@ %endif </%def> +### This function is deprecated; use math_helper directly. <%def name="mathjax_script(post)"> - %if post.is_mathjax: - %if use_katex: - <script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.6.0/katex.min.js"></script> - <script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.6.0/contrib/auto-render.min.js"></script> - % if katex_auto_render: - <script> - renderMathInElement(document.body, - { - ${katex_auto_render} - } - ); - </script> - % else: - <script> - renderMathInElement(document.body); - </script> - % endif - %else: - <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> - % if mathjax_config: - ${mathjax_config} - % else: - <script type="text/x-mathjax-config"> - MathJax.Hub.Config({tex2jax: {inlineMath: [['$latex ','$'], ['\\(','\\)']]}}); - </script> - % endif - %endif - %endif + ${math.math_scripts_ifpost(post)} </%def> diff --git a/nikola/data/themes/base/templates/sectionindex.tmpl b/nikola/data/themes/base/templates/sectionindex.tmpl deleted file mode 100644 index 7fb4f1e..0000000 --- a/nikola/data/themes/base/templates/sectionindex.tmpl +++ /dev/null @@ -1,21 +0,0 @@ -## -*- coding: utf-8 -*- -<%inherit file="index.tmpl"/> - -<%block name="extra_head"> - ${parent.extra_head()} - % if generate_atom: - <link rel="alternate" type="application/atom+xml" title="Atom for the ${posts[0].section_name()|h} section" href="${_link('section_index_atom', posts[0].section_slug())}"> - % endif -</%block> - -<%block name="content"> -<div class="sectionindex"> - <header> - <h2><a href="${_link('section_index', posts[0].section_slug())}">${title|h}</a></h2> - % if generate_atom: - <p class="feedlink"><a href="${_link('section_index_atom', posts[0].section_slug())}" type="application/atom+xml">${messages('Updates')}</a></p> - % endif - </header> - ${parent.content()} -</div> -</%block> diff --git a/nikola/data/themes/base/templates/slides.tmpl b/nikola/data/themes/base/templates/slides.tmpl deleted file mode 100644 index 048fb7e..0000000 --- a/nikola/data/themes/base/templates/slides.tmpl +++ /dev/null @@ -1,24 +0,0 @@ -<%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">‹</a> - <a class="right carousel-control" href="#${carousel_id}" data-slide="next">›</a> -</div> -</%block> diff --git a/nikola/data/themes/base/templates/story.tmpl b/nikola/data/themes/base/templates/story.tmpl index b8fb7ed..aeac04f 100644 --- a/nikola/data/themes/base/templates/story.tmpl +++ b/nikola/data/themes/base/templates/story.tmpl @@ -2,6 +2,7 @@ <%namespace name="helper" file="post_helper.tmpl"/> <%namespace name="pheader" file="post_header.tmpl"/> <%namespace name="comments" file="comments_helper.tmpl"/> +<%namespace name="math" file="math_helper.tmpl"/> <%inherit file="post.tmpl"/> <%block name="content"> @@ -19,6 +20,6 @@ ${comments.comment_form(post.permalink(absolute=True), post.title(), post.base_path)} </section> %endif - ${helper.mathjax_script(post)} + ${math.math_scripts_ifpost(post)} </article> </%block> diff --git a/nikola/data/themes/base/templates/tag.tmpl b/nikola/data/themes/base/templates/tag.tmpl index 50c5bf2..ac40876 100644 --- a/nikola/data/themes/base/templates/tag.tmpl +++ b/nikola/data/themes/base/templates/tag.tmpl @@ -1,24 +1,17 @@ ## -*- coding: utf-8 -*- <%inherit file="list_post.tmpl"/> +<%namespace name="feeds_translations" file="feeds_translations_helper.tmpl" import="*"/> <%block name="extra_head"> - ${parent.extra_head()} - %if len(translations) > 1 and generate_rss: - %for language in sorted(translations): - <link rel="alternate" type="application/rss+xml" title="RSS for ${kind} ${tag|h} (${language})" href="${_link(kind + "_rss", tag, language)}"> - %endfor - %elif generate_rss: - <link rel="alternate" type="application/rss+xml" title="RSS for ${kind} ${tag|h}" href="${_link(kind + "_rss", tag)}"> - %endif + ${feeds_translations.head(tag, kind, rss_override=False)} </%block> - <%block name="content"> <article class="tagpage"> <header> <h1>${title|h}</h1> %if description: - <p>${description}</p> + <p>${description}</p> %endif %if subcategories: ${messages('Subcategories:')} @@ -29,23 +22,16 @@ </ul> %endif <div class="metadata"> - %if len(translations) > 1 and generate_rss: - %for language in sorted(translations): - <p class="feedlink"> - <a href="${_link(kind + "_rss", tag, language)}" hreflang="${language}" type="application/rss+xml">${messages('RSS feed', language)} (${language})</a> - </p> - %endfor - %elif generate_rss: - <p class="feedlink"><a href="${_link(kind + "_rss", tag)}" type="application/rss+xml">${messages('RSS feed')}</a></p> - %endif + ${feeds_translations.feed_link(tag, kind=kind)} </div> + ${feeds_translations.translation_link(kind)} </header> %if posts: - <ul class="postlist"> - % for post in posts: - <li><time class="listdate" datetime="${post.formatted_date('webiso')}" title="${post.formatted_date(date_format)|h}">${post.formatted_date(date_format)|h}</time> <a href="${post.permalink()}" class="listtitle">${post.title()|h}<a></li> - % endfor - </ul> + <ul class="postlist"> + % for post in posts: + <li><time class="listdate" datetime="${post.formatted_date('webiso')}" title="${post.formatted_date(date_format)|h}">${post.formatted_date(date_format)|h}</time> <a href="${post.permalink()}" class="listtitle">${post.title()|h}<a></li> + % endfor + </ul> %endif </article> </%block> diff --git a/nikola/data/themes/base/templates/tagindex.tmpl b/nikola/data/themes/base/templates/tagindex.tmpl index c3c51b0..232d093 100644 --- a/nikola/data/themes/base/templates/tagindex.tmpl +++ b/nikola/data/themes/base/templates/tagindex.tmpl @@ -1,5 +1,6 @@ ## -*- coding: utf-8 -*- <%inherit file="index.tmpl"/> +<%namespace name="feeds_translations" file="feeds_translations_helper.tmpl" import="*"/> <%block name="content_header"> <header> @@ -15,16 +16,14 @@ %endfor </ul> %endif + <div class="metadata"> + ${feeds_translations.feed_link(tag, kind)} + ${feeds_translations.translation_link(kind)} + </div> </header> </%block> <%block name="extra_head"> ${parent.extra_head()} - %if len(translations) > 1 and generate_atom: - %for language in sorted(translations): - <link rel="alternate" type="application/atom+xml" title="Atom for the ${tag|h} section (${language})" href="${_link(kind + "_atom", tag, language)}"> - %endfor - %elif generate_atom: - <link rel="alternate" type="application/atom+xml" title="Atom for the ${tag|h} section" href="${_link("tag" + "_atom", tag)}"> - %endif + ${feeds_translations.head(tag, kind, rss_override=False)} </%block> diff --git a/nikola/data/themes/base/templates/tags.tmpl b/nikola/data/themes/base/templates/tags.tmpl index 6c329d9..c54559a 100644 --- a/nikola/data/themes/base/templates/tags.tmpl +++ b/nikola/data/themes/base/templates/tags.tmpl @@ -1,10 +1,18 @@ ## -*- coding: utf-8 -*- <%inherit file="base.tmpl"/> +<%namespace name="feeds_translations" file="feeds_translations_helper.tmpl" import="*"/> + +<%block name="extra_head"> + ${feeds_translations.head(kind=kind, feeds=False)} +</%block> <%block name="content"> <article class="tagindex"> <header> <h1>${title|h}</h1> + <div class="metadata"> + ${feeds_translations.translation_link(kind)} + </div> </header> % if cat_items: % if items: diff --git a/nikola/data/themes/base/templates/crumbs.tmpl b/nikola/data/themes/base/templates/ui_helper.tmpl index 49c5e1e..173027c 100644 --- a/nikola/data/themes/base/templates/crumbs.tmpl +++ b/nikola/data/themes/base/templates/ui_helper.tmpl @@ -1,6 +1,5 @@ ## -*- coding: utf-8 -*- - -<%def name="bar(crumbs)"> +<%def name="breadcrumbs(crumbs)"> %if crumbs: <nav class="breadcrumbs"> <ul class="breadcrumb"> diff --git a/nikola/data/themes/bootblog4-jinja/README.md b/nikola/data/themes/bootblog4-jinja/README.md new file mode 100644 index 0000000..6a9226e --- /dev/null +++ b/nikola/data/themes/bootblog4-jinja/README.md @@ -0,0 +1,6 @@ +This is a theme based on Bootstrap 4 and the [blog example](https://getbootstrap.com/docs/4.0/examples/blog/) by @mdo. + +Note that unlike previous versions of Bootstrap, icon fonts are not built-in. +You can use Font Awesome for this. + +This theme **does not** support Bootswatch font/color schemes. diff --git a/nikola/data/themes/bootblog4-jinja/assets/css/bootblog.css b/nikola/data/themes/bootblog4-jinja/assets/css/bootblog.css new file mode 120000 index 0000000..c8bd66a --- /dev/null +++ b/nikola/data/themes/bootblog4-jinja/assets/css/bootblog.css @@ -0,0 +1 @@ +../../../bootblog4/assets/css/bootblog.css
\ No newline at end of file diff --git a/nikola/data/themes/bootblog4-jinja/bootblog4-jinja.theme b/nikola/data/themes/bootblog4-jinja/bootblog4-jinja.theme new file mode 100644 index 0000000..8a5e55f --- /dev/null +++ b/nikola/data/themes/bootblog4-jinja/bootblog4-jinja.theme @@ -0,0 +1,12 @@ +[Theme] +engine = jinja +parent = bootstrap4-jinja +author = The Nikola Contributors +author_url = https://getnikola.com/ +license = MIT +based_on = Bootstrap 4 <http://getbootstrap.com/>, Bootstrap 4 blog example <http://getbootstrap.com/docs/4.0/examples/blog/> +tags = bootstrap + +[Family] +family = bootblog4 +mako-version = bootstrap4 diff --git a/nikola/data/themes/bootblog4-jinja/bundles b/nikola/data/themes/bootblog4-jinja/bundles new file mode 120000 index 0000000..94a0160 --- /dev/null +++ b/nikola/data/themes/bootblog4-jinja/bundles @@ -0,0 +1 @@ +../bootblog4/bundles
\ No newline at end of file diff --git a/nikola/data/themes/bootblog4-jinja/templates/base.tmpl b/nikola/data/themes/bootblog4-jinja/templates/base.tmpl new file mode 100644 index 0000000..0adf447 --- /dev/null +++ b/nikola/data/themes/bootblog4-jinja/templates/base.tmpl @@ -0,0 +1,104 @@ +{# -*- 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> + +<!-- Header and menu bar --> +<div class="container"> + <header class="blog-header py-3"> + <div class="row nbb-header align-items-center"> + <div class="col-md-3 col-xs-2 col-sm-2" style="width: auto;"> + <button class="navbar-toggler navbar-light bg-light nbb-navbar-toggler" type="button" data-toggle="collapse" data-target=".bs-nav-collapsible" aria-controls="bs-navbar" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse bs-nav-collapsible bootblog4-search-form-holder"> + {{ search_form }} + </div> + </div> + <div class="col-md-6 col-xs-10 col-sm-10 bootblog4-brand" style="width: auto;"> + <a class="navbar-brand blog-header-logo text-dark" href="{{ _link("root", None, lang) }}"> + {% if logo_url %} + <img src="{{ logo_url }}" alt="{{ blog_title|e }}" id="logo" class="d-inline-block align-top"> + {% endif %} + + {% if show_blog_title %} + <span id="blog-title">{{ blog_title|e }}</span> + {% endif %} + </a> + </div> + <div class="col-md-3 justify-content-end align-items-center bs-nav-collapsible collapse flex-collapse bootblog4-right-nav"> + <nav class="navbar navbar-light bg-white"> + <ul class="navbar-nav bootblog4-right-nav"> + {{ base.html_navigation_links_entries(navigation_alt_links) }} + {% block belowtitle %} + {% if translations|length > 1 %} + {{ base.html_translations() }} + {% endif %} + {% endblock %} + {% block sourcelink %}{% endblock %} + {{ template_hooks['menu_alt']() }} + </ul></nav> + </div> + </div> +</header> + +<nav class="navbar navbar-expand-md navbar-light bg-white static-top"> + <div class="collapse navbar-collapse bs-nav-collapsible" id="bs-navbar"> + <ul class="navbar-nav nav-fill d-flex w-100"> + {{ base.html_navigation_links_entries(navigation_links) }} + {{ template_hooks['menu']() }} + </ul> + </div><!-- /.navbar-collapse --> +</nav> +{% block before_content %}{% endblock %} +</div> + +<div class="container" id="content" role="main"> + <div class="body-content"> + {% if theme_config.get('sidebar') %} + <div class="row"><div class="col-md-8 blog-main"> + {% endif %} + <!--Body content--> + {{ template_hooks['page_header']() }} + {% block extra_header %}{% endblock %} + {% block content %}{% endblock %} + <!--End of body content--> + {% if theme_config.get('sidebar') %} + </div><aside class="col-md-4 blog-sidebar">{{ theme_config.get('sidebar') }}</aside></div> + {% endif %} + + <footer id="footer"> + {{ content_footer }} + {{ template_hooks['page_footer']() }} + {% block extra_footer %}{% endblock %} + </footer> + </div> +</div> + +{{ base.late_load_js() }} + {% if date_fanciness != 0 %} + <!-- fancy dates --> + <script> + luxon.Settings.defaultLocale = "{{ luxon_locales[lang] }}"; + fancydates({{ date_fanciness }}, {{ luxon_date_format }}); + </script> + <!-- end fancy dates --> + {% endif %} + {% block extra_js %}{% endblock %} + <script> + baguetteBox.run('div#content', { + ignoreClass: 'islink', + captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); + </script> +{{ body_end }} +{{ template_hooks['body_end']() }} +</body> +</html> diff --git a/nikola/data/themes/bootblog4-jinja/templates/base_helper.tmpl b/nikola/data/themes/bootblog4-jinja/templates/base_helper.tmpl new file mode 100644 index 0000000..0b74696 --- /dev/null +++ b/nikola/data/themes/bootblog4-jinja/templates/base_helper.tmpl @@ -0,0 +1,169 @@ +{# -*- coding: utf-8 -*- #} +{% import 'feeds_translations_helper.tmpl' as feeds_translations with context %} + +{% macro html_headstart() %} +<!DOCTYPE html> +<html + +prefix=' +og: http://ogp.me/ns# article: http://ogp.me/ns/article# +{% if comment_system == 'facebook' %} +fb: http://ogp.me/ns/fb# +{% endif %} +' +{% if is_rtl %} +dir="rtl" +{% endif %} + +lang="{{ lang }}"> + <head> + <meta charset="utf-8"> + {% if description %} + <meta name="description" content="{{ description|e }}"> + {% endif %} + <meta name="viewport" content="width=device-width, initial-scale=1"> + {% if title == blog_title %} + <title>{{ blog_title|e }}</title> + {% else %} + <title>{{ title|e }} | {{ blog_title|e }}</title> + {% endif %} + + {{ html_stylesheets() }} + <meta name="theme-color" content="{{ theme_color }}"> + {% if meta_generator_tag %} + <meta name="generator" content="Nikola (getnikola.com)"> + {% endif %} + {{ html_feedlinks() }} + <link rel="canonical" href="{{ abs_link(permalink) }}"> + + {% 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 %} + + {% if use_cdn %} + <!--[if lt IE 9]><script src="https://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]--> + {% else %} + <!--[if lt IE 9]><script src="{{ url_replacer(permalink, '/assets/js/html5.js', lang, url_type) }}"></script><![endif]--> + {% endif %} + + {{ extra_head_data }} +{% endmacro %} + +{% macro late_load_js() %} + {% if use_cdn %} + <script src="http://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script> + <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js" integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5D92v7s" crossorigin="anonymous"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.js" integrity="sha256-ULQV01VS9LCI2ePpLsmka+W0mawFpEA0rtxnezUj4A4=" crossorigin="anonymous"></script> + {% endif %} + {% if use_bundles and use_cdn %} + <script src="/assets/js/all.js"></script> + {% elif use_bundles %} + <script src="/assets/js/all-nocdn.js"></script> + {% else %} + {% if not use_cdn %} + <script src="/assets/js/jquery.min.js"></script> + <script src="/assets/js/popper.min.js"></script> + <script src="/assets/js/bootstrap.min.js"></script> + <script src="/assets/js/baguetteBox.min.js"></script> + {% endif %} + {% endif %} + {% if date_fanciness != 0 %} + {% if date_fanciness == 2 %} + <script src="https://polyfill.io/v3/polyfill.js?features=Intl.RelativeTimeFormat.%7Elocale.{{ luxon_locales[lang] }}"></script> + {% endif %} + {% if use_cdn %} + <script src="https://cdn.jsdelivr.net/npm/luxon@1.25.0/build/global/luxon.min.js" integrity="sha256-OVk2fwTRcXYlVFxr/ECXsakqelJbOg5WCj1dXSIb+nU=" crossorigin="anonymous"></script> + {% else %} + <script src="/assets/js/luxon.min.js"></script> + {% endif %} + {% if not use_bundles %} + <script src="/assets/js/fancydates.min.js"></script> + {% endif %} + {% endif %} + {{ social_buttons_code }} +{% endmacro %} + + +{% macro html_stylesheets() %} + {% if use_cdn %} + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous"> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.css" integrity="sha256-cLMYWYYutHkt+KpNqjg7NVkYSQ+E2VbrXsEvOqU7mL0=" crossorigin="anonymous"> + {% endif %} + {% if use_bundles and use_cdn %} + <link href="/assets/css/all.css" rel="stylesheet" type="text/css"> + {% elif use_bundles %} + <link href="/assets/css/all-nocdn.css" rel="stylesheet" type="text/css"> + {% else %} + {% if not use_cdn %} + <link href="/assets/css/bootstrap.min.css" rel="stylesheet" type="text/css"> + <link href="/assets/css/baguetteBox.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/theme.css" rel="stylesheet" type="text/css"> + <link href="/assets/css/bootblog.css" rel="stylesheet" type="text/css"> + {% if has_custom_css %} + <link href="/assets/css/custom.css" rel="stylesheet" type="text/css"> + {% endif %} + {% endif %} + {% if needs_ipython_css %} + <link href="/assets/css/ipython.min.css" rel="stylesheet" type="text/css"> + <link href="/assets/css/nikola_ipython.css" rel="stylesheet" type="text/css"> + {% endif %} + <link href="https://fonts.googleapis.com/css?family=Playfair+Display:700,900" rel="stylesheet"> +{% endmacro %} + +{% macro html_navigation_links() %} + {{ html_navigation_links_entries(navigation_links) }} +{% endmacro %} + +{% macro html_navigation_links_entries(navigation_links_source) %} + {% for url, text in navigation_links_source[lang] %} + {% if isinstance(url, tuple) %} + <li class="nav-item dropdown"><a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{ text }}</a> + <div class="dropdown-menu"> + {% for suburl, text in url %} + {% if rel_link(permalink, suburl) == "#" %} + <a href="{{ permalink }}" class="dropdown-item active">{{ text }} <span class="sr-only">{{ messages("(active)", lang) }}</span></a> + {% else %} + <a href="{{ suburl }}" class="dropdown-item">{{ text }}</a> + {% endif %} + {% endfor %} + </div> + {% else %} + {% if rel_link(permalink, url) == "#" %} + <li class="nav-item active"><a href="{{ permalink }}" class="nav-link">{{ text }} <span class="sr-only">{{ messages("(active)", lang) }}</span></a> + {% else %} + <li class="nav-item"><a href="{{ url }}" class="nav-link">{{ text }}</a> + {% endif %} + {% endif %} + {% endfor %} +{% endmacro %} + + + +{% macro html_feedlinks() %} + {{ feeds_translations.head(classification=None, kind='index', other=False) }} +{% endmacro %} + +{% macro html_translations() %} + {% for langname in translations|sort %} + {% if langname != lang %} + <li class="nav-item"><a href="{{ _link("root", None, langname) }}" rel="alternate" hreflang="{{ langname }}" class="nav-link">{{ messages("LANGUAGE", langname) }}</a></li> + {% endif %} + {% endfor %} +{% endmacro %} diff --git a/nikola/data/themes/bootblog4-jinja/templates/index.tmpl b/nikola/data/themes/bootblog4-jinja/templates/index.tmpl new file mode 100644 index 0000000..efc4e58 --- /dev/null +++ b/nikola/data/themes/bootblog4-jinja/templates/index.tmpl @@ -0,0 +1,150 @@ +{# -*- coding: utf-8 -*- #} +{% import 'index_helper.tmpl' as helper with context %} +{% import 'math_helper.tmpl' as math with context %} +{% import 'comments_helper.tmpl' as comments with context %} +{% import 'pagination_helper.tmpl' as pagination with context %} +{% import 'feeds_translations_helper.tmpl' as feeds_translations with context %} +{% extends 'base.tmpl' %} + +{% block extra_head %} + {{ super() }} + {% if posts and (permalink == '/' or permalink == '/' + index_file) %} + <link rel="prefetch" href="{{ posts[0].permalink() }}" type="text/html"> + {% endif %} + {{ math.math_styles_ifposts(posts) }} +{% endblock %} + +{% block content %} + {% block content_header %} + {{ feeds_translations.translation_link(kind) }} + {% endblock %} + {% if 'main_index' in pagekind %} + {{ front_index_header }} + {% endif %} + {% if page_links %} + {{ pagination.page_navigation(current_page, page_links, prevlink, nextlink, prev_next_links_reversed) }} + {% endif %} + <div class="postindex"> + {% for post in posts %} + <article class="h-entry post-{{ post.meta('type') }}" itemscope="itemscope" itemtype="http://schema.org/Article"> + <header> + <h1 class="p-name entry-title"><a href="{{ post.permalink() }}" class="u-url">{{ post.title()|e }}</a></h1> + <div class="metadata"> + <p class="byline author vcard"><span class="byline-name fn" itemprop="author"> + {% if author_pages_generated and multiple_authors_per_post %} + {% for author in post.authors() %} + <a href="{{ _link('author', author) }}">{{ author|e }}</a> + {% endfor %} + {% elif author_pages_generated %} + <a href="{{ _link('author', post.author()) }}">{{ post.author()|e }}</a> + {% else %} + {{ post.author()|e }} + {% endif %} + </span></p> + <p class="dateline"> + <a href="{{ post.permalink() }}" rel="bookmark"> + <time class="published dt-published" datetime="{{ post.formatted_date('webiso') }}" itemprop="datePublished" title="{{ post.formatted_date(date_format)|e }}">{{ post.formatted_date(date_format)|e }}</time> + {% if post.updated and post.updated != post.date %} + <span class="updated"> ({{ messages("updated") }} + <time class="dt-updated" datetime="{{ post.formatted_updated('webiso') }}" itemprop="dateUpdated" title="{{ post.formatted_updated(date_format)|e }}">{{ post.formatted_updated(date_format)|e }}</time>)</span> + {% endif %} + </a> + </p> + {% if not post.meta('nocomments') and site_has_comments %} + <p class="commentline">{{ comments.comment_link(post.permalink(), post._base_path) }} + {% endif %} + </div> + </header> + {% if index_teasers %} + <div class="p-summary entry-summary"> + {{ post.text(teaser_only=True) }} + </div> + {% else %} + <div class="e-content entry-content"> + {{ post.text(teaser_only=False) }} + </div> + {% endif %} + </article> + {% endfor %} + </div> + {{ helper.html_pager() }} + {{ comments.comment_link_script() }} + {{ math.math_scripts_ifposts(posts) }} +{% endblock %} + +{% block before_content %} + {% if 'main_index' in pagekind and is_frontmost_index and featured and (theme_config.get('featured_large') or theme_config.get('featured_small')) %} + {% if theme_config.get('featured_on_mobile') %} + <div class="d-block"> + {% else %} + <div class="d-none d-md-block"> + {% endif %} + {% if featured and theme_config.get('featured_large') %} + <div class="jumbotron p-0 text-white rounded bg-dark"> + <div class="row bootblog4-featured-jumbotron-row"> + <div class="col-md-6 p-3 p-md-4 pr-0 h-md-250 bootblog4-featured-text"> + <h1 class="display-4 font-italic"><a class="text-white" href="{{ featured[0].permalink() }}">{{ featured[0].title() }}</a></h1> + {% if featured[0].previewimage %} + <div class="lead my-3 mb-0">{{ featured[0].text(teaser_only=True, strip_html=theme_config.get('featured_strip_html', True)) }}</div> + </div> + {% if theme_config.get('featured_large_image_on_mobile') %} + <div class="col-md-6 p-0 h-md-250 text-right"> + {% else %} + <div class="col-md-6 p-0 h-md-250 text-right d-none d-md-block"> + {% endif %} + <img class="bootblog4-featured-large-image" src="{{ featured[0].previewimage }}" alt="{{ featured.pop(0).title() }}"> + </div> + {% else %} + <div class="lead my-3 mb-0">{{ featured.pop(0).text(teaser_only=True, strip_html=theme_config.get('featured_strip_html', True)) }}</div> + </div> + {% endif %} + </div> + </div> + {% endif %} + + {% if featured and theme_config.get('featured_small') %} + <div class="row mb-2"> + {% if featured|length == 1 %} + <div class="col-md-12"> + {% else %} + <div class="col-md-6"> + {% endif %} + <div class="card flex-md-row mb-4 box-shadow h-md-250"> + <div class="card-body d-flex flex-column align-items-start"> + <h3 class="mb-0"> + <a class="text-dark" href="{{ featured[0].permalink() }}">{{ featured[0].title() }}</a> + </h3> + {% if featured[0].previewimage %} + <div class="card-text mb-auto bootblog4-featured-text">{{ featured[0].text(teaser_only=True, strip_html=theme_config.get('featured_strip_html', True)) }}</div> + </div> + <img class="card-img-right flex-auto d-none d-lg-block" src="{{ featured[0].previewimage }}" alt="{{ featured.pop(0).title() }}"> + {% else %} + <div class="card-text mb-auto bootblog4-featured-text">{{ featured.pop(0).text(teaser_only=True, strip_html=theme_config.get('featured_strip_html', True)) }}</div> + </div> + {% endif %} + </div> + </div> + + {% if featured %} + <div class="col-md-6"> + <div class="card flex-md-row mb-4 box-shadow h-md-250"> + <div class="card-body d-flex flex-column align-items-start"> + <h3 class="mb-0"> + <a class="text-dark" href="{{ featured[0].permalink() }}">{{ featured[0].title() }}</a> + </h3> + {% if featured[0].previewimage %} + <div class="card-text mb-auto bootblog4-featured-text">{{ featured[0].text(teaser_only=True, strip_html=theme_config.get('featured_strip_html', True)) }}</div> + </div> + <img class="card-img-right flex-auto d-none d-lg-block" src="{{ featured[0].previewimage }}" alt="{{ featured.pop(0).title() }}"> + {% else %} + <div class="card-text mb-auto bootblog4-featured-text">{{ featured.pop(0).text(teaser_only=True, strip_html=theme_config.get('featured_strip_html', True)) }}</div> + </div> + {% endif %} + </div> + </div> + {% endif %} + </div> + {% endif %} + </div> +{% endif %} +{% endblock %} diff --git a/nikola/data/themes/bootblog4/README.md b/nikola/data/themes/bootblog4/README.md new file mode 100644 index 0000000..6a9226e --- /dev/null +++ b/nikola/data/themes/bootblog4/README.md @@ -0,0 +1,6 @@ +This is a theme based on Bootstrap 4 and the [blog example](https://getbootstrap.com/docs/4.0/examples/blog/) by @mdo. + +Note that unlike previous versions of Bootstrap, icon fonts are not built-in. +You can use Font Awesome for this. + +This theme **does not** support Bootswatch font/color schemes. diff --git a/nikola/data/themes/bootblog4/assets/css/bootblog.css b/nikola/data/themes/bootblog4/assets/css/bootblog.css new file mode 100644 index 0000000..96d4b92 --- /dev/null +++ b/nikola/data/themes/bootblog4/assets/css/bootblog.css @@ -0,0 +1,225 @@ +/* stylelint-disable selector-list-comma-newline-after */ + +.blog-header { + line-height: 1; + border-bottom: 1px solid #e5e5e5; +} + +.blog-header-logo { + font-family: "Playfair Display", Georgia, "Times New Roman", serif; + font-size: 2.25rem; +} + +.blog-header-logo:hover { + text-decoration: none; +} + +h1, h2, h3, h4, h5, h6 { + font-family: "Playfair Display", Georgia, "Times New Roman", serif; +} + +.display-4 { + font-size: 2.5rem; +} +@media (min-width: 768px) { + .display-4 { + font-size: 3rem; + } +} + +.nav-scroller { + position: relative; + z-index: 2; + height: 2.75rem; + overflow-y: hidden; +} + +.nav-scroller .nav { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + padding-bottom: 1rem; + margin-top: -1px; + overflow-x: auto; + text-align: center; + white-space: nowrap; + -webkit-overflow-scrolling: touch; +} + +.nav-scroller .nav-link { + padding-top: .75rem; + padding-bottom: .75rem; + font-size: .875rem; +} + +.card-img-right { + height: 100%; + border-radius: 0 3px 3px 0; +} + +.flex-auto { + -ms-flex: 0 0 auto; + -webkit-box-flex: 0; + flex: 0 0 auto; +} + +.h-150 { height: 150px; } +@media (min-width: 768px) { + .h-md-150 { height: 150px; } +} + +.h-250 { height: 250px; } +@media (min-width: 768px) { + .h-md-250 { height: 250px; } +} + +.border-top { border-top: 1px solid #e5e5e5; } +.border-bottom { border-bottom: 1px solid #e5e5e5; } + +.box-shadow { box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); } + +/* + * Blog name and description + */ +.blog-title { + margin-bottom: 0; + font-size: 2rem; + font-weight: 400; +} +.blog-description { + font-size: 1.1rem; + color: #999; +} + +@media (min-width: 40em) { + .blog-title { + font-size: 3.5rem; + } +} + +/* Pagination */ +.blog-pagination { + margin-bottom: 4rem; +} +.blog-pagination > .btn { + border-radius: 2rem; +} + +/* + * Blog posts + */ +article { + margin-bottom: 4rem; +} +article:last-child { + margin-bottom: 0; +} +.entry-title { + margin-bottom: .25rem; + font-size: 2.5rem; +} +article .metadata { + margin-bottom: 1.25rem; + color: #999; +} + +/* + * Footer + */ +.blog-footer { + padding: 2.5rem 0; + color: #999; + text-align: center; + background-color: #f9f9f9; + border-top: .05rem solid #e5e5e5; +} +.blog-footer p:last-child { + margin-bottom: 0; +} + +@media (min-width: 576px) { + .nbb-navbar-toggler { + display: none; + } + + .nbb-header { + -webkit-box-pack: justify!important; + -ms-flex-pack: justify!important; + justify-content: space-between!important; + } +} + +/* Various fixes that make this theme look better for Nikola's needs */ +.navbar-brand { + padding: 0; + white-space: initial; +} + +.bootblog4-featured-large-image { + height: 100%; + border-top-right-radius: .25rem!important; + border-bottom-right-radius: .25rem!important; +} + +.bootblog4-featured-jumbotron-row { + margin-left: 0; + margin-right: 0; +} + +.bootblog4-right-nav { + flex-direction: row; +} + +.bootblog4-right-nav .nav-link { + padding-right: .5rem; + padding-left: .5rem; +} + +.bootblog4-featured-text { + overflow: auto; +} +/* extend the mobile appearance to `sm`, because otherwise weird things happen */ +@media (min-width: 576px) { + .nbb-navbar-toggler { + display: block; + } +} + +@media (max-width: 767px) { + .bootblog4-right-nav { + margin-top: 1rem; + } + + .bootblog4-search-form-holder { + position: absolute; + top: 2.75rem; + } + + .bootblog4-search-form-holder input.form-control { + width: 6rem; + } + + .bootblog4-brand { + text-align: left; + } +} + +@media (min-width: 768px) { + .nbb-navbar-toggler { + display: none; + } + + .flex-collapse { + display: flex !important; + } + + .bootblog4-search-form-holder { + display: block !important; + } + + .bootblog4-brand { + text-align: center; + } +} diff --git a/nikola/data/themes/bootblog4/bootblog4.theme b/nikola/data/themes/bootblog4/bootblog4.theme new file mode 100644 index 0000000..46db4ea --- /dev/null +++ b/nikola/data/themes/bootblog4/bootblog4.theme @@ -0,0 +1,12 @@ +[Theme] +engine = mako +parent = bootstrap4 +author = The Nikola Contributors +author_url = https://getnikola.com/ +license = MIT +based_on = Bootstrap 4 <http://getbootstrap.com/>, Bootstrap 4 blog example <http://getbootstrap.com/docs/4.0/examples/blog/> +tags = bootstrap + +[Family] +family = bootblog4 +jinja_version = bootblog4-jinja diff --git a/nikola/data/themes/bootblog4/bundles b/nikola/data/themes/bootblog4/bundles new file mode 100644 index 0000000..76ffd4b --- /dev/null +++ b/nikola/data/themes/bootblog4/bundles @@ -0,0 +1,28 @@ +; css bundles +assets/css/all-nocdn.css= + bootstrap.min.css, + rst_base.css, + nikola_rst.css, + code.css, + baguetteBox.min.css, + theme.css, + bootblog.css, + custom.css, +assets/css/all.css= + rst_base.css, + nikola_rst.css, + code.css, + baguetteBox.min.css, + theme.css, + bootblog.css, + custom.css, + +; javascript bundles +assets/js/all-nocdn.js= + jquery.min.js, + popper.min.js, + bootstrap.min.js, + baguetteBox.min.js, + fancydates.min.js, +assets/js/all.js= + fancydates.min.js, diff --git a/nikola/data/themes/bootblog4/templates/base.tmpl b/nikola/data/themes/bootblog4/templates/base.tmpl new file mode 100644 index 0000000..69b9d30 --- /dev/null +++ b/nikola/data/themes/bootblog4/templates/base.tmpl @@ -0,0 +1,104 @@ +## -*- 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> + +<!-- Header and menu bar --> +<div class="container"> + <header class="blog-header py-3"> + <div class="row nbb-header align-items-center"> + <div class="col-md-3 col-xs-2 col-sm-2" style="width: auto;"> + <button class="navbar-toggler navbar-light bg-light nbb-navbar-toggler" type="button" data-toggle="collapse" data-target=".bs-nav-collapsible" aria-controls="bs-navbar" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse bs-nav-collapsible bootblog4-search-form-holder"> + ${search_form} + </div> + </div> + <div class="col-md-6 col-xs-10 col-sm-10 bootblog4-brand" style="width: auto;"> + <a class="navbar-brand blog-header-logo text-dark" href="${_link("root", None, lang)}"> + %if logo_url: + <img src="${logo_url}" alt="${blog_title|h}" id="logo" class="d-inline-block align-top"> + %endif + + % if show_blog_title: + <span id="blog-title">${blog_title|h}</span> + % endif + </a> + </div> + <div class="col-md-3 justify-content-end align-items-center bs-nav-collapsible collapse flex-collapse bootblog4-right-nav"> + <nav class="navbar navbar-light bg-white"> + <ul class="navbar-nav bootblog4-right-nav"> + ${base.html_navigation_links_entries(navigation_alt_links)} + <%block name="belowtitle"> + %if len(translations) > 1: + ${base.html_translations()} + %endif + </%block> + <%block name="sourcelink"></%block> + ${template_hooks['menu_alt']()} + </ul></nav> + </div> + </div> +</header> + +<nav class="navbar navbar-expand-md navbar-light bg-white static-top"> + <div class="collapse navbar-collapse bs-nav-collapsible" id="bs-navbar"> + <ul class="navbar-nav nav-fill d-flex w-100"> + ${base.html_navigation_links_entries(navigation_links)} + ${template_hooks['menu']()} + </ul> + </div><!-- /.navbar-collapse --> +</nav> +<%block name="before_content"></%block> +</div> + +<div class="container" id="content" role="main"> + <div class="body-content"> + % if theme_config.get('sidebar'): + <div class="row"><div class="col-md-8 blog-main"> + % endif + <!--Body content--> + ${template_hooks['page_header']()} + <%block name="extra_header"></%block> + <%block name="content"></%block> + <!--End of body content--> + % if theme_config.get('sidebar'): + </div><aside class="col-md-4 blog-sidebar">${theme_config.get('sidebar')}</aside></div> + % endif + + <footer id="footer"> + ${content_footer} + ${template_hooks['page_footer']()} + <%block name="extra_footer"></%block> + </footer> + </div> +</div> + +${base.late_load_js()} + %if date_fanciness != 0: + <!-- fancy dates --> + <script> + luxon.Settings.defaultLocale = "${luxon_locales[lang]}"; + fancydates(${date_fanciness}, ${luxon_date_format}); + </script> + <!-- end fancy dates --> + %endif + <%block name="extra_js"></%block> + <script> + baguetteBox.run('div#content', { + ignoreClass: 'islink', + captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); + </script> +${body_end} +${template_hooks['body_end']()} +</body> +</html> diff --git a/nikola/data/themes/bootblog4/templates/base_helper.tmpl b/nikola/data/themes/bootblog4/templates/base_helper.tmpl new file mode 100644 index 0000000..3c919b4 --- /dev/null +++ b/nikola/data/themes/bootblog4/templates/base_helper.tmpl @@ -0,0 +1,169 @@ +## -*- coding: utf-8 -*- +<%namespace name="feeds_translations" file="feeds_translations_helper.tmpl" import="*"/> + +<%def name="html_headstart()"> +<!DOCTYPE html> +<html +\ +prefix='\ +og: http://ogp.me/ns# article: http://ogp.me/ns/article# \ +%if comment_system == 'facebook': +fb: http://ogp.me/ns/fb# \ +%endif +'\ +% if is_rtl: +dir="rtl" \ +% endif +\ +lang="${lang}"> + <head> + <meta charset="utf-8"> + %if description: + <meta name="description" content="${description|h}"> + %endif + <meta name="viewport" content="width=device-width, initial-scale=1"> + %if title == blog_title: + <title>${blog_title|h}</title> + %else: + <title>${title|h} | ${blog_title|h}</title> + %endif + + ${html_stylesheets()} + <meta name="theme-color" content="${theme_color}"> + % if meta_generator_tag: + <meta name="generator" content="Nikola (getnikola.com)"> + % endif + ${html_feedlinks()} + <link rel="canonical" href="${abs_link(permalink)}"> + + %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 + + %if use_cdn: + <!--[if lt IE 9]><script src="https://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]--> + %else: + <!--[if lt IE 9]><script src="${url_replacer(permalink, '/assets/js/html5.js', lang, url_type)}"></script><![endif]--> + %endif + + ${extra_head_data} +</%def> + +<%def name="late_load_js()"> + %if use_cdn: + <script src="http://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script> + <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js" integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5D92v7s" crossorigin="anonymous"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.js" integrity="sha256-ULQV01VS9LCI2ePpLsmka+W0mawFpEA0rtxnezUj4A4=" crossorigin="anonymous"></script> + % endif + %if use_bundles and use_cdn: + <script src="/assets/js/all.js"></script> + %elif use_bundles: + <script src="/assets/js/all-nocdn.js"></script> + %else: + %if not use_cdn: + <script src="/assets/js/jquery.min.js"></script> + <script src="/assets/js/popper.min.js"></script> + <script src="/assets/js/bootstrap.min.js"></script> + <script src="/assets/js/baguetteBox.min.js"></script> + %endif + %endif + %if date_fanciness != 0: + %if date_fanciness == 2: + <script src="https://polyfill.io/v3/polyfill.js?features=Intl.RelativeTimeFormat.%7Elocale.${luxon_locales[lang]}"></script> + %endif + %if use_cdn: + <script src="https://cdn.jsdelivr.net/npm/luxon@1.25.0/build/global/luxon.min.js" integrity="sha256-OVk2fwTRcXYlVFxr/ECXsakqelJbOg5WCj1dXSIb+nU=" crossorigin="anonymous"></script> + %else: + <script src="/assets/js/luxon.min.js"></script> + %endif + %if not use_bundles: + <script src="/assets/js/fancydates.min.js"></script> + %endif + %endif + ${social_buttons_code} +</%def> + + +<%def name="html_stylesheets()"> + % if use_cdn: + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous"> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.css" integrity="sha256-cLMYWYYutHkt+KpNqjg7NVkYSQ+E2VbrXsEvOqU7mL0=" crossorigin="anonymous"> + % endif + %if use_bundles and use_cdn: + <link href="/assets/css/all.css" rel="stylesheet" type="text/css"> + %elif use_bundles: + <link href="/assets/css/all-nocdn.css" rel="stylesheet" type="text/css"> + %else: + %if not use_cdn: + <link href="/assets/css/bootstrap.min.css" rel="stylesheet" type="text/css"> + <link href="/assets/css/baguetteBox.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/theme.css" rel="stylesheet" type="text/css"> + <link href="/assets/css/bootblog.css" rel="stylesheet" type="text/css"> + %if has_custom_css: + <link href="/assets/css/custom.css" rel="stylesheet" type="text/css"> + %endif + %endif + % if needs_ipython_css: + <link href="/assets/css/ipython.min.css" rel="stylesheet" type="text/css"> + <link href="/assets/css/nikola_ipython.css" rel="stylesheet" type="text/css"> + % endif + <link href="https://fonts.googleapis.com/css?family=Playfair+Display:700,900" rel="stylesheet"> +</%def> + +<%def name="html_navigation_links()"> + ${html_navigation_links_entries(navigation_links)} +</%def> + +<%def name="html_navigation_links_entries(navigation_links_source)"> + %for url, text in navigation_links_source[lang]: + % if isinstance(url, tuple): + <li class="nav-item dropdown"><a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">${text}</a> + <div class="dropdown-menu"> + %for suburl, text in url: + % if rel_link(permalink, suburl) == "#": + <a href="${permalink}" class="dropdown-item active">${text} <span class="sr-only">${messages("(active)", lang)}</span></a> + %else: + <a href="${suburl}" class="dropdown-item">${text}</a> + %endif + %endfor + </div> + % else: + % if rel_link(permalink, url) == "#": + <li class="nav-item active"><a href="${permalink}" class="nav-link">${text} <span class="sr-only">${messages("(active)", lang)}</span></a> + %else: + <li class="nav-item"><a href="${url}" class="nav-link">${text}</a> + %endif + % endif + %endfor +</%def> + + + +<%def name="html_feedlinks()"> + ${feeds_translations.head(classification=None, kind='index', other=False)} +</%def> + +<%def name="html_translations()"> + %for langname in sorted(translations): + %if langname != lang: + <li class="nav-item"><a href="${_link("root", None, langname)}" rel="alternate" hreflang="${langname}" class="nav-link">${messages("LANGUAGE", langname)}</a></li> + %endif + %endfor +</%def> diff --git a/nikola/data/themes/bootblog4/templates/index.tmpl b/nikola/data/themes/bootblog4/templates/index.tmpl new file mode 100644 index 0000000..449c5ec --- /dev/null +++ b/nikola/data/themes/bootblog4/templates/index.tmpl @@ -0,0 +1,150 @@ +## -*- coding: utf-8 -*- +<%namespace name="helper" file="index_helper.tmpl"/> +<%namespace name="math" file="math_helper.tmpl"/> +<%namespace name="comments" file="comments_helper.tmpl"/> +<%namespace name="pagination" file="pagination_helper.tmpl"/> +<%namespace name="feeds_translations" file="feeds_translations_helper.tmpl" import="*"/> +<%inherit file="base.tmpl"/> + +<%block name="extra_head"> + ${parent.extra_head()} + % if posts and (permalink == '/' or permalink == '/' + index_file): + <link rel="prefetch" href="${posts[0].permalink()}" type="text/html"> + % endif + ${math.math_styles_ifposts(posts)} +</%block> + +<%block name="content"> + <%block name="content_header"> + ${feeds_translations.translation_link(kind)} + </%block> + % if 'main_index' in pagekind: + ${front_index_header} + % endif + % if page_links: + ${pagination.page_navigation(current_page, page_links, prevlink, nextlink, prev_next_links_reversed)} + % endif + <div class="postindex"> + % for post in posts: + <article class="h-entry post-${post.meta('type')}" itemscope="itemscope" itemtype="http://schema.org/Article"> + <header> + <h1 class="p-name entry-title"><a href="${post.permalink()}" class="u-url">${post.title()|h}</a></h1> + <div class="metadata"> + <p class="byline author vcard"><span class="byline-name fn" itemprop="author"> + % if author_pages_generated and multiple_authors_per_post: + % for author in post.authors(): + <a href="${_link('author', author)}">${author|h}</a> + % endfor + % elif author_pages_generated: + <a href="${_link('author', post.author())}">${post.author()|h}</a> + % else: + ${post.author()|h} + % endif + </span></p> + <p class="dateline"> + <a href="${post.permalink()}" rel="bookmark"> + <time class="published dt-published" datetime="${post.formatted_date('webiso')}" itemprop="datePublished" title="${post.formatted_date(date_format)|h}">${post.formatted_date(date_format)|h}</time> + % if post.updated and post.updated != post.date: + <span class="updated"> (${messages("updated")} + <time class="dt-updated" datetime="${post.formatted_updated('webiso')}" itemprop="dateUpdated" title="${post.formatted_updated(date_format)|h}">${post.formatted_updated(date_format)|h}</time>)</span> + % endif + </a> + </p> + % if not post.meta('nocomments') and site_has_comments: + <p class="commentline">${comments.comment_link(post.permalink(), post._base_path)} + % endif + </div> + </header> + %if index_teasers: + <div class="p-summary entry-summary"> + ${post.text(teaser_only=True)} + </div> + %else: + <div class="e-content entry-content"> + ${post.text(teaser_only=False)} + </div> + %endif + </article> + % endfor + </div> + ${helper.html_pager()} + ${comments.comment_link_script()} + ${math.math_scripts_ifposts(posts)} +</%block> + +<%block name="before_content"> + % if 'main_index' in pagekind and is_frontmost_index and featured and (theme_config.get('featured_large') or theme_config.get('featured_small')): + % if theme_config.get('featured_on_mobile'): + <div class="d-block"> + % else: + <div class="d-none d-md-block"> + % endif + % if featured and theme_config.get('featured_large'): + <div class="jumbotron p-0 text-white rounded bg-dark"> + <div class="row bootblog4-featured-jumbotron-row"> + <div class="col-md-6 p-3 p-md-4 pr-0 h-md-250 bootblog4-featured-text"> + <h1 class="display-4 font-italic"><a class="text-white" href="${featured[0].permalink()}">${featured[0].title()}</a></h1> + % if featured[0].previewimage: + <div class="lead my-3 mb-0">${featured[0].text(teaser_only=True, strip_html=theme_config.get('featured_strip_html', True))}</div> + </div> + % if theme_config.get('featured_large_image_on_mobile'): + <div class="col-md-6 p-0 h-md-250 text-right"> + % else: + <div class="col-md-6 p-0 h-md-250 text-right d-none d-md-block"> + % endif + <img class="bootblog4-featured-large-image" src="${featured[0].previewimage}" alt="${featured.pop(0).title()}"> + </div> + % else: + <div class="lead my-3 mb-0">${featured.pop(0).text(teaser_only=True, strip_html=theme_config.get('featured_strip_html', True))}</div> + </div> + % endif + </div> + </div> + % endif + + % if featured and theme_config.get('featured_small'): + <div class="row mb-2"> + % if len(featured) == 1: + <div class="col-md-12"> + % else: + <div class="col-md-6"> + % endif + <div class="card flex-md-row mb-4 box-shadow h-md-250"> + <div class="card-body d-flex flex-column align-items-start"> + <h3 class="mb-0"> + <a class="text-dark" href="${featured[0].permalink()}">${featured[0].title()}</a> + </h3> + % if featured[0].previewimage: + <div class="card-text mb-auto bootblog4-featured-text">${featured[0].text(teaser_only=True, strip_html=theme_config.get('featured_strip_html', True))}</div> + </div> + <img class="card-img-right flex-auto d-none d-lg-block" src="${featured[0].previewimage}" alt="${featured.pop(0).title()}"> + % else: + <div class="card-text mb-auto bootblog4-featured-text">${featured.pop(0).text(teaser_only=True, strip_html=theme_config.get('featured_strip_html', True))}</div> + </div> + % endif + </div> + </div> + + % if featured: + <div class="col-md-6"> + <div class="card flex-md-row mb-4 box-shadow h-md-250"> + <div class="card-body d-flex flex-column align-items-start"> + <h3 class="mb-0"> + <a class="text-dark" href="${featured[0].permalink()}">${featured[0].title()}</a> + </h3> + % if featured[0].previewimage: + <div class="card-text mb-auto bootblog4-featured-text">${featured[0].text(teaser_only=True, strip_html=theme_config.get('featured_strip_html', True))}</div> + </div> + <img class="card-img-right flex-auto d-none d-lg-block" src="${featured[0].previewimage}" alt="${featured.pop(0).title()}"> + % else: + <div class="card-text mb-auto bootblog4-featured-text">${featured.pop(0).text(teaser_only=True, strip_html=theme_config.get('featured_strip_html', True))}</div> + </div> + % endif + </div> + </div> + % endif + </div> + %endif + </div> +% endif +</%block> diff --git a/nikola/data/themes/bootstrap3-jinja/AUTHORS.txt b/nikola/data/themes/bootstrap3-jinja/AUTHORS.txt deleted file mode 100644 index 043d497..0000000 --- a/nikola/data/themes/bootstrap3-jinja/AUTHORS.txt +++ /dev/null @@ -1 +0,0 @@ -Roberto Alsina <https://github.com/ralsina> diff --git a/nikola/data/themes/bootstrap3-jinja/README.md b/nikola/data/themes/bootstrap3-jinja/README.md deleted file mode 100644 index 10e673a..0000000 --- a/nikola/data/themes/bootstrap3-jinja/README.md +++ /dev/null @@ -1,8 +0,0 @@ -A theme based on Bootstrap 3. - -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 b/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap-theme.css deleted file mode 120000 index 78d39af..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap-theme.css +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/css/bootstrap-theme.css
\ No newline at end of file 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 deleted file mode 120000 index 639bdc1..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap-theme.css.map +++ /dev/null @@ -1 +0,0 @@ -../../../../../../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-theme.min.css b/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap-theme.min.css deleted file mode 120000 index 200c765..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap-theme.min.css +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/css/bootstrap-theme.min.css
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap-theme.min.css.map b/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap-theme.min.css.map deleted file mode 120000 index fcd3722..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap-theme.min.css.map +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/css/bootstrap-theme.min.css.map
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap.css b/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap.css deleted file mode 120000 index 013623e..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap.css +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/css/bootstrap.css
\ 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 deleted file mode 120000 index 8448a3d..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap.css.map +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/css/bootstrap.css.map
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap.min.css b/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap.min.css deleted file mode 120000 index 5bc6076..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap.min.css +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/css/bootstrap.min.css
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap.min.css.map b/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap.min.css.map deleted file mode 120000 index 5914aca..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/bootstrap.min.css.map +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/css/bootstrap.min.css.map
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/colorbox.css b/nikola/data/themes/bootstrap3-jinja/assets/css/colorbox.css deleted file mode 120000 index 5f8b3b0..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/colorbox.css +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/jquery-colorbox/example3/colorbox.css
\ 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 deleted file mode 100644 index 189ea89..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/docs.css +++ /dev/null @@ -1,160 +0,0 @@ -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-jinja/assets/css/images/controls.png b/nikola/data/themes/bootstrap3-jinja/assets/css/images/controls.png deleted file mode 120000 index 841a726..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/images/controls.png +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/example3/images/controls.png
\ 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 Binary files differdeleted file mode 100644 index 0d4475e..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomCenter.png +++ /dev/null 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 Binary files differdeleted file mode 100644 index 2775eba..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomLeft.png +++ /dev/null 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 Binary files differdeleted file mode 100644 index f7f5137..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderBottomRight.png +++ /dev/null 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 Binary files differdeleted file mode 100644 index a2d63d1..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderMiddleLeft.png +++ /dev/null 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 Binary files differdeleted file mode 100644 index fd7c3e8..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderMiddleRight.png +++ /dev/null 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 Binary files differdeleted file mode 100644 index 2937a9c..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopCenter.png +++ /dev/null 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 Binary files differdeleted file mode 100644 index f9d458b..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopLeft.png +++ /dev/null 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 Binary files differdeleted file mode 100644 index 74b8583..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/images/ie6/borderTopRight.png +++ /dev/null diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/images/loading.gif b/nikola/data/themes/bootstrap3-jinja/assets/css/images/loading.gif deleted file mode 120000 index b192a75..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/images/loading.gif +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/example3/images/loading.gif
\ 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 deleted file mode 120000 index c2dfd17..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.eot +++ /dev/null @@ -1 +0,0 @@ -../../../../../../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 deleted file mode 120000 index 30abe9d..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.svg +++ /dev/null @@ -1 +0,0 @@ -../../../../../../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 deleted file mode 120000 index 93e3bf3..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.ttf +++ /dev/null @@ -1 +0,0 @@ -../../../../../../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 deleted file mode 120000 index f7595ae..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.woff +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.woff2 b/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.woff2 deleted file mode 120000 index 8c1e4d3..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/fonts/glyphicons-halflings-regular.woff2 +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/bootstrap.js b/nikola/data/themes/bootstrap3-jinja/assets/js/bootstrap.js deleted file mode 120000 index 26aa1fd..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/bootstrap.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/js/bootstrap.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/bootstrap.min.js b/nikola/data/themes/bootstrap3-jinja/assets/js/bootstrap.min.js deleted file mode 120000 index c4cdf6c..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/bootstrap.min.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/js/bootstrap.min.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-ar.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-ar.js deleted file mode 120000 index f83073f..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-ar.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-ar.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-bg.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-bg.js deleted file mode 120000 index bafc4e0..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-bg.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-bg.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-bn.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-bn.js deleted file mode 120000 index 9b995d8..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-bn.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-bn.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-ca.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-ca.js deleted file mode 120000 index a749232..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-ca.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-ca.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-cs.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-cs.js deleted file mode 120000 index e4a595c..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-cs.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-cs.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-da.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-da.js deleted file mode 120000 index 1e9a1d6..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-da.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-da.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-de.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-de.js deleted file mode 120000 index 748f53b..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-de.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-de.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-es.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-es.js deleted file mode 120000 index 1154fb5..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-es.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-es.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-et.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-et.js deleted file mode 120000 index 483e192..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-et.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-et.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-fa.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-fa.js deleted file mode 120000 index a30b13c..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-fa.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-fa.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-fi.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-fi.js deleted file mode 120000 index 2a7e8ad..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-fi.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-fi.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-fr.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-fr.js deleted file mode 120000 index e359290..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-fr.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-fr.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-gl.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-gl.js deleted file mode 120000 index 04fa276..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-gl.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-gl.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-gr.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-gr.js deleted file mode 120000 index d8105ab..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-gr.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-gr.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-he.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-he.js deleted file mode 120000 index 72dddf5..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-he.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-he.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-hr.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-hr.js deleted file mode 120000 index 34aa3c0..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-hr.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-hr.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-hu.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-hu.js deleted file mode 120000 index a87f03c..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-hu.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-hu.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-id.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-id.js deleted file mode 120000 index 31053b8..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-id.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-id.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-it.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-it.js deleted file mode 120000 index aad9d22..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-it.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-it.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-ja.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-ja.js deleted file mode 120000 index 3ea27c2..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-ja.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-ja.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-kr.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-kr.js deleted file mode 120000 index 3e23b4a..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-kr.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-kr.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-lt.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-lt.js deleted file mode 120000 index 374b9bb..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-lt.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-lt.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-lv.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-lv.js deleted file mode 120000 index 101b476..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-lv.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-lv.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-my.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-my.js deleted file mode 120000 index 8e14f15..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-my.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-my.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-nl.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-nl.js deleted file mode 120000 index 2d03d48..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-nl.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-nl.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-no.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-no.js deleted file mode 120000 index 9af0ba7..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-no.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-no.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-pl.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-pl.js deleted file mode 120000 index 34f8ab1..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-pl.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-pl.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-pt-BR.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-pt-BR.js deleted file mode 120000 index e20bd38..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-pt-BR.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-pt-BR.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-ro.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-ro.js deleted file mode 120000 index 555f2e6..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-ro.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-ro.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-ru.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-ru.js deleted file mode 120000 index bac4855..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-ru.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-ru.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-si.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-si.js deleted file mode 120000 index 65b0492..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-si.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-si.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-sk.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-sk.js deleted file mode 120000 index 99859fd..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-sk.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-sk.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-sr.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-sr.js deleted file mode 120000 index c4fd9d5..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-sr.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-sr.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-sv.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-sv.js deleted file mode 120000 index d7f26e0..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-sv.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-sv.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-tr.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-tr.js deleted file mode 120000 index 86fd98f..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-tr.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-tr.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-uk.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-uk.js deleted file mode 120000 index 7cd1336..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-uk.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-uk.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-zh-CN.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-zh-CN.js deleted file mode 120000 index e6c5965..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-zh-CN.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-zh-CN.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-zh-TW.js b/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-zh-TW.js deleted file mode 120000 index bd2254c..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/colorbox-i18n/jquery.colorbox-zh-TW.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-zh-TW.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/flowr.plugin.js b/nikola/data/themes/bootstrap3-jinja/assets/js/flowr.plugin.js deleted file mode 100644 index 732fa3d..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/flowr.plugin.js +++ /dev/null @@ -1,271 +0,0 @@ -/** - * Flowr.js - Simple jQuery plugin to emulate Flickr's justified view - * For usage information refer to http://github.com/kalyan02/flowr-js - * - * - * @author: Kalyan Chakravarthy (http://KalyanChakravarthy.net) - * @version: v0.1 - */ -(function($) { - //$("#container2").css( 'border', '1px solid #ccc'); - $.fn.flowr = function(options) { - - $this = this; - var ROW_CLASS_NAME = 'flowr-row'; // Class name for the row of flowy - var MAX_LAST_ROW_GAP = 25; // If the width of last row is lesser than max-width, recalculation is needed - var NO_COPY_FIELDS = ['complete', 'data', 'responsive']; // these attributes will not be carried forward for append related calls - var DEFAULTS = { - 'data': [], - 'padding': 5, // whats the padding between flowy items - 'height': 240, // Minimum height an image row should take - 'render': null, // callback function to get the tag - 'append': false, // TODO - 'widthAttr': 'width', // a custom data structure can specify which attribute refers to height/width - 'heightAttr': 'height', - 'maxScale': 1.5, // In case there is only 1 elment in last row - 'maxWidth': this.width() - 1, // 1px is just for offset - 'itemWidth': null, // callback function for width - 'itemHeight': null, // callback function for height - 'complete': null, // complete callback - 'rowClassName': ROW_CLASS_NAME, - 'rows': -1, // Maximum number of rows to render. -1 for no limit. - 'responsive': true // make content responsive - }; - var settings = $.extend(DEFAULTS, options); - - // If data is being appended, we already have settings - // If we already have settings, retrieve them - if (settings.append && $this.data('lastSettings')) { - lastSettings = $this.data('lastSettings'); - - // Copy over the settings from previous init - for (attr in DEFAULTS) { - if (NO_COPY_FIELDS.indexOf(attr) < 0 && settings[attr] == DEFAULTS[attr]) { - settings[attr] = lastSettings[attr]; - } - } - - // Check if we have an incomplete last row - lastRow = $this.data('lastRow'); - if (lastRow.data.length > 0 && settings.maxWidth - lastRow.width > MAX_LAST_ROW_GAP) { - // Prepend the incomplete row to newly loaded data and redraw - lastRowData = lastSettings.data.slice(lastSettings.data.length - lastRow.data.length - 1); - settings.data = lastRowData.concat(settings.data); - - // Remove the incomplete row - // TODO: Don't reload this stuff later. Reattach to new row. - $('.' + settings.rowClassName + ':last', $this).detach(); - } else { - // console.log( lastRow.data.length ); - // console.log( lastRow.width ); - } - } - - // only on the first initial call - if (!settings.responsive && !settings.append) - $this.width($this.width()); - - // Basic sanity checks - if (!(settings.data instanceof Array)) - return; - - if (typeof(settings.padding) != 'number') - settings.padding = parseInt(settings.padding); - - if (typeof(settings.itemWidth) != 'function') { - settings.itemWidth = function(data) { - return data[settings.widthAttr]; - } - } - - if (typeof(settings.itemHeight) != 'function') { - settings.itemHeight = function(data) { - return data[settings.heightAttr]; - } - } - - // A standalone utility to calculate the item widths for a particular row - // Returns rowWidth: width occupied & data : the items in the new row - var utils = { - getNextRow: function(data, settings) { - var itemIndex = 0; - var itemsLength = data.length; - var lineItems = []; - var lineWidth = 0; - var maxWidth = settings.maxWidth; - var paddingSize = settings.padding; - - // console.log( 'maxItems=' + data.length ); - - requiredPadding = function() { - var extraPads = arguments.length == 1 ? arguments[0] : 0; - return (lineItems.length - 1 + extraPads) * settings.padding; - } - - while (lineWidth + requiredPadding() < settings.maxWidth && (itemIndex < itemsLength)) { - var itemData = data[itemIndex]; - var itemWidth = settings.itemWidth.call($this, itemData); - var itemHeight = settings.itemHeight.call($this, itemData); - - var minHeight = settings.height; - var minWidth = Math.floor(itemWidth * settings.height / itemHeight); - - - if (minWidth > settings.maxWidth) { - // very short+wide images like panoramas - // show them even if ugly, as wide as possible - minWidth = settings.maxWidth - 1 - requiredPadding(1); - minHeight = settings.height * minHeight / minWidth; - } - var newLineWidth = lineWidth + minWidth; - - // console.log( 'lineWidth = ' + lineWidth ); - // console.log( 'newLineWidth = ' + newLineWidth ); - if (newLineWidth < settings.maxWidth) { - lineItems.push({ - 'height': minHeight, - 'width': minWidth, - 'itemData': itemData - }); - - lineWidth += minWidth; - itemIndex++; - } else { - // We'd have exceeded width. So break off to scale. - // console.log( 'breaking off = ' + itemIndex ); - // console.log( 'leave off size = ' + lineItems.length ); - break; - } - } //while - - // Scale the size to max width - testWidth = 0; - if (lineWidth < settings.maxWidth) { - var fullScaleWidth = settings.maxWidth - requiredPadding() - 10; - var currScaleWidth = lineWidth; - var scaleFactor = fullScaleWidth / currScaleWidth; - if (scaleFactor > settings.maxScale) - scaleFactor = 1; - - var newHeight = Math.round(settings.height * scaleFactor); - for (i = 0; i < lineItems.length; i++) { - var lineItem = lineItems[i]; - lineItem.width = Math.floor(lineItem.width * scaleFactor); - lineItem.height = newHeight; - - testWidth += lineItem.width; - } - } - - return { - data: lineItems, - width: testWidth + requiredPadding() - }; - }, //getNextRow - reorderContent: function() { - /* - TODO: optimize for faster resizing by reusing dom objects instead of killing the dom - */ - var _initialWidth = $this.data('width'); - var _newWidth = $this.width(); - var _change = _initialWidth - _newWidth; - - if (_initialWidth != _newWidth) { - $this.html(''); - var _settings = $this.data('lastSettings'); - _settings.data = $this.data('data'); - _settings.maxWidth = $this.width() - 1; - $this.flowr(_settings); - } - } - } //utils - - // If the responsive var is set to true then listen for resize method - // and prevent resizing from happening twice if responsive is set again during append phase! - if (settings.responsive && !$this.data('__responsive')) { - $(window).resize(function() { - initialWidth = $this.data('width'); - newWidth = $this.width(); - - //initiate resize - if (initialWidth != newWidth) { - var task_id = $this.data('task_id'); - if (task_id) { - task_id = clearTimeout(task_id); - task_id = null; - } - task_id = setTimeout(utils.reorderContent, 80); - $this.data('task_id', task_id); - } - }); - $this.data('__responsive', true); - } - - - return this.each(function() { - - // Get a copy of original data. 1 level deep copy is sufficient. - var data = settings.data.slice(0); - var rowData = null; - var currentRow = 0; - var currentItem = 0; - - // Store all the data - var allData = []; - for (i = 0; i < data.length; i++) { - allData.push(data[i]); - } - $this.data('data', allData); - - // While we have a new row - while ((rowData = utils.getNextRow(data, settings)) != null && rowData.data.length > 0) { - if (settings.rows > 0 && currentRow >= settings.rows) - break; - // remove the number of elements in the new row from the top of data stack - data.splice(0, rowData.data.length); - - // Create a new row div, add class, append the htmls and insert the flowy items - var $row = $('<div>').addClass(settings.rowClassName); - var slack = $this[0].clientWidth - rowData.width - 2 * settings.padding - for (i = 0; i < rowData.data.length; i++) { - var displayData = rowData.data[i]; - // Get the HTML object from custom render function passed as argument - var displayObject = settings.render.call($this, displayData); - displayObject = $(displayObject); - extraw = Math.floor(slack/rowData.data.length) - if (i == 0) { - extraw += slack % rowData.data.length - } - // Set some basic stuff - displayObject - .css('width', displayData.width + extraw) - .css('height', displayData.height) - .css('margin-bottom', settings.padding + "px") - .css('margin-left', i == 0 ? '0' : settings.padding + "px"); //TODO:Refactor - $row.append(displayObject); - - currentItem++; - } - $this.append($row); - // console.log ( "I> rowData.data.length="+rowData.data.length +" rowData.width="+rowData.width ); - - currentRow++; - $this.data('lastRow', rowData); - } - // store the current state of settings and the items in last row - // we'll need this info when we append more items - $this.data('lastSettings', settings); - - // onComplete callback - // pass back info about list of rows and items rendered - if (typeof(settings.complete) == 'function') { - var completeData = { - renderedRows: currentRow, - renderedItems: currentItem - } - settings.complete.call($this, completeData); - } - }); - }; - -})(jQuery); diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/jquery.colorbox-min.js b/nikola/data/themes/bootstrap3-jinja/assets/js/jquery.colorbox-min.js deleted file mode 120000 index 9e40fd4..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/jquery.colorbox-min.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/jquery-colorbox/jquery.colorbox-min.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/jquery.colorbox.js b/nikola/data/themes/bootstrap3-jinja/assets/js/jquery.colorbox.js deleted file mode 120000 index 5ee7a90..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/jquery.colorbox.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/jquery-colorbox/jquery.colorbox.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/jquery.js b/nikola/data/themes/bootstrap3-jinja/assets/js/jquery.js deleted file mode 120000 index 966173b..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/jquery.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/jquery/dist/jquery.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/jquery.min.js b/nikola/data/themes/bootstrap3-jinja/assets/js/jquery.min.js deleted file mode 120000 index 5c080da..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/jquery.min.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/jquery/dist/jquery.min.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/js/jquery.min.map b/nikola/data/themes/bootstrap3-jinja/assets/js/jquery.min.map deleted file mode 120000 index 7e2c217..0000000 --- a/nikola/data/themes/bootstrap3-jinja/assets/js/jquery.min.map +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/jquery/dist/jquery.min.map
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/bundles b/nikola/data/themes/bootstrap3-jinja/bundles deleted file mode 120000 index 8cb3e06..0000000 --- a/nikola/data/themes/bootstrap3-jinja/bundles +++ /dev/null @@ -1 +0,0 @@ -../bootstrap3/bundles
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/engine b/nikola/data/themes/bootstrap3-jinja/engine deleted file mode 100644 index 6f04b30..0000000 --- a/nikola/data/themes/bootstrap3-jinja/engine +++ /dev/null @@ -1 +0,0 @@ -jinja diff --git a/nikola/data/themes/bootstrap3-jinja/parent b/nikola/data/themes/bootstrap3-jinja/parent deleted file mode 100644 index e9ed660..0000000 --- a/nikola/data/themes/bootstrap3-jinja/parent +++ /dev/null @@ -1 +0,0 @@ -base-jinja diff --git a/nikola/data/themes/bootstrap3-jinja/templates/base.tmpl b/nikola/data/themes/bootstrap3-jinja/templates/base.tmpl deleted file mode 100644 index 4ce46d0..0000000 --- a/nikola/data/themes/bootstrap3-jinja/templates/base.tmpl +++ /dev/null @@ -1,94 +0,0 @@ -{# -*- 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-static-top"> - <div class="container"><!-- This keeps the margins nice --> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-navbar" aria-controls="bs-navbar" aria-expanded="false"> - <span class="sr-only">{{ messages("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(_link("root", None, lang)) }}"> - {% if logo_url %} - <img src="{{ logo_url }}" alt="{{ blog_title|e }}" id="logo"> - {% endif %} - - {% if show_blog_title %} - <span id="blog-title">{{ blog_title|e }}</span> - {% endif %} - </a> - </div><!-- /.navbar-header --> - <div class="collapse navbar-collapse" id="bs-navbar" aria-expanded="false"> - <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" role="main"> - <div class="body-content"> - <!--Body content--> - <div class="row"> - {{ template_hooks['page_header']() }} - {% block content %}{% endblock %} - </div> - <!--End of body content--> - - <footer id="footer"> - {{ content_footer }} - {{ template_hooks['page_footer']() }} - </footer> - </div> -</div> - -{{ base.late_load_js() }} - <script>$('a.image-reference:not(.islink) img:not(.islink)').parent().colorbox({rel:"gal",maxWidth:"100%",maxHeight:"100%",scalePhotos:true});</script> - <!-- fancy dates --> - <script> - moment.locale("{{ momentjs_locales[lang] }}"); - fancydates({{ date_fanciness }}, {{ js_date_format }}); - </script> - <!-- end fancy dates --> - {% 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 deleted file mode 100644 index 1d1802f..0000000 --- a/nikola/data/themes/bootstrap3-jinja/templates/base_helper.tmpl +++ /dev/null @@ -1,188 +0,0 @@ -{# -*- coding: utf-8 -*- #} - -{% import 'annotation_helper.tmpl' as notes with context %} -{% 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 use_base_tag %} - <base href="{{ abs_link(permalink) }}"> - {% endif %} - {% if description %} - <meta name="description" content="{{ description|e }}"> - {% endif %} - <meta name="viewport" content="width=device-width, initial-scale=1"> - {% if title == blog_title %} - <title>{{ blog_title|e }}</title> - {% else %} - <title>{{ title|e }} | {{ blog_title|e }}</title> - {% endif %} - - {{ html_stylesheets() }} - <meta content="{{ theme_color }}" name="theme-color"> - {{ html_feedlinks() }} - <link rel="canonical" href="{{ abs_link(permalink) }}"> - - {% 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="https://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="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script> - <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> - - <script src="/assets/js/all.js"></script> - {% else %} - <script src="/assets/js/all-nocdn.js"></script> - {% endif %} - {% else %} - {% if use_cdn %} - <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script> - <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> - {% else %} - <script src="/assets/js/jquery.min.js"></script> - <script src="/assets/js/bootstrap.min.js"></script> - <script src="/assets/js/moment-with-locales.min.js"></script> - <script src="/assets/js/fancydates.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 rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - <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 rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - {% 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 needs_ipython_css %} - <link href="/assets/css/ipython.min.css" rel="stylesheet" type="text/css"> - <link href="/assets/css/nikola_ipython.css" rel="stylesheet" type="text/css"> - {% endif %} - {% 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" aria-haspopup="true" aria-expanded="false">{{ 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 }} <span class="sr-only">{{ messages("(active)", lang) }}</span></a> - {% else %} - <li><a href="{{ suburl }}">{{ text }}</a> - {% endif %} - {% endfor %} - </ul> - {% else %} - {% if rel_link(permalink, url) == "#" %} - <li class="active"><a href="{{ permalink }}">{{ text }} <span class="sr-only">{{ messages("(active)", lang) }}</span></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|sort %} - <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 %} - {% if generate_atom %} - {% if translations|length > 1 %} - {% for language in translations|sort %} - <link rel="alternate" type="application/atom+xml" title="Atom ({{ language }})" href="{{ _link('index_atom', None, language) }}"> - {% endfor %} - {% else %} - <link rel="alternate" type="application/atom+xml" title="Atom" href="{{ _link('index_atom', None) }}"> - {% endif %} - {% endif %} -{% endmacro %} - -{% macro html_translations() %} - {% for langname in translations|sort %} - {% if langname != lang %} - <li><a href="{{ abs_link(_link("root", 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 deleted file mode 100644 index cd9a5ed..0000000 --- a/nikola/data/themes/bootstrap3-jinja/templates/gallery.tmpl +++ /dev/null @@ -1,95 +0,0 @@ -{# -*- 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|e }}</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> {{ ftitle|e }}</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']|e }}"> - <img src="{{ image['url_thumb'] }}" alt="{{ image['title']|e }}" /></a> - {% endfor %} -</ul> -</noscript> -{% endif %} -{% if site_has_comments and enable_comments %} -{{ comments.comment_form(None, permalink, title) }} -{% endif %} -{% endblock %} - -{% block extra_head %} -{{ super() }} -<link rel="alternate" type="application/rss+xml" title="RSS" href="rss.xml"> -<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}); -$('a.image-reference[href="'+window.location.hash.substring(1,1000)+'"]').click(); -</script> -{% endblock %} diff --git a/nikola/data/themes/bootstrap3-jinja/templates/slides.tmpl b/nikola/data/themes/bootstrap3-jinja/templates/slides.tmpl deleted file mode 100644 index 342ed27..0000000 --- a/nikola/data/themes/bootstrap3-jinja/templates/slides.tmpl +++ /dev/null @@ -1,24 +0,0 @@ -{% 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 deleted file mode 100644 index 10e673a..0000000 --- a/nikola/data/themes/bootstrap3/README.md +++ /dev/null @@ -1,8 +0,0 @@ -A theme based on Bootstrap 3. - -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 b/nikola/data/themes/bootstrap3/assets/css/bootstrap-theme.css deleted file mode 120000 index 78d39af..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/bootstrap-theme.css +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/css/bootstrap-theme.css
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/css/bootstrap-theme.css.map b/nikola/data/themes/bootstrap3/assets/css/bootstrap-theme.css.map deleted file mode 120000 index 639bdc1..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/bootstrap-theme.css.map +++ /dev/null @@ -1 +0,0 @@ -../../../../../../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-theme.min.css b/nikola/data/themes/bootstrap3/assets/css/bootstrap-theme.min.css deleted file mode 120000 index 200c765..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/bootstrap-theme.min.css +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/css/bootstrap-theme.min.css
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/css/bootstrap-theme.min.css.map b/nikola/data/themes/bootstrap3/assets/css/bootstrap-theme.min.css.map deleted file mode 120000 index fcd3722..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/bootstrap-theme.min.css.map +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/css/bootstrap-theme.min.css.map
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/css/bootstrap.css b/nikola/data/themes/bootstrap3/assets/css/bootstrap.css deleted file mode 120000 index 013623e..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/bootstrap.css +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/css/bootstrap.css
\ 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 deleted file mode 120000 index 8448a3d..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/bootstrap.css.map +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/css/bootstrap.css.map
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/css/bootstrap.min.css b/nikola/data/themes/bootstrap3/assets/css/bootstrap.min.css deleted file mode 120000 index 5bc6076..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/bootstrap.min.css +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/css/bootstrap.min.css
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/css/bootstrap.min.css.map b/nikola/data/themes/bootstrap3/assets/css/bootstrap.min.css.map deleted file mode 120000 index 5914aca..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/bootstrap.min.css.map +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/css/bootstrap.min.css.map
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/css/colorbox.css b/nikola/data/themes/bootstrap3/assets/css/colorbox.css deleted file mode 120000 index 5f8b3b0..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/colorbox.css +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/jquery-colorbox/example3/colorbox.css
\ 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 deleted file mode 100644 index 189ea89..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/docs.css +++ /dev/null @@ -1,160 +0,0 @@ -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/controls.png b/nikola/data/themes/bootstrap3/assets/css/images/controls.png deleted file mode 120000 index 841a726..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/images/controls.png +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/example3/images/controls.png
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomCenter.png b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomCenter.png Binary files differdeleted file mode 100644 index 0d4475e..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomCenter.png +++ /dev/null diff --git a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomLeft.png b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomLeft.png Binary files differdeleted file mode 100644 index 2775eba..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomLeft.png +++ /dev/null diff --git a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomRight.png b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomRight.png Binary files differdeleted file mode 100644 index f7f5137..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderBottomRight.png +++ /dev/null diff --git a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleLeft.png b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleLeft.png Binary files differdeleted file mode 100644 index a2d63d1..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleLeft.png +++ /dev/null diff --git a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleRight.png b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleRight.png Binary files differdeleted file mode 100644 index fd7c3e8..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderMiddleRight.png +++ /dev/null diff --git a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopCenter.png b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopCenter.png Binary files differdeleted file mode 100644 index 2937a9c..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopCenter.png +++ /dev/null diff --git a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopLeft.png b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopLeft.png Binary files differdeleted file mode 100644 index f9d458b..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopLeft.png +++ /dev/null diff --git a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopRight.png b/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopRight.png Binary files differdeleted file mode 100644 index 74b8583..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/images/ie6/borderTopRight.png +++ /dev/null diff --git a/nikola/data/themes/bootstrap3/assets/css/images/loading.gif b/nikola/data/themes/bootstrap3/assets/css/images/loading.gif deleted file mode 120000 index b192a75..0000000 --- a/nikola/data/themes/bootstrap3/assets/css/images/loading.gif +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/example3/images/loading.gif
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.eot b/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.eot deleted file mode 120000 index c2dfd17..0000000 --- a/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.eot +++ /dev/null @@ -1 +0,0 @@ -../../../../../../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 deleted file mode 120000 index 30abe9d..0000000 --- a/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.svg +++ /dev/null @@ -1 +0,0 @@ -../../../../../../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 deleted file mode 120000 index 93e3bf3..0000000 --- a/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.ttf +++ /dev/null @@ -1 +0,0 @@ -../../../../../../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 deleted file mode 120000 index f7595ae..0000000 --- a/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.woff +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.woff2 b/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.woff2 deleted file mode 120000 index 8c1e4d3..0000000 --- a/nikola/data/themes/bootstrap3/assets/fonts/glyphicons-halflings-regular.woff2 +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/bootstrap.js b/nikola/data/themes/bootstrap3/assets/js/bootstrap.js deleted file mode 120000 index 26aa1fd..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/bootstrap.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/js/bootstrap.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/bootstrap.min.js b/nikola/data/themes/bootstrap3/assets/js/bootstrap.min.js deleted file mode 120000 index c4cdf6c..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/bootstrap.min.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/bootstrap/dist/js/bootstrap.min.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-ar.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-ar.js deleted file mode 120000 index f83073f..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-ar.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-ar.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-bg.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-bg.js deleted file mode 120000 index bafc4e0..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-bg.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-bg.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-bn.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-bn.js deleted file mode 120000 index 9b995d8..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-bn.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-bn.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-ca.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-ca.js deleted file mode 120000 index a749232..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-ca.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-ca.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-cs.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-cs.js deleted file mode 120000 index e4a595c..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-cs.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-cs.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-da.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-da.js deleted file mode 120000 index 1e9a1d6..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-da.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-da.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-de.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-de.js deleted file mode 120000 index 748f53b..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-de.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-de.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-es.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-es.js deleted file mode 120000 index 1154fb5..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-es.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-es.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-et.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-et.js deleted file mode 120000 index 483e192..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-et.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-et.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-fa.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-fa.js deleted file mode 120000 index a30b13c..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-fa.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-fa.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-fi.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-fi.js deleted file mode 120000 index 2a7e8ad..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-fi.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-fi.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-fr.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-fr.js deleted file mode 120000 index e359290..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-fr.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-fr.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-gl.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-gl.js deleted file mode 120000 index 04fa276..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-gl.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-gl.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-gr.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-gr.js deleted file mode 120000 index d8105ab..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-gr.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-gr.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-he.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-he.js deleted file mode 120000 index 72dddf5..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-he.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-he.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-hr.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-hr.js deleted file mode 120000 index 34aa3c0..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-hr.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-hr.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-hu.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-hu.js deleted file mode 120000 index a87f03c..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-hu.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-hu.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-id.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-id.js deleted file mode 120000 index 31053b8..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-id.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-id.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-it.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-it.js deleted file mode 120000 index aad9d22..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-it.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-it.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-ja.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-ja.js deleted file mode 120000 index 3ea27c2..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-ja.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-ja.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-kr.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-kr.js deleted file mode 120000 index 3e23b4a..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-kr.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-kr.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-lt.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-lt.js deleted file mode 120000 index 374b9bb..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-lt.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-lt.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-lv.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-lv.js deleted file mode 120000 index 101b476..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-lv.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-lv.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-my.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-my.js deleted file mode 120000 index 8e14f15..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-my.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-my.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-nl.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-nl.js deleted file mode 120000 index 2d03d48..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-nl.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-nl.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-no.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-no.js deleted file mode 120000 index 9af0ba7..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-no.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-no.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-pl.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-pl.js deleted file mode 120000 index 34f8ab1..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-pl.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-pl.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-pt-BR.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-pt-BR.js deleted file mode 120000 index e20bd38..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-pt-BR.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-pt-BR.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-ro.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-ro.js deleted file mode 120000 index 555f2e6..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-ro.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-ro.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-ru.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-ru.js deleted file mode 120000 index bac4855..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-ru.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-ru.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-si.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-si.js deleted file mode 120000 index 65b0492..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-si.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-si.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-sk.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-sk.js deleted file mode 120000 index 99859fd..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-sk.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-sk.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-sr.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-sr.js deleted file mode 120000 index c4fd9d5..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-sr.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-sr.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-sv.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-sv.js deleted file mode 120000 index d7f26e0..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-sv.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-sv.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-tr.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-tr.js deleted file mode 120000 index 86fd98f..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-tr.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-tr.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-uk.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-uk.js deleted file mode 120000 index 7cd1336..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-uk.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-uk.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-zh-CN.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-zh-CN.js deleted file mode 120000 index e6c5965..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-zh-CN.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-zh-CN.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-zh-TW.js b/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-zh-TW.js deleted file mode 120000 index bd2254c..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/colorbox-i18n/jquery.colorbox-zh-TW.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../../bower_components/jquery-colorbox/i18n/jquery.colorbox-zh-TW.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/flowr.plugin.js b/nikola/data/themes/bootstrap3/assets/js/flowr.plugin.js deleted file mode 100644 index 732fa3d..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/flowr.plugin.js +++ /dev/null @@ -1,271 +0,0 @@ -/** - * Flowr.js - Simple jQuery plugin to emulate Flickr's justified view - * For usage information refer to http://github.com/kalyan02/flowr-js - * - * - * @author: Kalyan Chakravarthy (http://KalyanChakravarthy.net) - * @version: v0.1 - */ -(function($) { - //$("#container2").css( 'border', '1px solid #ccc'); - $.fn.flowr = function(options) { - - $this = this; - var ROW_CLASS_NAME = 'flowr-row'; // Class name for the row of flowy - var MAX_LAST_ROW_GAP = 25; // If the width of last row is lesser than max-width, recalculation is needed - var NO_COPY_FIELDS = ['complete', 'data', 'responsive']; // these attributes will not be carried forward for append related calls - var DEFAULTS = { - 'data': [], - 'padding': 5, // whats the padding between flowy items - 'height': 240, // Minimum height an image row should take - 'render': null, // callback function to get the tag - 'append': false, // TODO - 'widthAttr': 'width', // a custom data structure can specify which attribute refers to height/width - 'heightAttr': 'height', - 'maxScale': 1.5, // In case there is only 1 elment in last row - 'maxWidth': this.width() - 1, // 1px is just for offset - 'itemWidth': null, // callback function for width - 'itemHeight': null, // callback function for height - 'complete': null, // complete callback - 'rowClassName': ROW_CLASS_NAME, - 'rows': -1, // Maximum number of rows to render. -1 for no limit. - 'responsive': true // make content responsive - }; - var settings = $.extend(DEFAULTS, options); - - // If data is being appended, we already have settings - // If we already have settings, retrieve them - if (settings.append && $this.data('lastSettings')) { - lastSettings = $this.data('lastSettings'); - - // Copy over the settings from previous init - for (attr in DEFAULTS) { - if (NO_COPY_FIELDS.indexOf(attr) < 0 && settings[attr] == DEFAULTS[attr]) { - settings[attr] = lastSettings[attr]; - } - } - - // Check if we have an incomplete last row - lastRow = $this.data('lastRow'); - if (lastRow.data.length > 0 && settings.maxWidth - lastRow.width > MAX_LAST_ROW_GAP) { - // Prepend the incomplete row to newly loaded data and redraw - lastRowData = lastSettings.data.slice(lastSettings.data.length - lastRow.data.length - 1); - settings.data = lastRowData.concat(settings.data); - - // Remove the incomplete row - // TODO: Don't reload this stuff later. Reattach to new row. - $('.' + settings.rowClassName + ':last', $this).detach(); - } else { - // console.log( lastRow.data.length ); - // console.log( lastRow.width ); - } - } - - // only on the first initial call - if (!settings.responsive && !settings.append) - $this.width($this.width()); - - // Basic sanity checks - if (!(settings.data instanceof Array)) - return; - - if (typeof(settings.padding) != 'number') - settings.padding = parseInt(settings.padding); - - if (typeof(settings.itemWidth) != 'function') { - settings.itemWidth = function(data) { - return data[settings.widthAttr]; - } - } - - if (typeof(settings.itemHeight) != 'function') { - settings.itemHeight = function(data) { - return data[settings.heightAttr]; - } - } - - // A standalone utility to calculate the item widths for a particular row - // Returns rowWidth: width occupied & data : the items in the new row - var utils = { - getNextRow: function(data, settings) { - var itemIndex = 0; - var itemsLength = data.length; - var lineItems = []; - var lineWidth = 0; - var maxWidth = settings.maxWidth; - var paddingSize = settings.padding; - - // console.log( 'maxItems=' + data.length ); - - requiredPadding = function() { - var extraPads = arguments.length == 1 ? arguments[0] : 0; - return (lineItems.length - 1 + extraPads) * settings.padding; - } - - while (lineWidth + requiredPadding() < settings.maxWidth && (itemIndex < itemsLength)) { - var itemData = data[itemIndex]; - var itemWidth = settings.itemWidth.call($this, itemData); - var itemHeight = settings.itemHeight.call($this, itemData); - - var minHeight = settings.height; - var minWidth = Math.floor(itemWidth * settings.height / itemHeight); - - - if (minWidth > settings.maxWidth) { - // very short+wide images like panoramas - // show them even if ugly, as wide as possible - minWidth = settings.maxWidth - 1 - requiredPadding(1); - minHeight = settings.height * minHeight / minWidth; - } - var newLineWidth = lineWidth + minWidth; - - // console.log( 'lineWidth = ' + lineWidth ); - // console.log( 'newLineWidth = ' + newLineWidth ); - if (newLineWidth < settings.maxWidth) { - lineItems.push({ - 'height': minHeight, - 'width': minWidth, - 'itemData': itemData - }); - - lineWidth += minWidth; - itemIndex++; - } else { - // We'd have exceeded width. So break off to scale. - // console.log( 'breaking off = ' + itemIndex ); - // console.log( 'leave off size = ' + lineItems.length ); - break; - } - } //while - - // Scale the size to max width - testWidth = 0; - if (lineWidth < settings.maxWidth) { - var fullScaleWidth = settings.maxWidth - requiredPadding() - 10; - var currScaleWidth = lineWidth; - var scaleFactor = fullScaleWidth / currScaleWidth; - if (scaleFactor > settings.maxScale) - scaleFactor = 1; - - var newHeight = Math.round(settings.height * scaleFactor); - for (i = 0; i < lineItems.length; i++) { - var lineItem = lineItems[i]; - lineItem.width = Math.floor(lineItem.width * scaleFactor); - lineItem.height = newHeight; - - testWidth += lineItem.width; - } - } - - return { - data: lineItems, - width: testWidth + requiredPadding() - }; - }, //getNextRow - reorderContent: function() { - /* - TODO: optimize for faster resizing by reusing dom objects instead of killing the dom - */ - var _initialWidth = $this.data('width'); - var _newWidth = $this.width(); - var _change = _initialWidth - _newWidth; - - if (_initialWidth != _newWidth) { - $this.html(''); - var _settings = $this.data('lastSettings'); - _settings.data = $this.data('data'); - _settings.maxWidth = $this.width() - 1; - $this.flowr(_settings); - } - } - } //utils - - // If the responsive var is set to true then listen for resize method - // and prevent resizing from happening twice if responsive is set again during append phase! - if (settings.responsive && !$this.data('__responsive')) { - $(window).resize(function() { - initialWidth = $this.data('width'); - newWidth = $this.width(); - - //initiate resize - if (initialWidth != newWidth) { - var task_id = $this.data('task_id'); - if (task_id) { - task_id = clearTimeout(task_id); - task_id = null; - } - task_id = setTimeout(utils.reorderContent, 80); - $this.data('task_id', task_id); - } - }); - $this.data('__responsive', true); - } - - - return this.each(function() { - - // Get a copy of original data. 1 level deep copy is sufficient. - var data = settings.data.slice(0); - var rowData = null; - var currentRow = 0; - var currentItem = 0; - - // Store all the data - var allData = []; - for (i = 0; i < data.length; i++) { - allData.push(data[i]); - } - $this.data('data', allData); - - // While we have a new row - while ((rowData = utils.getNextRow(data, settings)) != null && rowData.data.length > 0) { - if (settings.rows > 0 && currentRow >= settings.rows) - break; - // remove the number of elements in the new row from the top of data stack - data.splice(0, rowData.data.length); - - // Create a new row div, add class, append the htmls and insert the flowy items - var $row = $('<div>').addClass(settings.rowClassName); - var slack = $this[0].clientWidth - rowData.width - 2 * settings.padding - for (i = 0; i < rowData.data.length; i++) { - var displayData = rowData.data[i]; - // Get the HTML object from custom render function passed as argument - var displayObject = settings.render.call($this, displayData); - displayObject = $(displayObject); - extraw = Math.floor(slack/rowData.data.length) - if (i == 0) { - extraw += slack % rowData.data.length - } - // Set some basic stuff - displayObject - .css('width', displayData.width + extraw) - .css('height', displayData.height) - .css('margin-bottom', settings.padding + "px") - .css('margin-left', i == 0 ? '0' : settings.padding + "px"); //TODO:Refactor - $row.append(displayObject); - - currentItem++; - } - $this.append($row); - // console.log ( "I> rowData.data.length="+rowData.data.length +" rowData.width="+rowData.width ); - - currentRow++; - $this.data('lastRow', rowData); - } - // store the current state of settings and the items in last row - // we'll need this info when we append more items - $this.data('lastSettings', settings); - - // onComplete callback - // pass back info about list of rows and items rendered - if (typeof(settings.complete) == 'function') { - var completeData = { - renderedRows: currentRow, - renderedItems: currentItem - } - settings.complete.call($this, completeData); - } - }); - }; - -})(jQuery); diff --git a/nikola/data/themes/bootstrap3/assets/js/jquery.colorbox-min.js b/nikola/data/themes/bootstrap3/assets/js/jquery.colorbox-min.js deleted file mode 120000 index 9e40fd4..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/jquery.colorbox-min.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/jquery-colorbox/jquery.colorbox-min.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/jquery.colorbox.js b/nikola/data/themes/bootstrap3/assets/js/jquery.colorbox.js deleted file mode 120000 index 5ee7a90..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/jquery.colorbox.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/jquery-colorbox/jquery.colorbox.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/jquery.js b/nikola/data/themes/bootstrap3/assets/js/jquery.js deleted file mode 120000 index 966173b..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/jquery.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/jquery/dist/jquery.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/jquery.min.js b/nikola/data/themes/bootstrap3/assets/js/jquery.min.js deleted file mode 120000 index 5c080da..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/jquery.min.js +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/jquery/dist/jquery.min.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/js/jquery.min.map b/nikola/data/themes/bootstrap3/assets/js/jquery.min.map deleted file mode 120000 index 7e2c217..0000000 --- a/nikola/data/themes/bootstrap3/assets/js/jquery.min.map +++ /dev/null @@ -1 +0,0 @@ -../../../../../../bower_components/jquery/dist/jquery.min.map
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/bundles b/nikola/data/themes/bootstrap3/bundles deleted file mode 100644 index 8bdc591..0000000 --- a/nikola/data/themes/bootstrap3/bundles +++ /dev/null @@ -1,4 +0,0 @@ -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,moment-with-locales.min.js,fancydates.js -assets/js/all.js=jquery.colorbox-min.js,moment-with-locales.min.js,fancydates.js diff --git a/nikola/data/themes/bootstrap3/engine b/nikola/data/themes/bootstrap3/engine deleted file mode 100644 index 2951cdd..0000000 --- a/nikola/data/themes/bootstrap3/engine +++ /dev/null @@ -1 +0,0 @@ -mako diff --git a/nikola/data/themes/bootstrap3/parent b/nikola/data/themes/bootstrap3/parent deleted file mode 100644 index df967b9..0000000 --- a/nikola/data/themes/bootstrap3/parent +++ /dev/null @@ -1 +0,0 @@ -base diff --git a/nikola/data/themes/bootstrap3/templates/base.tmpl b/nikola/data/themes/bootstrap3/templates/base.tmpl deleted file mode 100644 index 2f7a290..0000000 --- a/nikola/data/themes/bootstrap3/templates/base.tmpl +++ /dev/null @@ -1,94 +0,0 @@ -## -*- 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-static-top"> - <div class="container"><!-- This keeps the margins nice --> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-navbar" aria-controls="bs-navbar" aria-expanded="false"> - <span class="sr-only">${messages("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(_link("root", None, lang))}"> - %if logo_url: - <img src="${logo_url}" alt="${blog_title|h}" id="logo"> - %endif - - % if show_blog_title: - <span id="blog-title">${blog_title|h}</span> - % endif - </a> - </div><!-- /.navbar-header --> - <div class="collapse navbar-collapse" id="bs-navbar" aria-expanded="false"> - <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" role="main"> - <div class="body-content"> - <!--Body content--> - <div class="row"> - ${template_hooks['page_header']()} - <%block name="content"></%block> - </div> - <!--End of body content--> - - <footer id="footer"> - ${content_footer} - ${template_hooks['page_footer']()} - </footer> - </div> -</div> - -${base.late_load_js()} - <script>$('a.image-reference:not(.islink) img:not(.islink)').parent().colorbox({rel:"gal",maxWidth:"100%",maxHeight:"100%",scalePhotos:true});</script> - <!-- fancy dates --> - <script> - moment.locale("${momentjs_locales[lang]}"); - fancydates(${date_fanciness}, ${js_date_format}); - </script> - <!-- end fancy dates --> - <%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 deleted file mode 100644 index 20b135b..0000000 --- a/nikola/data/themes/bootstrap3/templates/base_helper.tmpl +++ /dev/null @@ -1,188 +0,0 @@ -## -*- coding: utf-8 -*- - -<%namespace name="notes" file="annotation_helper.tmpl" import="*" /> -<%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 use_base_tag: - <base href="${abs_link(permalink)}"> - % endif - %if description: - <meta name="description" content="${description|h}"> - %endif - <meta name="viewport" content="width=device-width, initial-scale=1"> - %if title == blog_title: - <title>${blog_title|h}</title> - %else: - <title>${title|h} | ${blog_title|h}</title> - %endif - - ${html_stylesheets()} - <meta content="${theme_color}" name="theme-color"> - ${html_feedlinks()} - <link rel="canonical" href="${abs_link(permalink)}"> - - %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="https://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="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script> - <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> - - <script src="/assets/js/all.js"></script> - %else: - <script src="/assets/js/all-nocdn.js"></script> - %endif - %else: - %if use_cdn: - <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script> - <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> - %else: - <script src="/assets/js/jquery.min.js"></script> - <script src="/assets/js/bootstrap.min.js"></script> - <script src="/assets/js/moment-with-locales.min.js"></script> - <script src="/assets/js/fancydates.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 rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - <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 rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - %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 needs_ipython_css: - <link href="/assets/css/ipython.min.css" rel="stylesheet" type="text/css"> - <link href="/assets/css/nikola_ipython.css" rel="stylesheet" type="text/css"> - % endif - % 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" aria-haspopup="true" aria-expanded="false">${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} <span class="sr-only">${messages("(active)", lang)}</span></a> - %else: - <li><a href="${suburl}">${text}</a> - %endif - %endfor - </ul> - % else: - % if rel_link(permalink, url) == "#": - <li class="active"><a href="${permalink}">${text} <span class="sr-only">${messages("(active)", lang)}</span></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 sorted(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 - %if generate_atom: - %if len(translations) > 1: - %for language in sorted(translations): - <link rel="alternate" type="application/atom+xml" title="Atom (${language})" href="${_link('index_atom', None, language)}"> - %endfor - %else: - <link rel="alternate" type="application/atom+xml" title="Atom" href="${_link('index_atom', None)}"> - %endif - %endif -</%def> - -<%def name="html_translations()"> - %for langname in sorted(translations): - %if langname != lang: - <li><a href="${abs_link(_link("root", 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 deleted file mode 100644 index 3dbfa82..0000000 --- a/nikola/data/themes/bootstrap3/templates/gallery.tmpl +++ /dev/null @@ -1,95 +0,0 @@ -## -*- 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|h}</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> ${ftitle|h}</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']|h}"> - <img src="${image['url_thumb']}" alt="${image['title']|h}" /></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()} -<link rel="alternate" type="application/rss+xml" title="RSS" href="rss.xml"> -<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}); -$('a.image-reference[href="'+window.location.hash.substring(1,1000)+'"]').click(); -</script> -</%block> diff --git a/nikola/data/themes/bootstrap3/templates/slides.tmpl b/nikola/data/themes/bootstrap3/templates/slides.tmpl deleted file mode 100644 index a73848a..0000000 --- a/nikola/data/themes/bootstrap3/templates/slides.tmpl +++ /dev/null @@ -1,24 +0,0 @@ -<%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> diff --git a/nikola/data/themes/bootstrap4-jinja/README.md b/nikola/data/themes/bootstrap4-jinja/README.md new file mode 100644 index 0000000..bb1b484 --- /dev/null +++ b/nikola/data/themes/bootstrap4-jinja/README.md @@ -0,0 +1,10 @@ +This is a theme based on Bootstrap 4. + +The theme is a good building block for a site. It is based on a simple navbar + +content layout. For a more blog-style layout, check out `bootblog4`. + +Note that unlike previous versions of Bootstrap, icon fonts are not built-in. +You can use Font Awesome for this. + +This theme supports Bootswatch font/color schemes through the `nikola +bootwatch_theme` command. diff --git a/nikola/data/themes/bootstrap4-jinja/assets/css/bootstrap.min.css b/nikola/data/themes/bootstrap4-jinja/assets/css/bootstrap.min.css new file mode 120000 index 0000000..8c8dc62 --- /dev/null +++ b/nikola/data/themes/bootstrap4-jinja/assets/css/bootstrap.min.css @@ -0,0 +1 @@ +../../../../../../npm_assets/node_modules/bootstrap/dist/css/bootstrap.min.css
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/assets/css/theme.css b/nikola/data/themes/bootstrap4-jinja/assets/css/theme.css index 52466de..20eee8e 100644 --- a/nikola/data/themes/bootstrap3-jinja/assets/css/theme.css +++ b/nikola/data/themes/bootstrap4-jinja/assets/css/theme.css @@ -1,29 +1,11 @@ -#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; + max-width: 100%; } .titlebox { text-align: right; } -#addthisbox {margin-bottom: 12px;} td.label { /* Issue #290 */ @@ -36,7 +18,6 @@ td.label { font-size: xx-small; } - .caption { /* Issue 292 */ text-align: center; @@ -52,7 +33,7 @@ div.figure > a > img { } blockquote p, blockquote { - font-size: 17.5px; + font-size: 1.25rem; font-weight: 300; line-height: 1.25; } @@ -67,10 +48,6 @@ ul.bricks > li { margin: 3px; } -.at300b, .stMainServices, .stButton, .stButton_gradient { - box-sizing: content-box; -} - pre, pre code { white-space: pre; word-wrap: normal; @@ -86,10 +63,6 @@ article.post-micro { display: inline-block; } -.flowr_row { - width: 100%; -} - .tags { padding-left: 0; margin-left: -5px; @@ -100,21 +73,25 @@ article.post-micro { .tags > li { display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: 12px; - font-weight: bold; +} +.tags > li a { + display: inline-block; + padding: .25em .4em; + font-size: 75%; + font-weight: 700; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; - background-color: #999; - border-radius: 10px; + border-radius: .25rem; + background-color: #868e96; } -.tags > li a { +.tags > li a:hover { color: #fff; + text-decoration: none; + background-color: #6c757d; } .metadata p:before, @@ -144,27 +121,6 @@ article.post-micro { margin-top: 1em; } -.navbar-brand { - padding: 0 15px; -} - -.navbar-brand #blog-title { - padding: 15px 0; - display: inline-block; -} - -.navbar-brand #logo { - max-width: 100%; -} - -.navbar-brand>img { - display: inline; -} - -.row { - margin: 0; -} - /* for alignment with Bootstrap's .entry-content styling */ .entry-summary { margin-top: 1em; @@ -177,14 +133,6 @@ article.post-micro { border-top: 1px solid #e5e5e5; } -.codetable { - table-layout: fixed; -} - -.codetable pre { - overflow-x: scroll; -} - /* hat tip bootstrap/html5 boilerplate */ @media print { *, *:before, *:after { @@ -213,3 +161,72 @@ article.post-micro { display: none; } } + +pre, .codetable { + border: 1px solid #ccc; + border-radius: 0.25rem; + margin-bottom: 1rem; +} + +pre { + padding: 0.75rem; +} + +.codetable tr:first-child td.linenos { + border-top-left-radius: 0.25rem; +} + +.codetable tr:last-child td.linenos { + border-bottom-left-radius: 0.25rem; +} + +.postindexpager { + padding-bottom: 1rem; +} + +ul.navbar-nav { + margin-top: 0; +} + +ul.pager { + display: flex; + padding-left: 0; + list-style: none; + border-radius: .25rem; + padding-left: 0; + margin: 0.5rem 0; +} + +ul.pager li.previous { + margin-right: auto; + display: inline; +} + +ul.pager li.next { + margin-left: auto; + display: inline; +} + + +ul.pager li a { + display: inline; + position: relative; + padding: .5rem .75rem; + margin-left: -1px; + line-height: 1.25; + border: 1px solid #ddd; + border-radius: .25rem; +} + +pre.code { + white-space: pre-wrap; +} + +.byline a:not(:last-child):after { + content: ","; +} + +/* Override incorrect Bootstrap 4 default */ +html[dir="rtl"] body { + text-align: right; +} diff --git a/nikola/data/themes/bootstrap4-jinja/assets/js/bootstrap.min.js b/nikola/data/themes/bootstrap4-jinja/assets/js/bootstrap.min.js new file mode 120000 index 0000000..593bffb --- /dev/null +++ b/nikola/data/themes/bootstrap4-jinja/assets/js/bootstrap.min.js @@ -0,0 +1 @@ +../../../../../../npm_assets/node_modules/bootstrap/dist/js/bootstrap.min.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap4-jinja/assets/js/jquery.min.js b/nikola/data/themes/bootstrap4-jinja/assets/js/jquery.min.js new file mode 120000 index 0000000..2a592f6 --- /dev/null +++ b/nikola/data/themes/bootstrap4-jinja/assets/js/jquery.min.js @@ -0,0 +1 @@ +../../../../../../npm_assets/node_modules/jquery/dist/jquery.min.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap4-jinja/assets/js/popper.min.js b/nikola/data/themes/bootstrap4-jinja/assets/js/popper.min.js new file mode 120000 index 0000000..43fca04 --- /dev/null +++ b/nikola/data/themes/bootstrap4-jinja/assets/js/popper.min.js @@ -0,0 +1 @@ +../../../../../../npm_assets/node_modules/popper.js/dist/umd/popper.min.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap4-jinja/bootstrap4-jinja.theme b/nikola/data/themes/bootstrap4-jinja/bootstrap4-jinja.theme new file mode 100644 index 0000000..be27ebc --- /dev/null +++ b/nikola/data/themes/bootstrap4-jinja/bootstrap4-jinja.theme @@ -0,0 +1,12 @@ +[Theme] +engine = jinja +parent = base-jinja +author = The Nikola Contributors +author_url = https://getnikola.com/ +license = MIT +based_on = Bootstrap 4 <http://getbootstrap.com/> +tags = bootstrap + +[Family] +family = bootstrap4 +mako-version = bootstrap4 diff --git a/nikola/data/themes/bootstrap4-jinja/bundles b/nikola/data/themes/bootstrap4-jinja/bundles new file mode 120000 index 0000000..500c93e --- /dev/null +++ b/nikola/data/themes/bootstrap4-jinja/bundles @@ -0,0 +1 @@ +../bootstrap4/bundles
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3-jinja/templates/authors.tmpl b/nikola/data/themes/bootstrap4-jinja/templates/authors.tmpl index d65c727..922de74 100644 --- a/nikola/data/themes/bootstrap3-jinja/templates/authors.tmpl +++ b/nikola/data/themes/bootstrap4-jinja/templates/authors.tmpl @@ -1,9 +1,17 @@ {# -*- coding: utf-8 -*- #} {% extends 'base.tmpl' %} +{% import 'feeds_translations_helper.tmpl' as feeds_translations with context %} + +{% block extra_head %} + {{ feeds_translations.head(kind=kind, feeds=False) }} +{% endblock %} {% block content %} {% if items %} <h2>{{ messages("Authors") }}</h2> + <div class="metadata"> + {{ feeds_translations.translation_link(kind) }} + </div> {% endif %} {% if items %} <ul class="list-inline"> diff --git a/nikola/data/themes/bootstrap4-jinja/templates/base.tmpl b/nikola/data/themes/bootstrap4-jinja/templates/base.tmpl new file mode 100644 index 0000000..0748bb2 --- /dev/null +++ b/nikola/data/themes/bootstrap4-jinja/templates/base.tmpl @@ -0,0 +1,105 @@ +{# -*- 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-expand-md static-top mb-4 +{% if theme_config.get('navbar_light') %} +navbar-light +{% else %} +navbar-dark +{% endif %} +{% if theme_config.get('navbar_custom_bg') %} +{{ theme_config['navbar_custom_bg'] }} +{% elif theme_config.get('navbar_light') %} +bg-light +{% else %} +bg-dark +{% endif %} +"> + <div class="container"><!-- This keeps the margins nice --> + <a class="navbar-brand" href="{{ _link("root", None, lang) }}"> + {% if logo_url %} + <img src="{{ logo_url }}" alt="{{ blog_title|e }}" id="logo" class="d-inline-block align-top"> + {% endif %} + + {% if show_blog_title %} + <span id="blog-title">{{ blog_title|e }}</span> + {% endif %} + </a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#bs-navbar" aria-controls="bs-navbar" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + + <div class="collapse navbar-collapse" id="bs-navbar"> + <ul class="navbar-nav mr-auto"> + {{ base.html_navigation_links_entries(navigation_links) }} + {{ template_hooks['menu']() }} + </ul> + {% if search_form %} + {{ search_form }} + {% endif %} + + <ul class="navbar-nav navbar-right"> + {{ base.html_navigation_links_entries(navigation_alt_links) }} + {% 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" role="main"> + <div class="body-content"> + <!--Body content--> + {{ template_hooks['page_header']() }} + {% block extra_header %}{% endblock %} + {% block content %}{% endblock %} + <!--End of body content--> + + <footer id="footer"> + {{ content_footer }} + {{ template_hooks['page_footer']() }} + {% block extra_footer %}{% endblock %} + </footer> + </div> +</div> + +{{ base.late_load_js() }} + {% if date_fanciness != 0 %} + <!-- fancy dates --> + <script> + luxon.Settings.defaultLocale = "{{ luxon_locales[lang] }}"; + fancydates({{ date_fanciness }}, {{ luxon_date_format }}); + </script> + <!-- end fancy dates --> + {% endif %} + {% block extra_js %}{% endblock %} + <script> + baguetteBox.run('div#content', { + ignoreClass: 'islink', + captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); + </script> +{{ body_end }} +{{ template_hooks['body_end']() }} +</body> +</html> diff --git a/nikola/data/themes/bootstrap4-jinja/templates/base_helper.tmpl b/nikola/data/themes/bootstrap4-jinja/templates/base_helper.tmpl new file mode 100644 index 0000000..b4bcf85 --- /dev/null +++ b/nikola/data/themes/bootstrap4-jinja/templates/base_helper.tmpl @@ -0,0 +1,165 @@ +{# -*- coding: utf-8 -*- #} +{% import 'feeds_translations_helper.tmpl' as feeds_translations with context %} + +{% macro html_headstart() %} +<!DOCTYPE html> +<html + +prefix=' +og: http://ogp.me/ns# article: http://ogp.me/ns/article# +{% if comment_system == 'facebook' %} +fb: http://ogp.me/ns/fb# +{% endif %} +' +{% if is_rtl %} +dir="rtl" +{% endif %} + +lang="{{ lang }}"> + <head> + <meta charset="utf-8"> + {% if description %} + <meta name="description" content="{{ description|e }}"> + {% endif %} + <meta name="viewport" content="width=device-width, initial-scale=1"> + {% if title == blog_title %} + <title>{{ blog_title|e }}</title> + {% else %} + <title>{{ title|e }} | {{ blog_title|e }}</title> + {% endif %} + + {{ html_stylesheets() }} + <meta name="theme-color" content="{{ theme_color }}"> + {% if meta_generator_tag %} + <meta name="generator" content="Nikola (getnikola.com)"> + {% endif %} + {{ html_feedlinks() }} + <link rel="canonical" href="{{ abs_link(permalink) }}"> + + {% 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 %} + + {% if use_cdn %} + <!--[if lt IE 9]><script src="https://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]--> + {% else %} + <!--[if lt IE 9]><script src="{{ url_replacer(permalink, '/assets/js/html5.js', lang, url_type) }}"></script><![endif]--> + {% endif %} + + {{ extra_head_data }} +{% endmacro %} + +{% macro late_load_js() %} + {% if use_cdn %} + <script src="http://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script> + <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js" integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5D92v7s" crossorigin="anonymous"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.js" integrity="sha256-ULQV01VS9LCI2ePpLsmka+W0mawFpEA0rtxnezUj4A4=" crossorigin="anonymous"></script> + {% endif %} + {% if use_bundles and use_cdn %} + <script src="/assets/js/all.js"></script> + {% elif use_bundles %} + <script src="/assets/js/all-nocdn.js"></script> + {% else %} + {% if not use_cdn %} + <script src="/assets/js/jquery.min.js"></script> + <script src="/assets/js/popper.min.js"></script> + <script src="/assets/js/bootstrap.min.js"></script> + <script src="/assets/js/baguetteBox.min.js"></script> + {% endif %} + {% endif %} + {% if date_fanciness != 0 %} + {% if date_fanciness == 2 %} + <script src="https://polyfill.io/v3/polyfill.js?features=Intl.RelativeTimeFormat.%7Elocale.{{ luxon_locales[lang] }}"></script> + {% endif %} + {% if use_cdn %} + <script src="https://cdn.jsdelivr.net/npm/luxon@1.25.0/build/global/luxon.min.js" integrity="sha256-OVk2fwTRcXYlVFxr/ECXsakqelJbOg5WCj1dXSIb+nU=" crossorigin="anonymous"></script> + {% else %} + <script src="/assets/js/luxon.min.js"></script> + {% endif %} + {% if not use_bundles %} + <script src="/assets/js/fancydates.min.js"></script> + {% endif %} + {% endif %} + {{ social_buttons_code }} +{% endmacro %} + + +{% macro html_stylesheets() %} + {% if use_cdn %} + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous"> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.css" integrity="sha256-cLMYWYYutHkt+KpNqjg7NVkYSQ+E2VbrXsEvOqU7mL0=" crossorigin="anonymous"> + {% endif %} + {% if use_bundles and use_cdn %} + <link href="/assets/css/all.css" rel="stylesheet" type="text/css"> + {% elif use_bundles %} + <link href="/assets/css/all-nocdn.css" rel="stylesheet" type="text/css"> + {% else %} + {% if not use_cdn %} + <link href="/assets/css/bootstrap.min.css" rel="stylesheet" type="text/css"> + <link href="/assets/css/baguetteBox.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/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 needs_ipython_css %} + <link href="/assets/css/ipython.min.css" rel="stylesheet" type="text/css"> + <link href="/assets/css/nikola_ipython.css" rel="stylesheet" type="text/css"> + {% endif %} +{% endmacro %} + +{% macro html_navigation_links() %} + {{ html_navigation_links_entries(navigation_links) }} +{% endmacro %} + +{% macro html_navigation_links_entries(navigation_links_source) %} + {% for url, text in navigation_links_source[lang] %} + {% if isinstance(url, tuple) %} + <li class="nav-item dropdown"><a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{ text }}</a> + <div class="dropdown-menu"> + {% for suburl, text in url %} + {% if rel_link(permalink, suburl) == "#" %} + <a href="{{ permalink }}" class="dropdown-item active">{{ text }} <span class="sr-only">{{ messages("(active)", lang) }}</span></a> + {% else %} + <a href="{{ suburl }}" class="dropdown-item">{{ text }}</a> + {% endif %} + {% endfor %} + </div> + {% else %} + {% if rel_link(permalink, url) == "#" %} + <li class="nav-item active"><a href="{{ permalink }}" class="nav-link">{{ text }} <span class="sr-only">{{ messages("(active)", lang) }}</span></a> + {% else %} + <li class="nav-item"><a href="{{ url }}" class="nav-link">{{ text }}</a> + {% endif %} + {% endif %} + {% endfor %} +{% endmacro %} + +{% macro html_feedlinks() %} + {{ feeds_translations.head(classification=None, kind='index', other=False) }} +{% endmacro %} + +{% macro html_translations() %} + {% for langname in translations|sort %} + {% if langname != lang %} + <li class="nav-item"><a href="{{ _link("root", None, langname) }}" rel="alternate" hreflang="{{ langname }}" class="nav-link">{{ messages("LANGUAGE", langname) }}</a></li> + {% endif %} + {% endfor %} +{% endmacro %} diff --git a/nikola/data/themes/bootstrap4-jinja/templates/index_helper.tmpl b/nikola/data/themes/bootstrap4-jinja/templates/index_helper.tmpl new file mode 100644 index 0000000..2fec2c6 --- /dev/null +++ b/nikola/data/themes/bootstrap4-jinja/templates/index_helper.tmpl @@ -0,0 +1,13 @@ +{# -*- coding: utf-8 -*- #} +{% macro html_pager() %} + {% if prevlink or nextlink %} + <ul class="pager postindexpager clearfix"> + {% if prevlink %} + <li class="previous"><a href="{{ prevlink }}" rel="prev">{{ messages("Newer posts") }}</a></li> + {% endif %} + {% if nextlink %} + <li class="next"><a href="{{ nextlink }}" rel="next">{{ messages("Older posts") }}</a></li> + {% endif %} + </ul> + {% endif %} +{% endmacro %} diff --git a/nikola/data/themes/bootstrap3-jinja/templates/listing.tmpl b/nikola/data/themes/bootstrap4-jinja/templates/listing.tmpl index ed99410..56a1b4f 100644 --- a/nikola/data/themes/bootstrap3-jinja/templates/listing.tmpl +++ b/nikola/data/themes/bootstrap4-jinja/templates/listing.tmpl @@ -1,15 +1,15 @@ {# -*- coding: utf-8 -*- #} {% extends 'base.tmpl' %} -{% import 'crumbs.tmpl' as ui with context %} +{% import 'ui_helper.tmpl' as ui with context %} {% block content %} -{{ ui.bar(crumbs) }} +{{ ui.breadcrumbs(crumbs) }} {% if folders or files %} <ul> {% for name in folders %} - <li><a href="{{ name|urlencode }}"><i class="glyphicon glyphicon-folder-open"></i> {{ name|e }}</a> + <li><a href="{{ name|e }}">📂 {{ name|e }}</a> {% endfor %} {% for name in files %} - <li><a href="{{ name|urlencode }}.html"><i class="glyphicon glyphicon-file"></i> {{ name|e }}</a> + <li><a href="{{ name|e }}.html">📄 {{ name|e }}</a> {% endfor %} </ul> {% endif %} @@ -24,9 +24,7 @@ {% endblock %} {% block sourcelink %} -{% if source_link %} - <li> - <a href="{{ source_link }}" id="sourcelink">{{ messages("Source") }}</a> - </li> +{% if source_link and show_sourcelink %} + {{ ui.show_sourcelink(source_link) }} {% endif %} {% endblock %} diff --git a/nikola/data/themes/bootstrap4-jinja/templates/pagination_helper.tmpl b/nikola/data/themes/bootstrap4-jinja/templates/pagination_helper.tmpl new file mode 100644 index 0000000..30fe534 --- /dev/null +++ b/nikola/data/themes/bootstrap4-jinja/templates/pagination_helper.tmpl @@ -0,0 +1,40 @@ +{# -*- coding: utf-8 -*- #} +{% macro page_navigation(current_page, page_links, prevlink, nextlink, prev_next_links_reversed, surrounding=5) %} +<nav aria-label="Page navigation"> + <ul class="pagination"> + {% if prev_next_links_reversed %} + {% if nextlink %} + <li class="page-item"><a href="{{ nextlink }}" class="page-link" aria-label="{{ messages("Older posts") }}"><span aria-hidden="true">«</span></a></li> + {% else %} + <li class="page-item disabled"><a href="#" class="page-link" aria-label="{{ messages("Older posts") }}"><span aria-hidden="true">«</span></a></li> + {% endif %} + {% else %} + {% if prevlink %} + <li class="page-item"><a href="{{ prevlink }}" class="page-link" aria-label="{{ messages("Newer posts") }}"><span aria-hidden="true">«</span></a></li> + {% else %} + <li class="page-item disabled"><a href="#" class="page-link" aria-label="{{ messages("Newer posts") }}"><span aria-hidden="true">«</span></a></li> + {% endif %} + {% endif %} + {% for i, link in enumerate(page_links) %} + {% if (i - current_page)|abs <= surrounding or i == 0 or i == page_links|length - 1 %} + <li class="page-item {{ 'active' if i == current_page else '' }}"><a href="{{ link }}" class="page-link">{{ i + 1 }}{{ ' <span class="sr-only">(current)</span>' if i == current_page else '' }}</a></li> + {% elif i == current_page - surrounding - 1 or i == current_page + surrounding + 1 %} + <li class="page-item disabled"><a href="#" class="page-link" aria-label="…"><span aria-hidden="true">…</span></a></li> + {% endif %} + {% endfor %} + {% if prev_next_links_reversed %} + {% if prevlink %} + <li class="page-item"><a href="{{ prevlink }}" class="page-link" aria-label="{{ messages("Newer posts") }}"><span aria-hidden="true">»</span></a></li> + {% else %} + <li class="page-item disabled"><a href="#" class="page-link" aria-label="{{ messages("Newer posts") }}"><span aria-hidden="true">»</span></a></li> + {% endif %} + {% else %} + {% if nextlink %} + <li class="page-item"><a href="{{ nextlink }}" class="page-link" aria-label="{{ messages("Older posts") }}"><span aria-hidden="true">»</span></a></li> + {% else %} + <li class="page-item disabled"><a href="#" class="page-link" aria-label="{{ messages("Older posts") }}"><span aria-hidden="true">»</span></a></li> + {% endif %} + {% endif %} + </ul> +</nav> +{% endmacro %} diff --git a/nikola/data/themes/bootstrap3-jinja/templates/post.tmpl b/nikola/data/themes/bootstrap4-jinja/templates/post.tmpl index 3cf4c4b..7e18f90 100644 --- a/nikola/data/themes/bootstrap3-jinja/templates/post.tmpl +++ b/nikola/data/themes/bootstrap4-jinja/templates/post.tmpl @@ -2,15 +2,14 @@ {% import 'post_helper.tmpl' as helper with context %} {% import 'post_header.tmpl' as pheader with context %} {% import 'comments_helper.tmpl' as comments with context %} +{% import 'math_helper.tmpl' as math with context %} +{% import 'ui_helper.tmpl' as ui with context %} {% extends 'base.tmpl' %} {% block extra_head %} {{ super() }} {% if post.meta('keywords') %} - <meta name="keywords" content="{{ post.meta('keywords')|e }}"> - {% endif %} - {% if post.description() %} - <meta name="description" itemprop="description" content="{{ post.description()|e }}"> + <meta name="keywords" content="{{ smartjoin(', ', post.meta('keywords'))|e }}"> {% endif %} <meta name="author" content="{{ post.author()|e }}"> {% if post.prev_post %} @@ -25,6 +24,7 @@ {{ helper.open_graph_metadata(post) }} {{ helper.twitter_card_information(post) }} {{ helper.meta_translations(post) }} + {{ math.math_styles_ifpost(post) }} {% endblock %} {% block content %} @@ -45,15 +45,13 @@ {{ comments.comment_form(post.permalink(absolute=True), post.title(), post._base_path) }} </section> {% endif %} - {{ helper.mathjax_script(post) }} + {{ math.math_scripts_ifpost(post) }} </article> {{ comments.comment_link_script() }} {% endblock %} {% block sourcelink %} {% if show_sourcelink %} - <li> - <a href="{{ post.source_link() }}" id="sourcelink">{{ messages("Source") }}</a> - </li> + {{ ui.show_sourcelink(post.source_link()) }} {% endif %} {% endblock %} diff --git a/nikola/data/themes/bootstrap3-jinja/templates/tags.tmpl b/nikola/data/themes/bootstrap4-jinja/templates/tags.tmpl index 4afd4d2..0eadff6 100644 --- a/nikola/data/themes/bootstrap3-jinja/templates/tags.tmpl +++ b/nikola/data/themes/bootstrap4-jinja/templates/tags.tmpl @@ -11,7 +11,7 @@ {% for i in range(indent_change_before) %} <ul class="list-inline"> {% endfor %} - <li><a class="reference badge" href="{{ link }}">{{ text|e }}</a> + <li class="list-inline-item"><a class="reference badge badge-secondary" href="{{ link }}">{{ text|e }}</a> {% if indent_change_after <= 0 %} </li> {% endif %} @@ -30,7 +30,7 @@ <ul class="list-inline"> {% for text, link in items %} {% if text not in hidden_tags %} - <li><a class="reference badge" href="{{ link }}">{{ text|e }}</a></li> + <li class="list-inline-item"><a class="reference badge badge-secondary" href="{{ link }}">{{ text|e }}</a></li> {% endif %} {% endfor %} </ul> diff --git a/nikola/data/themes/bootstrap4-jinja/templates/ui_helper.tmpl b/nikola/data/themes/bootstrap4-jinja/templates/ui_helper.tmpl new file mode 100644 index 0000000..d8c8d4d --- /dev/null +++ b/nikola/data/themes/bootstrap4-jinja/templates/ui_helper.tmpl @@ -0,0 +1,24 @@ +{# -*- coding: utf-8 -*- #} +{% macro breadcrumbs(crumbs) %} +{% if crumbs %} +<nav class="breadcrumbs"> +<ul class="breadcrumb"> + {% for link, text in crumbs %} + {% if text != index_file %} + {% if link == '#' %} + <li class="breadcrumb-item active">{{ text.rsplit('.html', 1)[0] }}</li> + {% else %} + <li class="breadcrumb-item"><a href="{{ link }}">{{ text }}</a></li> + {% endif %} + {% endif %} + {% endfor %} +</ul> +</nav> +{% endif %} +{% endmacro %} + +{% macro show_sourcelink(sourcelink_href) %} + <li class="nav-item"> + <a href="{{ sourcelink_href }}" id="sourcelink" class="nav-link">{{ messages("Source") }}</a> + </li> +{% endmacro %} diff --git a/nikola/data/themes/bootstrap4/README.md b/nikola/data/themes/bootstrap4/README.md new file mode 100644 index 0000000..bb1b484 --- /dev/null +++ b/nikola/data/themes/bootstrap4/README.md @@ -0,0 +1,10 @@ +This is a theme based on Bootstrap 4. + +The theme is a good building block for a site. It is based on a simple navbar + +content layout. For a more blog-style layout, check out `bootblog4`. + +Note that unlike previous versions of Bootstrap, icon fonts are not built-in. +You can use Font Awesome for this. + +This theme supports Bootswatch font/color schemes through the `nikola +bootwatch_theme` command. diff --git a/nikola/data/themes/bootstrap4/assets/css/bootstrap.min.css b/nikola/data/themes/bootstrap4/assets/css/bootstrap.min.css new file mode 120000 index 0000000..8c8dc62 --- /dev/null +++ b/nikola/data/themes/bootstrap4/assets/css/bootstrap.min.css @@ -0,0 +1 @@ +../../../../../../npm_assets/node_modules/bootstrap/dist/css/bootstrap.min.css
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap3/assets/css/theme.css b/nikola/data/themes/bootstrap4/assets/css/theme.css index 52466de..20eee8e 100644 --- a/nikola/data/themes/bootstrap3/assets/css/theme.css +++ b/nikola/data/themes/bootstrap4/assets/css/theme.css @@ -1,29 +1,11 @@ -#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; + max-width: 100%; } .titlebox { text-align: right; } -#addthisbox {margin-bottom: 12px;} td.label { /* Issue #290 */ @@ -36,7 +18,6 @@ td.label { font-size: xx-small; } - .caption { /* Issue 292 */ text-align: center; @@ -52,7 +33,7 @@ div.figure > a > img { } blockquote p, blockquote { - font-size: 17.5px; + font-size: 1.25rem; font-weight: 300; line-height: 1.25; } @@ -67,10 +48,6 @@ ul.bricks > li { margin: 3px; } -.at300b, .stMainServices, .stButton, .stButton_gradient { - box-sizing: content-box; -} - pre, pre code { white-space: pre; word-wrap: normal; @@ -86,10 +63,6 @@ article.post-micro { display: inline-block; } -.flowr_row { - width: 100%; -} - .tags { padding-left: 0; margin-left: -5px; @@ -100,21 +73,25 @@ article.post-micro { .tags > li { display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: 12px; - font-weight: bold; +} +.tags > li a { + display: inline-block; + padding: .25em .4em; + font-size: 75%; + font-weight: 700; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; - background-color: #999; - border-radius: 10px; + border-radius: .25rem; + background-color: #868e96; } -.tags > li a { +.tags > li a:hover { color: #fff; + text-decoration: none; + background-color: #6c757d; } .metadata p:before, @@ -144,27 +121,6 @@ article.post-micro { margin-top: 1em; } -.navbar-brand { - padding: 0 15px; -} - -.navbar-brand #blog-title { - padding: 15px 0; - display: inline-block; -} - -.navbar-brand #logo { - max-width: 100%; -} - -.navbar-brand>img { - display: inline; -} - -.row { - margin: 0; -} - /* for alignment with Bootstrap's .entry-content styling */ .entry-summary { margin-top: 1em; @@ -177,14 +133,6 @@ article.post-micro { border-top: 1px solid #e5e5e5; } -.codetable { - table-layout: fixed; -} - -.codetable pre { - overflow-x: scroll; -} - /* hat tip bootstrap/html5 boilerplate */ @media print { *, *:before, *:after { @@ -213,3 +161,72 @@ article.post-micro { display: none; } } + +pre, .codetable { + border: 1px solid #ccc; + border-radius: 0.25rem; + margin-bottom: 1rem; +} + +pre { + padding: 0.75rem; +} + +.codetable tr:first-child td.linenos { + border-top-left-radius: 0.25rem; +} + +.codetable tr:last-child td.linenos { + border-bottom-left-radius: 0.25rem; +} + +.postindexpager { + padding-bottom: 1rem; +} + +ul.navbar-nav { + margin-top: 0; +} + +ul.pager { + display: flex; + padding-left: 0; + list-style: none; + border-radius: .25rem; + padding-left: 0; + margin: 0.5rem 0; +} + +ul.pager li.previous { + margin-right: auto; + display: inline; +} + +ul.pager li.next { + margin-left: auto; + display: inline; +} + + +ul.pager li a { + display: inline; + position: relative; + padding: .5rem .75rem; + margin-left: -1px; + line-height: 1.25; + border: 1px solid #ddd; + border-radius: .25rem; +} + +pre.code { + white-space: pre-wrap; +} + +.byline a:not(:last-child):after { + content: ","; +} + +/* Override incorrect Bootstrap 4 default */ +html[dir="rtl"] body { + text-align: right; +} diff --git a/nikola/data/themes/bootstrap4/assets/js/bootstrap.min.js b/nikola/data/themes/bootstrap4/assets/js/bootstrap.min.js new file mode 120000 index 0000000..593bffb --- /dev/null +++ b/nikola/data/themes/bootstrap4/assets/js/bootstrap.min.js @@ -0,0 +1 @@ +../../../../../../npm_assets/node_modules/bootstrap/dist/js/bootstrap.min.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap4/assets/js/jquery.min.js b/nikola/data/themes/bootstrap4/assets/js/jquery.min.js new file mode 120000 index 0000000..2a592f6 --- /dev/null +++ b/nikola/data/themes/bootstrap4/assets/js/jquery.min.js @@ -0,0 +1 @@ +../../../../../../npm_assets/node_modules/jquery/dist/jquery.min.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap4/assets/js/popper.min.js b/nikola/data/themes/bootstrap4/assets/js/popper.min.js new file mode 120000 index 0000000..43fca04 --- /dev/null +++ b/nikola/data/themes/bootstrap4/assets/js/popper.min.js @@ -0,0 +1 @@ +../../../../../../npm_assets/node_modules/popper.js/dist/umd/popper.min.js
\ No newline at end of file diff --git a/nikola/data/themes/bootstrap4/bootstrap4.theme b/nikola/data/themes/bootstrap4/bootstrap4.theme new file mode 100644 index 0000000..0f3f9ef --- /dev/null +++ b/nikola/data/themes/bootstrap4/bootstrap4.theme @@ -0,0 +1,12 @@ +[Theme] +engine = mako +parent = base +author = The Nikola Contributors +author_url = https://getnikola.com/ +license = MIT +based_on = Bootstrap 4 <http://getbootstrap.com/> +tags = bootstrap + +[Family] +family = bootstrap4 +jinja_version = bootstrap4-jinja diff --git a/nikola/data/themes/bootstrap4/bundles b/nikola/data/themes/bootstrap4/bundles new file mode 100644 index 0000000..71d458b --- /dev/null +++ b/nikola/data/themes/bootstrap4/bundles @@ -0,0 +1,26 @@ +; css bundles +assets/css/all-nocdn.css= + bootstrap.min.css, + rst_base.css, + nikola_rst.css, + code.css, + baguetteBox.min.css, + theme.css, + custom.css, +assets/css/all.css= + rst_base.css, + nikola_rst.css, + code.css, + baguetteBox.min.css, + theme.css, + custom.css, + +; javascript bundles +assets/js/all-nocdn.js= + jquery.min.js, + popper.min.js, + bootstrap.min.js, + baguetteBox.min.js, + fancydates.min.js, +assets/js/all.js= + fancydates.min.js diff --git a/nikola/data/themes/bootstrap3/templates/authors.tmpl b/nikola/data/themes/bootstrap4/templates/authors.tmpl index 2d3bbf5..300377d 100644 --- a/nikola/data/themes/bootstrap3/templates/authors.tmpl +++ b/nikola/data/themes/bootstrap4/templates/authors.tmpl @@ -1,9 +1,17 @@ ## -*- coding: utf-8 -*- <%inherit file="base.tmpl"/> +<%namespace name="feeds_translations" file="feeds_translations_helper.tmpl" import="*"/> + +<%block name="extra_head"> + ${feeds_translations.head(kind=kind, feeds=False)} +</%block> <%block name="content"> % if items: <h2>${messages("Authors")}</h2> + <div class="metadata"> + ${feeds_translations.translation_link(kind)} + </div> % endif % if items: <ul class="list-inline"> diff --git a/nikola/data/themes/bootstrap4/templates/base.tmpl b/nikola/data/themes/bootstrap4/templates/base.tmpl new file mode 100644 index 0000000..21b6141 --- /dev/null +++ b/nikola/data/themes/bootstrap4/templates/base.tmpl @@ -0,0 +1,105 @@ +## -*- 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-expand-md static-top mb-4 +% if theme_config.get('navbar_light'): +navbar-light +% else: +navbar-dark +% endif +% if theme_config.get('navbar_custom_bg'): +${theme_config['navbar_custom_bg']} +% elif theme_config.get('navbar_light'): +bg-light +% else: +bg-dark +%endif +"> + <div class="container"><!-- This keeps the margins nice --> + <a class="navbar-brand" href="${_link("root", None, lang)}"> + %if logo_url: + <img src="${logo_url}" alt="${blog_title|h}" id="logo" class="d-inline-block align-top"> + %endif + + % if show_blog_title: + <span id="blog-title">${blog_title|h}</span> + % endif + </a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#bs-navbar" aria-controls="bs-navbar" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + + <div class="collapse navbar-collapse" id="bs-navbar"> + <ul class="navbar-nav mr-auto"> + ${base.html_navigation_links_entries(navigation_links)} + ${template_hooks['menu']()} + </ul> + %if search_form: + ${search_form} + %endif + + <ul class="navbar-nav navbar-right"> + ${base.html_navigation_links_entries(navigation_alt_links)} + <%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" role="main"> + <div class="body-content"> + <!--Body content--> + ${template_hooks['page_header']()} + <%block name="extra_header"></%block> + <%block name="content"></%block> + <!--End of body content--> + + <footer id="footer"> + ${content_footer} + ${template_hooks['page_footer']()} + <%block name="extra_footer"></%block> + </footer> + </div> +</div> + +${base.late_load_js()} + %if date_fanciness != 0: + <!-- fancy dates --> + <script> + luxon.Settings.defaultLocale = "${luxon_locales[lang]}"; + fancydates(${date_fanciness}, ${luxon_date_format}); + </script> + <!-- end fancy dates --> + %endif + <%block name="extra_js"></%block> + <script> + baguetteBox.run('div#content', { + ignoreClass: 'islink', + captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); + </script> +${body_end} +${template_hooks['body_end']()} +</body> +</html> diff --git a/nikola/data/themes/bootstrap4/templates/base_helper.tmpl b/nikola/data/themes/bootstrap4/templates/base_helper.tmpl new file mode 100644 index 0000000..f551116 --- /dev/null +++ b/nikola/data/themes/bootstrap4/templates/base_helper.tmpl @@ -0,0 +1,165 @@ +## -*- coding: utf-8 -*- +<%namespace name="feeds_translations" file="feeds_translations_helper.tmpl" import="*"/> + +<%def name="html_headstart()"> +<!DOCTYPE html> +<html +\ +prefix='\ +og: http://ogp.me/ns# article: http://ogp.me/ns/article# +%if comment_system == 'facebook': +fb: http://ogp.me/ns/fb# \ +%endif +'\ +% if is_rtl: +dir="rtl" \ +% endif +\ +lang="${lang}"> + <head> + <meta charset="utf-8"> + %if description: + <meta name="description" content="${description|h}"> + %endif + <meta name="viewport" content="width=device-width, initial-scale=1"> + %if title == blog_title: + <title>${blog_title|h}</title> + %else: + <title>${title|h} | ${blog_title|h}</title> + %endif + + ${html_stylesheets()} + <meta name="theme-color" content="${theme_color}"> + % if meta_generator_tag: + <meta name="generator" content="Nikola (getnikola.com)"> + % endif + ${html_feedlinks()} + <link rel="canonical" href="${abs_link(permalink)}"> + + %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 + + %if use_cdn: + <!--[if lt IE 9]><script src="https://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]--> + %else: + <!--[if lt IE 9]><script src="${url_replacer(permalink, '/assets/js/html5.js', lang, url_type)}"></script><![endif]--> + %endif + + ${extra_head_data} +</%def> + +<%def name="late_load_js()"> + %if use_cdn: + <script src="http://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script> + <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js" integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5D92v7s" crossorigin="anonymous"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.js" integrity="sha256-ULQV01VS9LCI2ePpLsmka+W0mawFpEA0rtxnezUj4A4=" crossorigin="anonymous"></script> + % endif + %if use_bundles and use_cdn: + <script src="/assets/js/all.js"></script> + %elif use_bundles: + <script src="/assets/js/all-nocdn.js"></script> + %else: + %if not use_cdn: + <script src="/assets/js/jquery.min.js"></script> + <script src="/assets/js/popper.min.js"></script> + <script src="/assets/js/bootstrap.min.js"></script> + <script src="/assets/js/baguetteBox.min.js"></script> + %endif + %endif + %if date_fanciness != 0: + %if date_fanciness == 2: + <script src="https://polyfill.io/v3/polyfill.js?features=Intl.RelativeTimeFormat.%7Elocale.${luxon_locales[lang]}"></script> + %endif + %if use_cdn: + <script src="https://cdn.jsdelivr.net/npm/luxon@1.25.0/build/global/luxon.min.js" integrity="sha256-OVk2fwTRcXYlVFxr/ECXsakqelJbOg5WCj1dXSIb+nU=" crossorigin="anonymous"></script> + %else: + <script src="/assets/js/luxon.min.js"></script> + %endif + %if not use_bundles: + <script src="/assets/js/fancydates.min.js"></script> + %endif + %endif + ${social_buttons_code} +</%def> + + +<%def name="html_stylesheets()"> + %if use_cdn: + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous"> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.css" integrity="sha256-cLMYWYYutHkt+KpNqjg7NVkYSQ+E2VbrXsEvOqU7mL0=" crossorigin="anonymous"> + % endif + %if use_bundles and use_cdn: + <link href="/assets/css/all.css" rel="stylesheet" type="text/css"> + %elif use_bundles: + <link href="/assets/css/all-nocdn.css" rel="stylesheet" type="text/css"> + %else: + %if not use_cdn: + <link href="/assets/css/bootstrap.min.css" rel="stylesheet" type="text/css"> + <link href="/assets/css/baguetteBox.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/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 needs_ipython_css: + <link href="/assets/css/ipython.min.css" rel="stylesheet" type="text/css"> + <link href="/assets/css/nikola_ipython.css" rel="stylesheet" type="text/css"> + % endif +</%def> + +<%def name="html_navigation_links()"> + ${html_navigation_links_entries(navigation_links)} +</%def> + +<%def name="html_navigation_links_entries(navigation_links_source)"> + %for url, text in navigation_links_source[lang]: + % if isinstance(url, tuple): + <li class="nav-item dropdown"><a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">${text}</a> + <div class="dropdown-menu"> + %for suburl, text in url: + % if rel_link(permalink, suburl) == "#": + <a href="${permalink}" class="dropdown-item active">${text} <span class="sr-only">${messages("(active)", lang)}</span></a> + %else: + <a href="${suburl}" class="dropdown-item">${text}</a> + %endif + %endfor + </div> + % else: + % if rel_link(permalink, url) == "#": + <li class="nav-item active"><a href="${permalink}" class="nav-link">${text} <span class="sr-only">${messages("(active)", lang)}</span></a> + %else: + <li class="nav-item"><a href="${url}" class="nav-link">${text}</a> + %endif + % endif + %endfor +</%def> + +<%def name="html_feedlinks()"> + ${feeds_translations.head(classification=None, kind='index', other=False)} +</%def> + +<%def name="html_translations()"> + %for langname in sorted(translations): + %if langname != lang: + <li class="nav-item"><a href="${_link("root", None, langname)}" rel="alternate" hreflang="${langname}" class="nav-link">${messages("LANGUAGE", langname)}</a></li> + %endif + %endfor +</%def> diff --git a/nikola/data/themes/bootstrap4/templates/index_helper.tmpl b/nikola/data/themes/bootstrap4/templates/index_helper.tmpl new file mode 100644 index 0000000..e6b0089 --- /dev/null +++ b/nikola/data/themes/bootstrap4/templates/index_helper.tmpl @@ -0,0 +1,13 @@ +## -*- coding: utf-8 -*- +<%def name="html_pager()"> + %if prevlink or nextlink: + <ul class="pager postindexpager clearfix"> + %if prevlink: + <li class="previous"><a href="${prevlink}" rel="prev">${messages("Newer posts")}</a></li> + %endif + %if nextlink: + <li class="next"><a href="${nextlink}" rel="next">${messages("Older posts")}</a></li> + %endif + </ul> + %endif +</%def> diff --git a/nikola/data/themes/bootstrap3/templates/listing.tmpl b/nikola/data/themes/bootstrap4/templates/listing.tmpl index 44809d0..d9a4c56 100644 --- a/nikola/data/themes/bootstrap3/templates/listing.tmpl +++ b/nikola/data/themes/bootstrap4/templates/listing.tmpl @@ -1,15 +1,15 @@ ## -*- coding: utf-8 -*- <%inherit file="base.tmpl"/> -<%namespace name="ui" file="crumbs.tmpl" import="bar"/> +<%namespace name="ui" file="ui_helper.tmpl"/> <%block name="content"> -${ui.bar(crumbs)} +${ui.breadcrumbs(crumbs)} %if folders or files: <ul> % for name in folders: - <li><a href="${name|u}"><i class="glyphicon glyphicon-folder-open"></i> ${name|h}</a> + <li><a href="${name|h}">📂 ${name|h}</a> % endfor % for name in files: - <li><a href="${name|u}.html"><i class="glyphicon glyphicon-file"></i> ${name|h}</a> + <li><a href="${name|h}.html">📄 ${name|h}</a> % endfor </ul> %endif @@ -24,9 +24,7 @@ ${ui.bar(crumbs)} </%block> <%block name="sourcelink"> -% if source_link: - <li> - <a href="${source_link}" id="sourcelink">${messages("Source")}</a> - </li> +% if source_link and show_sourcelink: + ${ui.show_sourcelink(source_link)} % endif </%block> diff --git a/nikola/data/themes/bootstrap4/templates/pagination_helper.tmpl b/nikola/data/themes/bootstrap4/templates/pagination_helper.tmpl new file mode 100644 index 0000000..da0e920 --- /dev/null +++ b/nikola/data/themes/bootstrap4/templates/pagination_helper.tmpl @@ -0,0 +1,40 @@ +## -*- coding: utf-8 -*- +<%def name="page_navigation(current_page, page_links, prevlink, nextlink, prev_next_links_reversed, surrounding=5)"> +<nav aria-label="Page navigation"> + <ul class="pagination"> + % if prev_next_links_reversed: + % if nextlink: + <li class="page-item"><a href="${nextlink}" class="page-link" aria-label="${messages("Older posts")}"><span aria-hidden="true">«</span></a></li> + % else: + <li class="page-item disabled"><a href="#" class="page-link" aria-label="${messages("Older posts")}"><span aria-hidden="true">«</span></a></li> + % endif + % else: + % if prevlink: + <li class="page-item"><a href="${prevlink}" class="page-link" aria-label="${messages("Newer posts")}"><span aria-hidden="true">«</span></a></li> + % else: + <li class="page-item disabled"><a href="#" class="page-link" aria-label="${messages("Newer posts")}"><span aria-hidden="true">«</span></a></li> + % endif + % endif + % for i, link in enumerate(page_links): + % if abs(i - current_page) <= surrounding or i == 0 or i == len(page_links) - 1: + <li class="page-item ${'active' if i == current_page else ''}"><a href="${link}" class="page-link">${i + 1}${' <span class="sr-only">(current)</span>' if i == current_page else ''}</a></li> + % elif i == current_page - surrounding - 1 or i == current_page + surrounding + 1: + <li class="page-item disabled"><a href="#" class="page-link" aria-label="…"><span aria-hidden="true">…</span></a></li> + % endif + % endfor + % if prev_next_links_reversed: + % if prevlink: + <li class="page-item"><a href="${prevlink}" class="page-link" aria-label="${messages("Newer posts")}"><span aria-hidden="true">»</span></a></li> + % else: + <li class="page-item disabled"><a href="#" class="page-link" aria-label="${messages("Newer posts")}"><span aria-hidden="true">»</span></a></li> + % endif + % else: + % if nextlink: + <li class="page-item"><a href="${nextlink}" class="page-link" aria-label="${messages("Older posts")}"><span aria-hidden="true">»</span></a></li> + % else: + <li class="page-item disabled"><a href="#" class="page-link" aria-label="${messages("Older posts")}"><span aria-hidden="true">»</span></a></li> + % endif + % endif + </ul> +</nav> +</%def> diff --git a/nikola/data/themes/bootstrap3/templates/post.tmpl b/nikola/data/themes/bootstrap4/templates/post.tmpl index 469c1e1..0d4248e 100644 --- a/nikola/data/themes/bootstrap3/templates/post.tmpl +++ b/nikola/data/themes/bootstrap4/templates/post.tmpl @@ -2,16 +2,15 @@ <%namespace name="helper" file="post_helper.tmpl"/> <%namespace name="pheader" file="post_header.tmpl"/> <%namespace name="comments" file="comments_helper.tmpl"/> +<%namespace name="math" file="math_helper.tmpl"/> +<%namespace name="ui" file="ui_helper.tmpl"/> <%inherit file="base.tmpl"/> <%block name="extra_head"> ${parent.extra_head()} % if post.meta('keywords'): - <meta name="keywords" content="${post.meta('keywords')|h}"> + <meta name="keywords" content="${smartjoin(', ', post.meta('keywords'))|h}"> % endif - %if post.description(): - <meta name="description" itemprop="description" content="${post.description()|h}"> - %endif <meta name="author" content="${post.author()|h}"> %if post.prev_post: <link rel="prev" href="${post.prev_post.permalink()}" title="${post.prev_post.title()|h}" type="text/html"> @@ -25,6 +24,7 @@ ${helper.open_graph_metadata(post)} ${helper.twitter_card_information(post)} ${helper.meta_translations(post)} + ${math.math_styles_ifpost(post)} </%block> <%block name="content"> @@ -45,15 +45,13 @@ ${comments.comment_form(post.permalink(absolute=True), post.title(), post._base_path)} </section> % endif - ${helper.mathjax_script(post)} + ${math.math_scripts_ifpost(post)} </article> ${comments.comment_link_script()} </%block> <%block name="sourcelink"> % if show_sourcelink: - <li> - <a href="${post.source_link()}" id="sourcelink">${messages("Source")}</a> - </li> + ${ui.show_sourcelink(post.source_link())} % endif </%block> diff --git a/nikola/data/themes/bootstrap3/templates/tags.tmpl b/nikola/data/themes/bootstrap4/templates/tags.tmpl index 061bb39..f1870f6 100644 --- a/nikola/data/themes/bootstrap3/templates/tags.tmpl +++ b/nikola/data/themes/bootstrap4/templates/tags.tmpl @@ -11,7 +11,7 @@ % for i in range(indent_change_before): <ul class="list-inline"> % endfor - <li><a class="reference badge" href="${link}">${text|h}</a> + <li class="list-inline-item"><a class="reference badge badge-secondary" href="${link}">${text|h}</a> % if indent_change_after <= 0: </li> % endif @@ -30,7 +30,7 @@ <ul class="list-inline"> % for text, link in items: % if text not in hidden_tags: - <li><a class="reference badge" href="${link}">${text|h}</a></li> + <li class="list-inline-item"><a class="reference badge badge-secondary" href="${link}">${text|h}</a></li> % endif % endfor </ul> diff --git a/nikola/data/themes/bootstrap4/templates/ui_helper.tmpl b/nikola/data/themes/bootstrap4/templates/ui_helper.tmpl new file mode 100644 index 0000000..7e884f9 --- /dev/null +++ b/nikola/data/themes/bootstrap4/templates/ui_helper.tmpl @@ -0,0 +1,24 @@ +## -*- coding: utf-8 -*- +<%def name="breadcrumbs(crumbs)"> +%if crumbs: +<nav class="breadcrumbs"> +<ul class="breadcrumb"> + % for link, text in crumbs: + % if text != index_file: + % if link == '#': + <li class="breadcrumb-item active">${text.rsplit('.html', 1)[0]}</li> + % else: + <li class="breadcrumb-item"><a href="${link}">${text}</a></li> + % endif + % endif + % endfor +</ul> +</nav> +%endif +</%def> + +<%def name="show_sourcelink(sourcelink_href)"> + <li class="nav-item"> + <a href="${sourcelink_href}" id="sourcelink" class="nav-link">${messages("Source")}</a> + </li> +</%def> |
