diff options
Diffstat (limited to 'themes/lv2/templates')
34 files changed, 1244 insertions, 0 deletions
diff --git a/themes/lv2/templates/archives.html b/themes/lv2/templates/archives.html new file mode 100644 index 0000000..8875de0 --- /dev/null +++ b/themes/lv2/templates/archives.html @@ -0,0 +1,24 @@ +{% extends "base.html" %} +{% block title %}Archives - {{ SITENAME }}{% endblock %} +{% block breadcrumbs %} + {% if DISPLAY_BREADCRUMBS %} + <ol class="breadcrumb"> + <li><a href="{{ SITEURL }}" title="{{ SITENAME }}"><i class="fa fa-home fa-lg"></i></a></li> + <li class="active">Archives</li> + </ol> + {% endif %} +{% endblock %} + +{% block content %} + <section id="content"> + <h1>Archives for {{ SITENAME }}</h1> + <div id="archives"> + {% for article in dates %} + <p> + <span class="categories-timestamp"><time datetime="{{ article.date.isoformat() }}">{{ article.locale_date }}</time></span> + <a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}{% if article.subtitle %} - {{ article.subtitle }}{% endif %}</a> + </p> + {% endfor %} + </div> + </section> +{% endblock %} diff --git a/themes/lv2/templates/article.html b/themes/lv2/templates/article.html new file mode 100644 index 0000000..fcfab20 --- /dev/null +++ b/themes/lv2/templates/article.html @@ -0,0 +1,96 @@ +{% extends "base.html" %} +{% block title %}{{ article.title|striptags }} - {{ SITENAME }}{% endblock %} +{% block html_lang %}{{ article.lang }}{% endblock %} +{% block meta %} + {% if article.author %} + <meta name="author" content="{{ article.author }}" /> + {% else %} + <meta name="author" content="{{ AUTHOR }}" /> + {% endif %} + {% if article.tags %} + <meta name="keywords" content="{{ article.tags|join(',')|striptags }}" /> + {% endif %} + {% if article.summary %} + <meta name="description" content="{{ article.summary|striptags|escape }}" /> + {% endif %} +{% endblock %} +{% block opengraph %} + {% if OPEN_GRAPH_FB_APP_ID %} + <meta property="fb:app_id" content="{{ OPEN_GRAPH_FB_APP_ID }}"/> + <meta property="og:site_name" content="{{ SITENAME }}" /> + <meta property="og:type" content="article"/> + <meta property="og:title" content="{{ article.title|striptags|escape }}"/> + <meta property="og:url" content="{{ SITEURL }}/{{ article.url }}"/> + <meta property="og:description" content="{{ article.summary|striptags|escape }}"/> + <meta property="article:published_time" content="{{ article.date.strftime("%Y-%m-%d") }}" /> + {% if article.category %} + <meta property="article:section" content="{{ article.category }}" /> + {% endif %} + {% for tag in article.tags %} + <meta property="article:tag" content="{{ tag }}" /> + {% endfor %} + {% if article.author %} + <meta property="article:author" content="{{ article.author }}" /> + {% elif AUTHOR %} + <meta property="article:author" content="{{ AUTHOR }}" /> + {% endif %} + {% if article.og_image %} + <meta property="og:image" + content="{{ SITEURL }}/{{ article.og_image }}"/> + {% elif OPEN_GRAPH_IMAGE %} + <meta property="og:image" + content="{{ SITEURL }}/{{ OPEN_GRAPH_IMAGE }}"/> + {% endif %} + {% endif %} +{% endblock %} + +{% block canonical_rel %} +<link rel="canonical" href="{{ SITEURL }}/{{ article.url }}"> +{% endblock %} + +{% block breadcrumbs %} + {% if DISPLAY_BREADCRUMBS %} + {% if DISPLAY_CATEGORY_IN_BREADCRUMBS %} + <ol class="breadcrumb"> + <li><a href="{{ SITEURL }}" title="{{ SITENAME }}"><i class="fa fa-home fa-lg"></i></a></li> + <li><a href="{{ SITEURL }}/{{ article.category.url }}" title="{{ article.category }}">{{ article.category }}</a></li> + <li class="active">{{ article.title }}</li> + </ol> + {% else %} + <ol class="breadcrumb"> + <li><a href="{{ SITEURL }}" title="{{ SITENAME }}"><i class="fa fa-home fa-lg"></i></a></li> + <li class="active">{{ article.title }}</li> + </ol> + {% endif %} + {% endif %} +{% endblock %} + +{% block content %} + <section id="content"> + <article> + <header class="page-header"> + <h1> + <a href="{{ SITEURL }}/{{ article.url }}" + rel="bookmark" + title="Permalink to {{ article.title|striptags }}"> + {{ article.title }} + </a> + </h1> + </header> + <div class="entry-content"> + <div class="panel"> + <div class="panel-body"> + {% include "includes/article_info.html" %} + </div> + </div> + {{ article.content }} + </div> + <!-- /.entry-content --> + {% include 'includes/related-posts.html' %} + {% include 'includes/series.html' %} + {% include 'includes/addthis.html' %} + {% include 'includes/comments.html' %} + </article> + </section> + +{% endblock %} diff --git a/themes/lv2/templates/article_list.html b/themes/lv2/templates/article_list.html new file mode 100644 index 0000000..2d3c8cd --- /dev/null +++ b/themes/lv2/templates/article_list.html @@ -0,0 +1,22 @@ +{% extends "base.html" %} +{% block content %} + {% if articles %} + {% for article in (articles_page.object_list if articles_page else articles) %} + <article> + <h2><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></h2> + {% if DISPLAY_ARTICLE_INFO_ON_INDEX %} + <div class="well well-sm"> + {% include "includes/article_info.html" %} + </div> + {% endif %} + <div class="summary">{{ article.summary }} + {% include 'includes/comment_count.html' %} + <a class="btn btn-default btn-xs" href="{{ SITEURL }}/{{ article.url }}">more ...</a> + </div> + </article> + <hr/> + {% endfor %} + {% endif %} + + {% include 'includes/pagination.html' %} +{% endblock content %} diff --git a/themes/lv2/templates/author.html b/themes/lv2/templates/author.html new file mode 100644 index 0000000..07dab6e --- /dev/null +++ b/themes/lv2/templates/author.html @@ -0,0 +1,13 @@ +{% extends "article_list.html" %} + +{% block title %}Articles by {{ author }} - {{ SITENAME }}{% endblock %} + +{% block breadcrumbs %} + {% if DISPLAY_BREADCRUMBS %} + <ol class="breadcrumb"> + <li><a href="{{ SITEURL }}" title="{{ SITENAME }}"><i class="fa fa-home fa-lg"></i></a></li> + <li><a href="{{ SITEURL }}/{{ AUTHORS_URL|default('authors.html') }}" title="Authors">Authors</a></li> + <li class="active">{{ AUTHOR }}</li> + </ol> + {% endif %} +{% endblock %} diff --git a/themes/lv2/templates/authors.html b/themes/lv2/templates/authors.html new file mode 100644 index 0000000..9aa93ac --- /dev/null +++ b/themes/lv2/templates/authors.html @@ -0,0 +1,19 @@ +{% extends "base.html" %} + +{% block title %}Authors - {{ SITENAME }}{% endblock %} + +{% block breadcrumbs %} + {% if DISPLAY_BREADCRUMBS %} + <ol class="breadcrumb"> + <li><a href="{{ SITEURL }}" title="{{ SITENAME }}"><i class="fa fa-home fa-lg"></i></a></li> + <li class="active">Authors</li> + </ol> + {% endif %} +{% endblock %} + +{% block content %} + <h1>Authors on {{ SITENAME }}</h1> + {% for author, articles in authors|sort %} + <li><a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a> ({{ articles|count }})</li> + {% endfor %} +{% endblock %} diff --git a/themes/lv2/templates/base.html b/themes/lv2/templates/base.html new file mode 100644 index 0000000..ae04fb1 --- /dev/null +++ b/themes/lv2/templates/base.html @@ -0,0 +1,192 @@ +<!DOCTYPE html> +<html lang="{% block html_lang %}{{ DEFAULT_LANG }}{% endblock %}" + {% if USE_OPEN_GRAPH %} + xmlns:og="http://ogp.me/ns#" + xmlns:fb="https://www.facebook.com/2008/fbml"{% endif %}> +<head> + <title>{% block title %}{{ SITENAME }}{% endblock %}</title> + <!-- Using the latest rendering mode for IE --> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + {% if 'liquid_tags.notebook' in PLUGINS %} + {% include 'includes/liquid_tags_nb_header.html' %} + {% endif %} + + {# Favicons are a touchy subject. For reasoning for the following code, see: http://stackoverflow.com/a/23851464/872397 #} + {% if FAVICON %} + <link href="{{ SITEURL }}/{{ FAVICON }}" rel="icon"> + {% endif %} + {% if FAVICON_IE %} + <!--[if IE]><link rel="shortcut icon" href="{{ SITEURL }}/{{ FAVICON_IE }}"><![endif]--> + {% endif %} + {% if TOUCHICON %} + <link rel="apple-touch-icon" href="{{ SITEURL }}/{{ TOUCHICON }}"> + {% endif %} + + {% block canonical_rel %}{% endblock %} + + {% block meta %} + <meta name="author" content="{{ AUTHOR }}" /> + {% endblock %} + + <!-- Enable latex plugin --> + {% if article and article.latex %} + {{ article.latex }} + {% endif %} + {% if page and page.latex %} + {{ page.latex }} + {% endif %} + + + {# Open Graph tags #} + {% if USE_OPEN_GRAPH is not defined %} + {% set USE_OPEN_GRAPH = True %} + {% endif %} + {% if USE_OPEN_GRAPH %} + {% block opengraph %} + <!-- Open Graph tags --> + {% if OPEN_GRAPH_FB_APP_ID %} + <meta property="fb:app_id" content="{{ OPEN_GRAPH_FB_APP_ID }}"/> + {% endif %} + <meta property="og:site_name" content="{{ SITENAME }}" /> + <meta property="og:type" content="website"/> + <meta property="og:title" content="{{ SITENAME }}"/> + <meta property="og:url" content="{{ SITEURL }}"/> + <meta property="og:description" content="{{ SITENAME }}"/> + {% if OPEN_GRAPH_IMAGE %} + <meta property="og:image" + content="{{ SITEURL }}/{{ OPEN_GRAPH_IMAGE }}"/> + {% endif %} + {% endblock %} + {% endif %} + + {# Twitter Cards tags #} + {% include 'includes/twitter_cards.html' %} + + <!-- Bootstrap --> + {% if BOOTSTRAP_THEME %} + <link rel="stylesheet" href="{{ SITEURL }}/theme/css/bootstrap.{{ BOOTSTRAP_THEME }}.min.css" type="text/css"/> + {% else %} + <link rel="stylesheet" href="{{ SITEURL }}/theme/css/bootstrap.min.css" type="text/css"/> + {% endif %} + <link href="{{ SITEURL }}/theme/css/font-awesome.min.css" rel="stylesheet"> + + <link href="{{ SITEURL }}/theme/css/pygments/{{ PYGMENTS_STYLE|default('native') }}.css" rel="stylesheet"> + {% if DOCUTIL_CSS %} + <link href="{{ SITEURL }}/theme/css/html4css1.css" rel="stylesheet"> + {% endif %} + {% if TYPOGRIFY %} + <link href="{{ SITEURL }}/theme/css/typogrify.css" rel="stylesheet"> + {% endif %} + <link rel="stylesheet" href="{{ SITEURL }}/theme/css/style.css" type="text/css"/> + {% if CUSTOM_CSS %} + <link href="{{ SITEURL }}/{{ CUSTOM_CSS }}" rel="stylesheet"> + {% endif %} + + {% if FEED_ALL_ATOM %} + <link href="{{ SITEURL }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" + title="{{ SITENAME }} ATOM Feed"/> + {% endif %} + {% if FEED_ALL_RSS %} + <link href="{{ SITEURL }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" + title="{{ SITENAME }} RSS Feed"/> + {% endif %} + + {% if tag and TAG_FEED_ATOM %} + <link href="{{ SITEURL }}/{{ TAG_FEED_ATOM|format(tag.slug) }}" type="application/atom+xml" rel="alternate" + title="{{ SITENAME }} {{ tag }} ATOM Feed"/> + {% endif %} + + {% if category and CATEGORY_FEED_ATOM %} + <link href="{{ SITEURL }}/{{ CATEGORY_FEED_ATOM|format(category.slug) }}" type="application/atom+xml" rel="alternate" + title="{{ SITENAME }} {{ category }} ATOM Feed"/> + {% endif %} + +</head> +<body> + +<div class="navbar {% if BOOTSTRAP_NAVBAR_INVERSE %}navbar-inverse{% else %}navbar-default{% endif %} navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a href="{{ SITEURL }}/" class="navbar-brand"> + {% if SITELOGO %}<img src="{{ SITEURL }}/{{ SITELOGO }}" width="{{ SITELOGO_SIZE }}"/> {% endif %} + {% if not HIDE_SITENAME %}{{ SITENAME }}{% endif %} + </a> + </div> + <div class="collapse navbar-collapse navbar-ex1-collapse"> + <ul class="nav navbar-nav"> + {% for title, link in MENUITEMS %} + <li><a href="{{ link }}">{{ title }}</a></li> + {% endfor %} + {% if DISPLAY_PAGES_ON_MENU %} + {% for p in PAGES %} + <li{% if p == page %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ p.url }}"> + {{ p.menulabel|default(p.title) }} + </a></li> + {% endfor %} + {% endif %} + {% if DISPLAY_CATEGORIES_ON_MENU %} + {% for cat, null in categories %} + <li {% if cat == category %}class="active"{% endif %}> + <a href="{{ SITEURL }}/{{ cat.url }}">{{ cat | capitalize }}</a> + </li> + {% endfor %} + {% endif %} + </ul> + <ul class="nav navbar-nav navbar-right"> + <li><a href="{{ SITEURL }}/{{ ARCHIVES_URL | default('archives.html') }}"><i class="fa fa-th-list"></i><span class="icon-label">Archives</span></a></li> + </ul> + </div> + <!-- /.navbar-collapse --> + </div> +</div> <!-- /.navbar --> + +<div class="container"> + <div class="row"> + {% if not HIDE_SIDEBAR or SHOW_ABOUTME %} + <div class="col-sm-9"> + {% else %} + <div class="col-lg-12"> + {% endif %} + {% block breadcrumbs %} + {% endblock %} + + {% block content %} + {% endblock %} + </div> + {% if ABOUT_ME %} + <div class="col-sm-3" id="aboutme"> + {% include 'includes/aboutme.html' %} + </div> + {% endif %} + {% if not HIDE_SIDEBAR %} + <div class="col-sm-3 well well-sm" id="sidebar"> + {% include 'includes/sidebar.html' %} + </div> + {% endif %} + </div> +</div> +{% include 'includes/footer.html' %} + +<script src="{{ SITEURL }}/theme/js/jquery.min.js"></script> + +<!-- Include all compiled plugins (below), or include individual files as needed --> +<script src="{{ SITEURL }}/theme/js/bootstrap.min.js"></script> + +<!-- Enable responsive features in IE8 with Respond.js (https://github.com/scottjehl/Respond) --> +<script src="{{ SITEURL }}/theme/js/respond.min.js"></script> + +{% include 'includes/github-js.html' %} +{% include 'includes/disqus_script.html' %} +{% include 'includes/ga.html' %} +{% include 'includes/piwik.html' %} +</body> +</html> diff --git a/themes/lv2/templates/categories.html b/themes/lv2/templates/categories.html new file mode 100644 index 0000000..6898f97 --- /dev/null +++ b/themes/lv2/templates/categories.html @@ -0,0 +1,36 @@ +{% extends "base.html" %} +{% block title %}Categories - {{ SITENAME }}{% endblock %} + +{% block breadcrumbs %} + {% if DISPLAY_BREADCRUMBS %} + <ol class="breadcrumb"> + <li><a href="{{ SITEURL }}" title="{{ SITENAME }}"><i class="fa fa-home fa-lg"></i></a></li> + <li class="active">Categories</li> + </ol> + {% endif %} +{% endblock %} + +{% block content %} + <section id="categories"> + <h1>All Categories for {{ SITENAME }}</h1> + <div class="panel-group" id="accordion"> + {% for category, articles in categories %} + <div class="panel panel-default"> + <div class="panel-heading"> + <h4 class="panel-title"> + <a data-toggle="collapse" data-parent="#accordion" href="#collapse-{{category.slug}}">{{ category }} <span class="badge pull-right">{{ articles|count }}</span></a> + </h4> + </div> + <div id="collapse-{{category.slug}}" class="panel-collapse collapse"> + <div class="panel-body"> + {% for article in articles %} + <p><span class="categories-timestamp"><time datetime="{{ article.date.isoformat() }}">{{ article.locale_date }}</time></span> <a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></p> + {% endfor %} + </div> + </div> + </div> + {% endfor %} + </div> + + </section> +{% endblock %} diff --git a/themes/lv2/templates/category.html b/themes/lv2/templates/category.html new file mode 100644 index 0000000..0eac7dd --- /dev/null +++ b/themes/lv2/templates/category.html @@ -0,0 +1,15 @@ +{% extends "article_list.html" %} +{% block title %}{{ category }} - {{ SITENAME }}{% endblock %} +{% block meta %} + <meta name="author" content="{{ AUTHOR }}" /> + <meta name="keywords" content="{{ category }}" /> +{% endblock %} +{% block breadcrumbs %} + {% if DISPLAY_BREADCRUMBS %} + <ol class="breadcrumb"> + <li><a href="{{ SITEURL }}" title="{{ SITENAME }}"><i class="fa fa-home fa-lg"></i></a></li> + <li><a href="{{ SITEURL}}/{{ CATEGORIES_URL }}" title="{{ SITENAME }} Categories">Categories</a></li> + <li class="active">{{ category }}</li> + </ol> + {% endif %} +{% endblock %} diff --git a/themes/lv2/templates/includes/aboutme.html b/themes/lv2/templates/includes/aboutme.html new file mode 100644 index 0000000..ba56070 --- /dev/null +++ b/themes/lv2/templates/includes/aboutme.html @@ -0,0 +1,9 @@ +{% if AVATAR %} + <p> + <img width="100%" class="img-thumbnail" src="{{ AVATAR }}"/> + </p> +{% endif %} +<p> + <strong>About {{ AUTHOR }}</strong><br/> + {{ ABOUT_ME }} +</p> diff --git a/themes/lv2/templates/includes/addthis.html b/themes/lv2/templates/includes/addthis.html new file mode 100644 index 0000000..12e2e8a --- /dev/null +++ b/themes/lv2/templates/includes/addthis.html @@ -0,0 +1,20 @@ +{% if ADDTHIS_PROFILE %} + <hr /> + <!-- AddThis Button BEGIN --> + <div class="addthis_toolbox addthis_default_style"> + {% if ADDTHIS_FACEBOOK_LIKE|default(true) %} + <a class="addthis_button_facebook_like" fb:like:layout="button_count"></a> + {% endif %} + {% if ADDTHIS_TWEET|default(true) %} + <a class="addthis_button_tweet"></a> + {% endif %} + {% if ADDTHIS_GOOGLE_PLUSONE|default(true) %} + <a class="addthis_button_google_plusone" g:plusone:size="medium"></a> + {% endif %} + </div> + {% if ADDTHIS_DATA_TRACK_ADDRESSBAR|default(true) %} + <script type="text/javascript">var addthis_config = {"data_track_addressbar": true};</script> + {% endif %} + <script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid={{ ADDTHIS_PROFILE }}"></script> + <!-- AddThis Button END --> +{% endif %}
\ No newline at end of file diff --git a/themes/lv2/templates/includes/article_info.html b/themes/lv2/templates/includes/article_info.html new file mode 100644 index 0000000..787c360 --- /dev/null +++ b/themes/lv2/templates/includes/article_info.html @@ -0,0 +1,36 @@ +<footer class="post-info"> + <span class="label label-default">Date</span> + <span class="published"> + <i class="fa fa-calendar"></i><time datetime="{{ article.date.isoformat() }}"> {{ article.locale_date }}</time> + </span> + + {% if SHOW_SERIES %} + {% if article.series %} + <span class="label label-default">Series</span> + Part {{ article.series.index}} of {{ article.series.name }} + {% endif %} + {% endif %} + + + {% if SHOW_ARTICLE_AUTHOR %} + {% if article.author %} + <span class="label label-default">By</span> + <a href="{{ SITEURL }}/{{ article.author.url }}"><i class="fa fa-user"></i> {{ article.author }}</a> + {% endif %} + {% endif %} + + {% if SHOW_ARTICLE_CATEGORY %} + <span class="label label-default">Category</span> + <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a> + {% endif %} + + {% if PDF_PROCESSOR %} + <span class="label label-default"> + <a href="{{ SITEURL }}/pdf/{{ article.slug }}.pdf">PDF</a> + </span> + {% endif %} + + {% include 'includes/taglist.html' %} + {% import 'includes/translations.html' as translations with context %} + {{ translations.translations_for(article) }} +</footer><!-- /.post-info --> diff --git a/themes/lv2/templates/includes/cc-license.html b/themes/lv2/templates/includes/cc-license.html new file mode 100644 index 0000000..73c7720 --- /dev/null +++ b/themes/lv2/templates/includes/cc-license.html @@ -0,0 +1,64 @@ +{# ------------------------------------------------------------------------ #} +{# Creative Commons license mark generator for Jinja2 templates, including #} +{# Pelican-generated static sites (or blogs). #} +{# ------------------------------------------------------------------------ #} +{# To use, put this file in a location where your template can import it. #} +{# Then import into the template, for example like this: #} +{# {% from '/path/to/where/you/placed/the/file' import cc_license_mark %} #} +{# Then call as simply as {{ cc_license_mark("CC-BY") }}. #} +{# #} +{# If full attribution markup is desired in a Pelican template, the #} +{# attr_props dict can be defaulted to the following when calling the macro:#} +{# attr_props={'title':SITENAME,'name':AUTHOR,'url':SITEURL} +{# ------------------------------------------------------------------------ #} +{# Generate a license mark for Creative Commons licensed content. #} +{# Choose the license either by name (CC-BY, CC-BY-SA, CC-BY-NC-SA, or #} +{# CC-BY-NC-ND), or by its features (allow derivatives: Yes, No, ShareAlike;#} +{# allow commercial reuse: Yes, No). Name, if provided, takes precedence, #} +{# and case is ignored. #} +{# #} +{# Optional: #} +{# br_after_icon: if true put a line break after the license icon #} +{# attr_markup: if true create markup for fulll attribution #} +{# attr_props: if attr_markup, a dict with title, name, and url keys #} +{# specifying how under which title, to which creator, and #} +{# to which URL to attribute the work #} +{# The parameters all mirror the Creative Commone license chooser: #} +{# http://creativecommons.org/choose/ #} +{# ------------------------------------------------------------------------ #} +{# Copyright (c) 1994 Hilmar Lapp, hlapp@drycafe.net. #} +{# Licensed under the terms of the MIT License. #} +{# Source at http://github.com/hlapp/cc-tools. Please fork & contribute. #} +{# ------------------------------------------------------------------------ #} +{% macro cc_license_mark(cc_name, + derivatives, commercial, + br_after_icon=false, + attr_markup=false, + attr_props={}) %} + {% if cc_name %} + {% set cc_name = cc_name|lower|replace("cc-","") %} + {% else %} + {% set cc_name = "by" %} + {% set cc_title_suffix = "" %} + {% if (not commercial) or (commercial|lower == "no") %} + {% set cc_name = cc_name ~ "-nc" %} + {% set cc_title_suffix = "-NonCommercial" %} + {% endif %} + {% if derivatives|lower == "no" %} + {% set cc_name = cc_name ~ "-nd" %} + {% set cc_title_suffix = cc_title_suffix ~ "-NoDerivatives" %} + {% elif derivatives|lower == "sharealike" %} + {% set cc_name = cc_name ~ "-sa" %} + {% set cc_title_suffix = cc_title_suffix ~ "-ShareAlike" %} + {% endif %} + {% endif %} + {% set cc_title, cc_uri, cc_icon = ("Creative Commons Attribution 4.0 InternationalCCSUFFIX License","http://creativecommons.org/licenses/CCNAME/4.0/","//i.creativecommons.org/l/CCNAME/4.0/80x15.png") %} + <a rel="license" href="{{ cc_uri|replace('CCNAME',cc_name) }}"><img alt="Creative Commons License" style="border-width:0" src="{{ cc_icon|replace('CCNAME',cc_name) }}" /></a> + {% if br_after_img %}<br/>{% endif %} + {% if attr_markup %} + "<span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">{{ attr_props['title'] }}</span>" by <a xmlns:cc="http://creativecommons.org/ns#" href="{{ attr_props['url'] }}" property="cc:attributionName" rel="cc:attributionURL">{{ attr_props['name'] }}</a> is + {% else %} + Content + {% endif %} + licensed under a <a rel="license" href="{{ cc_uri|replace('CCNAME',cc_name) }}">{{ cc_title|replace('CCSUFFIX',cc_title_suffix) }}</a>, except where indicated otherwise. +{% endmacro %} diff --git a/themes/lv2/templates/includes/comment_count.html b/themes/lv2/templates/includes/comment_count.html new file mode 100644 index 0000000..4b42dde --- /dev/null +++ b/themes/lv2/templates/includes/comment_count.html @@ -0,0 +1 @@ +{% if DISQUS_SITENAME and DISQUS_DISPLAY_COUNTS %}<p><small><a href="{{ SITEURL }}/{{ article.url }}#disqus_thread" {% if not DISQUS_NO_ID %}data-disqus-identifier="{{ article.date|strftime('%Y-%m-') ~ article.slug if DISQUS_ID_PREFIX_SLUG else article.slug }}"{% endif %}>View comments</a>.</small></p>{% endif %} diff --git a/themes/lv2/templates/includes/comments.html b/themes/lv2/templates/includes/comments.html new file mode 100644 index 0000000..eade006 --- /dev/null +++ b/themes/lv2/templates/includes/comments.html @@ -0,0 +1,41 @@ +{% if DISQUS_SITENAME %} + <hr/> + <section class="comments" id="comments"> + <h2>Comments</h2> + + <div id="disqus_thread"></div> + <script type="text/javascript"> + /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */ + var disqus_shortname = '{{ DISQUS_SITENAME }}'; // required: replace example with your forum shortname + + {% if article %} + {% if not DISQUS_NO_ID %} + var disqus_identifier = '{{ article.date|strftime('%Y-%m-') ~ article.slug if DISQUS_ID_PREFIX_SLUG else article.slug }}'; + {% endif %} + var disqus_url = '{{ SITEURL }}/{{ article.url }}'; + {% elif page %} + {% if not DISQUS_NO_ID %} + var disqus_identifier = 'page-{{ page.slug }}'; + {% endif %} + var disqus_url = '{{ SITEURL }}/{{ page.url }}'; + {% endif %} + + var disqus_config = function () { + this.language = "{{ DEFAULT_LANG }}"; + }; + + /* * * DON'T EDIT BELOW THIS LINE * * */ + (function () { + var dsq = document.createElement('script'); + dsq.type = 'text/javascript'; + dsq.async = true; + dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; + (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); + })(); + </script> + <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by + Disqus.</a></noscript> + <a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a> + + </section> +{% endif %} diff --git a/themes/lv2/templates/includes/disqus_script.html b/themes/lv2/templates/includes/disqus_script.html new file mode 100644 index 0000000..02570b3 --- /dev/null +++ b/themes/lv2/templates/includes/disqus_script.html @@ -0,0 +1,17 @@ +{% if DISQUS_SITENAME %} + <!-- Disqus --> + <script type="text/javascript"> + /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */ + var disqus_shortname = '{{ DISQUS_SITENAME }}'; // required: replace example with your forum shortname + + /* * * DON'T EDIT BELOW THIS LINE * * */ + (function () { + var s = document.createElement('script'); + s.async = true; + s.type = 'text/javascript'; + s.src = '//' + disqus_shortname + '.disqus.com/count.js'; + (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s); + }()); + </script> + <!-- End Disqus Code --> +{% endif %}
\ No newline at end of file diff --git a/themes/lv2/templates/includes/footer.html b/themes/lv2/templates/includes/footer.html new file mode 100644 index 0000000..8026a5d --- /dev/null +++ b/themes/lv2/templates/includes/footer.html @@ -0,0 +1,23 @@ +<footer> + <div class="container"> + <hr> + <div class="row"> + {% if articles %} + {% set copy_date = articles[0].date.strftime('%Y') %} + {% else %} + {% set copy_date = '' %} + {% endif %} + <div class="col-xs-10">© {{ copy_date }} {{ AUTHOR }} + · Powered by + <a href="http://docs.getpelican.com/" target="_blank">Pelican</a>, + theme based on + <a href="https://github.com/DandyDev/pelican-bootstrap3">pelican-bootstrap3</a> + {%- if CC_LICENSE or CC_LICENSE_DERIVATIVES or CC_LICENSE_COMMERCIAL %} + {% from 'includes/cc-license.html' import cc_license_mark %} + <p><small>{{ cc_license_mark(cc_name=CC_LICENSE,derivatives=CC_LICENSE_DERIVATIVES,commercial=CC_LICENSE_COMMERCIAL,attr_markup=CC_ATTR_MARKUP,attr_props={'title':SITENAME,'name':article.author if article else AUTHOR,'url':SITEURL}) }}</small></p> + {% endif %} + </div> + <div class="col-xs-2"><p class="pull-right"><i class="fa fa-arrow-up"></i> <a href="#">Back to top</a></p></div> + </div> + </div> +</footer> diff --git a/themes/lv2/templates/includes/ga.html b/themes/lv2/templates/includes/ga.html new file mode 100644 index 0000000..8663e73 --- /dev/null +++ b/themes/lv2/templates/includes/ga.html @@ -0,0 +1,32 @@ +{% if GOOGLE_ANALYTICS %} + <!-- Google Analytics --> + <script type="text/javascript"> + + var _gaq = _gaq || []; + _gaq.push(['_setAccount', '{{ GOOGLE_ANALYTICS }}']); + _gaq.push(['_trackPageview']); + + (function () { + var ga = document.createElement('script'); + ga.type = 'text/javascript'; + ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; + s.parentNode.insertBefore(ga, s); + })(); + </script> + <!-- End Google Analytics Code --> +{% endif %} +{% if GOOGLE_ANALYTICS_UNIVERSAL %} + <!-- Google Analytics Universal --> + <script type="text/javascript"> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', '{{ GOOGLE_ANALYTICS_UNIVERSAL }}', '{{ GOOGLE_ANALYTICS_UNIVERSAL_PROPERTY }}'); + ga('send', 'pageview'); + </script> + <!-- End Google Analytics Universal Code --> +{% endif %}
\ No newline at end of file diff --git a/themes/lv2/templates/includes/github-js.html b/themes/lv2/templates/includes/github-js.html new file mode 100644 index 0000000..85d9ae5 --- /dev/null +++ b/themes/lv2/templates/includes/github-js.html @@ -0,0 +1,35 @@ +{% if GITHUB_USER %} + {% if GITHUB_REPO_COUNT is not defined %} + {% set GITHUB_REPO_COUNT = 5 %} + {% endif %} + {% if GITHUB_SKIP_FORK is not defined %} + {% set GITHUB_SKIP_FORK = "false" %} + {% else %} + {% if GITHUB_SKIP_FORK %} + {% set GITHUB_SKIP_FORK = "true" %} + {% else %} + {% set GITHUB_SKIP_FORK = "false" %} + {% endif %} + {% endif %} + <!-- GitHub JS --> + <script type="text/javascript"> + $(document).ready(function () { + if (!window.jXHR) { + var jxhr = document.createElement('script'); + jxhr.type = 'text/javascript'; + jxhr.src = '{{ SITEURL }}/theme/js/jXHR.js'; + var s = document.getElementsByTagName('script')[0]; + s.parentNode.insertBefore(jxhr, s); + } + + github.showRepos({ + user: '{{ GITHUB_USER }}', + count: {{ GITHUB_REPO_COUNT }}, + skip_forks: {{ GITHUB_SKIP_FORK }}, + target: '#gh_repos' + }); + }); + </script> + <script src="{{ SITEURL }}/theme/js/github.js" type="text/javascript"></script> + <!-- End GitHub JS Code --> +{% endif %}
\ No newline at end of file diff --git a/themes/lv2/templates/includes/github.html b/themes/lv2/templates/includes/github.html new file mode 100644 index 0000000..00ea0f3 --- /dev/null +++ b/themes/lv2/templates/includes/github.html @@ -0,0 +1,11 @@ +{% if GITHUB_USER %} + + <li class="list-group-item"><h4><i class="fa fa-github fa-lg"></i><span class="icon-label">GitHub Repos</span></h4> + <div id="gh_repos"> + <p class="list-group-item">Status updating...</p> + </div> + {% if GITHUB_SHOW_USER_LINK is defined %} + <a href="https://github.com/{{ GITHUB_USER }}">@{{ GITHUB_USER }}</a> on GitHub + {% endif %} + </li> +{% endif %}
\ No newline at end of file diff --git a/themes/lv2/templates/includes/links.html b/themes/lv2/templates/includes/links.html new file mode 100644 index 0000000..3286b5a --- /dev/null +++ b/themes/lv2/templates/includes/links.html @@ -0,0 +1,13 @@ +{% if LINKS %} + <li class="list-group-item"><h4><i class="fa fa-external-link-square fa-lg"></i><span class="icon-label">Links</span></h4> + <ul class="list-group" id="links"> + {% for name, link in LINKS %} + <li class="list-group-item"> + <a href="{{ link }}" target="_blank"> + {{ name }} + </a> + </li> + {% endfor %} + </ul> + </li> +{% endif %}
\ No newline at end of file diff --git a/themes/lv2/templates/includes/liquid_tags_nb_header.html b/themes/lv2/templates/includes/liquid_tags_nb_header.html new file mode 100644 index 0000000..3d70df5 --- /dev/null +++ b/themes/lv2/templates/includes/liquid_tags_nb_header.html @@ -0,0 +1,157 @@ + + + +<style type="text/css"> + +/*some stuff for output/input prompts*/ +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}div.cell.selected{border-radius:4px;border:thin #ababab solid} +div.cell.edit_mode{border-radius:4px;border:thin #008000 solid} +div.cell{width:100%;padding:5px 5px 5px 0;margin:0;outline:none} +div.prompt{min-width:11ex;padding:.4em;margin:0;font-family:monospace;text-align:right;line-height:1.21429em} +@media (max-width:480px){div.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} +div.input_area{border:1px solid #cfcfcf;border-radius:4px;background:#f7f7f7;line-height:1.21429em} +div.prompt:empty{padding-top:0;padding-bottom:0} +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;} +div.inner_cell{width:90%;} +div.input_area{border:1px solid #cfcfcf;border-radius:4px;background:#f7f7f7;} +div.input_prompt{color:navy;border-top:1px solid transparent;} +div.output_wrapper{margin-top:5px;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;width:100%;} +div.output_scroll{height:24em;width:100%;overflow:auto;border-radius:4px;-webkit-box-shadow:inset 0 2px 8px rgba(0, 0, 0, 0.8);-moz-box-shadow:inset 0 2px 8px rgba(0, 0, 0, 0.8);box-shadow:inset 0 2px 8px rgba(0, 0, 0, 0.8);} +div.output_collapsed{margin:0px;padding:0px;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;width:100%;} +div.out_prompt_overlay{height:100%;padding:0px 0.4em;position:absolute;border-radius:4px;} +div.out_prompt_overlay:hover{-webkit-box-shadow:inset 0 0 1px #000000;-moz-box-shadow:inset 0 0 1px #000000;box-shadow:inset 0 0 1px #000000;background:rgba(240, 240, 240, 0.5);} +div.output_prompt{color:darkred;} + +a.anchor-link:link{text-decoration:none;padding:0px 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;} +/* end stuff for output/input prompts*/ + + +.highlight-ipynb .hll { background-color: #ffffcc } +.highlight-ipynb { background: #f8f8f8; } +.highlight-ipynb .c { color: #408080; font-style: italic } /* Comment */ +.highlight-ipynb .err { border: 1px solid #FF0000 } /* Error */ +.highlight-ipynb .k { color: #008000; font-weight: bold } /* Keyword */ +.highlight-ipynb .o { color: #666666 } /* Operator */ +.highlight-ipynb .cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.highlight-ipynb .cp { color: #BC7A00 } /* Comment.Preproc */ +.highlight-ipynb .c1 { color: #408080; font-style: italic } /* Comment.Single */ +.highlight-ipynb .cs { color: #408080; font-style: italic } /* Comment.Special */ +.highlight-ipynb .gd { color: #A00000 } /* Generic.Deleted */ +.highlight-ipynb .ge { font-style: italic } /* Generic.Emph */ +.highlight-ipynb .gr { color: #FF0000 } /* Generic.Error */ +.highlight-ipynb .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight-ipynb .gi { color: #00A000 } /* Generic.Inserted */ +.highlight-ipynb .go { color: #888888 } /* Generic.Output */ +.highlight-ipynb .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.highlight-ipynb .gs { font-weight: bold } /* Generic.Strong */ +.highlight-ipynb .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight-ipynb .gt { color: #0044DD } /* Generic.Traceback */ +.highlight-ipynb .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.highlight-ipynb .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.highlight-ipynb .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.highlight-ipynb .kp { color: #008000 } /* Keyword.Pseudo */ +.highlight-ipynb .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.highlight-ipynb .kt { color: #B00040 } /* Keyword.Type */ +.highlight-ipynb .m { color: #666666 } /* Literal.Number */ +.highlight-ipynb .s { color: #BA2121 } /* Literal.String */ +.highlight-ipynb .na { color: #7D9029 } /* Name.Attribute */ +.highlight-ipynb .nb { color: #008000 } /* Name.Builtin */ +.highlight-ipynb .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.highlight-ipynb .no { color: #880000 } /* Name.Constant */ +.highlight-ipynb .nd { color: #AA22FF } /* Name.Decorator */ +.highlight-ipynb .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight-ipynb .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.highlight-ipynb .nf { color: #0000FF } /* Name.Function */ +.highlight-ipynb .nl { color: #A0A000 } /* Name.Label */ +.highlight-ipynb .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.highlight-ipynb .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.highlight-ipynb .nv { color: #19177C } /* Name.Variable */ +.highlight-ipynb .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.highlight-ipynb .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight-ipynb .mf { color: #666666 } /* Literal.Number.Float */ +.highlight-ipynb .mh { color: #666666 } /* Literal.Number.Hex */ +.highlight-ipynb .mi { color: #666666 } /* Literal.Number.Integer */ +.highlight-ipynb .mo { color: #666666 } /* Literal.Number.Oct */ +.highlight-ipynb .sb { color: #BA2121 } /* Literal.String.Backtick */ +.highlight-ipynb .sc { color: #BA2121 } /* Literal.String.Char */ +.highlight-ipynb .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.highlight-ipynb .s2 { color: #BA2121 } /* Literal.String.Double */ +.highlight-ipynb .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.highlight-ipynb .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.highlight-ipynb .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.highlight-ipynb .sx { color: #008000 } /* Literal.String.Other */ +.highlight-ipynb .sr { color: #BB6688 } /* Literal.String.Regex */ +.highlight-ipynb .s1 { color: #BA2121 } /* Literal.String.Single */ +.highlight-ipynb .ss { color: #19177C } /* Literal.String.Symbol */ +.highlight-ipynb .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.highlight-ipynb .vc { color: #19177C } /* Name.Variable.Class */ +.highlight-ipynb .vg { color: #19177C } /* Name.Variable.Global */ +.highlight-ipynb .vi { color: #19177C } /* Name.Variable.Instance */ +.highlight-ipynb .il { color: #666666 } /* Literal.Number.Integer.Long */ +</style> + +<style type="text/css"> +/* Overrides of notebook CSS for static HTML export */ +div.entry-content { + overflow: visible; + padding: 8px; +} +.input_area { + padding: 0.2em; +} + +a.heading-anchor { + white-space: normal; +} + +.rendered_html +code { + font-size: .8em; +} + +pre.ipynb { + color: black; + background: #f7f7f7; + border: none; + box-shadow: none; + margin-bottom: 0; + padding: 0; + margin: 0px; + font-size: 13px; +} + +/* remove the prompt div from text cells */ +div.text_cell .prompt { + display: none; +} + +/* remove horizontal padding from text cells, */ +/* so it aligns with outer body text */ +div.text_cell_render { + padding: 0.5em 0em; +} + +img.anim_icon{padding:0; border:0; vertical-align:middle; -webkit-box-shadow:none; -box-shadow:none} +</style> + +<script src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS_HTML" type="text/javascript"></script> +<script type="text/javascript"> +init_mathjax = function() { + if (window.MathJax) { + // MathJax loaded + MathJax.Hub.Config({ + tex2jax: { + inlineMath: [ ['$','$'], ["\\(","\\)"] ], + displayMath: [ ['$$','$$'], ["\\[","\\]"] ] + }, + displayAlign: 'left', // Change this to 'center' to center equations. + "HTML-CSS": { + styles: {'.MathJax_Display': {"margin": 0}} + } + }); + MathJax.Hub.Queue(["Typeset",MathJax.Hub]); + } +} +init_mathjax(); +</script> diff --git a/themes/lv2/templates/includes/pagination.html b/themes/lv2/templates/includes/pagination.html new file mode 100644 index 0000000..2627bb1 --- /dev/null +++ b/themes/lv2/templates/includes/pagination.html @@ -0,0 +1,38 @@ +{% if articles_page and articles_paginator.num_pages > 1 %} + {% if USE_PAGER %} + <ul class="pager"> + {% if articles_page.has_previous() %} + <li class="previous"><a href="{{ SITEURL }}/{{ articles_previous_page.url }}">← Newer</a></li> + {% else %} + <li class="previous disabled"><a href="#">← Newer</a></li> + {% endif %} + {% if articles_page.has_next() %} + <li class="next"><a + href="{{ SITEURL }}/{{ articles_next_page.url }}">Older →</a></li> + {% else %} + <li class="next disabled"><a href="#">Older →</a></li> + {% endif %} + </ul> + {% else %} + <ul class="pagination"> + {% if articles_page.has_previous() %} + {% set num = articles_page.previous_page_number() %} + <li class="prev"><a href="{{ SITEURL }}/{{ articles_previous_page.url }}">«</a> + </li> + {% else %} + <li class="prev disabled"><a href="#">«</a></li> + {% endif %} + {% for num in range( 1, 1 + articles_paginator.num_pages ) %} + {% set page = articles_paginator.page(num) %} + <li class="{{ 'active' if num == articles_page.number else '' }}"><a + href="{{ SITEURL }}/{{ page.url }}">{{ num }}</a></li> + {% endfor %} + {% if articles_page.has_next() %} + <li class="next"><a + href="{{ SITEURL }}/{{ articles_next_page.url }}">»</a></li> + {% else %} + <li class="next disabled"><a href="#">»</a></li> + {% endif %} + </ul> + {% endif %} +{% endif %} diff --git a/themes/lv2/templates/includes/piwik.html b/themes/lv2/templates/includes/piwik.html new file mode 100644 index 0000000..a386f2d --- /dev/null +++ b/themes/lv2/templates/includes/piwik.html @@ -0,0 +1,20 @@ +{% if PIWIK_SITE_ID and PIWIK_URL %} + {% if PIWIK_SSL_URL is not defined %} + {% set PIWIK_SSL_URL = PIWIK_URL %} + {% endif %} + <!-- Piwik --> + <script type="text/javascript"> + var _paq = _paq || []; + _paq.push(["trackPageView"]); + _paq.push(["enableLinkTracking"]); + + (function() { + var u=(("https:" == document.location.protocol) ? "https://{{ PIWIK_SSL_URL }}/" : "http://{{ PIWIK_URL }}/"); + _paq.push(["setTrackerUrl", u+"piwik.php"]); + _paq.push(["setSiteId", "{{ PIWIK_SITE_ID }}"]); + var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript"; + g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s); + })(); + </script> + <!-- End Piwik Code --> +{% endif %}
\ No newline at end of file diff --git a/themes/lv2/templates/includes/related-posts.html b/themes/lv2/templates/includes/related-posts.html new file mode 100644 index 0000000..70a56f3 --- /dev/null +++ b/themes/lv2/templates/includes/related-posts.html @@ -0,0 +1,10 @@ +{% if article.related_posts %} +<section class="well" id="related-posts"> + <h4>{{ RELATED_POSTS_TEXT|default('Related Posts:') }}</h4> + <ul> + {% for related_post in article.related_posts %} + <li><a href="{{ SITEURL }}/{{ related_post.url }}">{{ related_post.title }}</a></li> + {% endfor %} + </ul> +</section> +{% endif %} diff --git a/themes/lv2/templates/includes/series.html b/themes/lv2/templates/includes/series.html new file mode 100644 index 0000000..24729a2 --- /dev/null +++ b/themes/lv2/templates/includes/series.html @@ -0,0 +1,22 @@ +{% if article.series %} +<section class="well" id="related-posts"> + {% set text = SERIES_TEXT|default('Part %(index)s of the %(name)s series') %} + <h4>{{ text|format(index=article.series.index, name=article.series.name) }}</h4> + {% if article.series.all_previous %} + <h5>Previous articles</h5> + <ul> + {% for article in article.series.all_previous %} + <li><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></li> + {% endfor %} + </ul> + {% endif %} + {% if article.series.all_next %} + <h5>Next articles</h5> + <ul> + {% for article in article.series.all_next %} + <li><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></li> + {% endfor %} + </ul> + {% endif %} +</section> +{% endif %} diff --git a/themes/lv2/templates/includes/sidebar.html b/themes/lv2/templates/includes/sidebar.html new file mode 100644 index 0000000..35811f6 --- /dev/null +++ b/themes/lv2/templates/includes/sidebar.html @@ -0,0 +1,104 @@ +{% if DISPLAY_TAGS_ON_SIDEBAR is not defined %} + {% set DISPLAY_TAGS_ON_SIDEBAR = True %} +{% endif %} + +<aside> + <section> + <ul class="list-group list-group-flush"> + {% if SOCIAL %} + <li class="list-group-item"><h4><i class="fa fa-home fa-lg"></i><span class="icon-label">Social</span></h4> + <ul class="list-group" id="social"> + {% for name, link in SOCIAL %} + {% set name_sanitized = name|lower|replace('+','-plus')|replace(' ','-') %} + {% if name_sanitized in ['flickr', 'spotify', 'stack-overflow'] %} + {% set iconattributes = '"fa fa-' ~ name_sanitized ~ ' fa-lg"' %} + {% else %} + {% set iconattributes = '"fa fa-' ~ name_sanitized ~ '-square fa-lg"' %} + {% endif %} + <li class="list-group-item"><a href="{{ link }}"><i class={{ iconattributes }}></i> {{ name }}</a></li> + {% endfor %} + </ul> + </li> + {% endif %} + + {% if DISPLAY_RECENT_POSTS_ON_SIDEBAR %} + {% if RECENT_POST_COUNT is not defined %} + {% set RECENT_POST_COUNT = 5 %} + {% endif %} + <li class="list-group-item"><h4><i class="fa fa-home fa-lg"></i><span class="icon-label">Recent Posts</span></h4> + <ul class="list-group" id="recentposts"> + {% for article in articles[:RECENT_POST_COUNT] %} + <li class="list-group-item"> + <a href="{{ SITEURL }}/{{ article.url }}"> + {{ article.title }} + </a> + </li> + {% endfor %} + </ul> + </li> + {% endif %} + + {% if DISPLAY_CATEGORIES_ON_SIDEBAR %} + <li class="list-group-item"><a href="{{ SITEURL }}/{{ CATEGORIES_URL }}"><h4><i class="fa fa-home fa-lg"></i><span class="icon-label">Categories</span></h4></a> + <ul class="list-group" id="categories"> + {% for cat, null in categories %} + <li class="list-group-item"> + <a href="{{ SITEURL }}/{{ cat.url }}"> + <i class="fa fa-folder-open fa-lg"></i> {{ cat }} + </a> + </li> + {% endfor %} + </ul> + </li> + {% endif %} + + {% if DISPLAY_TAGS_ON_SIDEBAR %} + {% if DISPLAY_TAGS_INLINE %} + {% set tags = tag_cloud | sort(attribute='0') %} + {% else %} + {% set tags = tag_cloud | sort(attribute='1') %} + {% endif %} + <li class="list-group-item"><a href="{{ SITEURL }}/{{ TAGS_URL }}"><h4><i class="fa fa-tags fa-lg"></i><span class="icon-label">Tags</span></h4></a> + <ul class="list-group {% if DISPLAY_TAGS_INLINE %}list-inline tagcloud{% endif %}" id="tags"> + {% for tag in tags %} + <li class="list-group-item tag-{{ tag.1 }}"> + <a href="{{ SITEURL }}/{{ tag.0.url }}"> + {{ tag.0 }} + </a> + </li> + {% endfor %} + </ul> + </li> + {% endif %} + + {% if DISPLAY_SERIES_ON_SIDEBAR %} + {% if article %} + {% if article.series %} + <li class="list-group-item"><h4><i class="fa fa-tags fa-list-ul"></i><span class="icon-label">Series</span></h4> + <ul class="list-group"> + <li class="list-group-item"> + {% if article.series.previous %} + <h5></i> Previous article</h5> + <a href="{{ SITEURL }}/{{ article.series.previous.url }}">{{ article.series.previous.title }}</a> + {% endif %} + </li> + <li class="list-group-item"> + {% if article.series.next %} + <h5>Next article</h5> + <a href="{{ SITEURL }}/{{ article.series.next.url }}">{{ article.series.next.title }}</a> + {% endif %} + </li> + </ul> + </li> + {% endif%} + {% endif %} + {% endif %} + + {% include 'includes/github.html' %} + {% include 'includes/twitter_timeline.html' %} + {% include 'includes/links.html' %} + + </ul> + </section> + +</aside> diff --git a/themes/lv2/templates/includes/taglist.html b/themes/lv2/templates/includes/taglist.html new file mode 100644 index 0000000..bcaa470 --- /dev/null +++ b/themes/lv2/templates/includes/taglist.html @@ -0,0 +1,9 @@ +{% if article.tags %} +<span class="label label-default">Tags</span> +{% for tag in article.tags %} + <a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> + {% if not loop.last %} + / + {% endif %} +{% endfor %} +{% endif %} diff --git a/themes/lv2/templates/includes/translations.html b/themes/lv2/templates/includes/translations.html new file mode 100644 index 0000000..ea693df --- /dev/null +++ b/themes/lv2/templates/includes/translations.html @@ -0,0 +1,8 @@ +{% macro translations_for(article) %} +{% if article.translations %} +<span class="label label-default">Lang</span> +{% for translation in article.translations %} + <a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a> +{% endfor %} +{% endif %} +{% endmacro %}
\ No newline at end of file diff --git a/themes/lv2/templates/includes/twitter_cards.html b/themes/lv2/templates/includes/twitter_cards.html new file mode 100644 index 0000000..3145915 --- /dev/null +++ b/themes/lv2/templates/includes/twitter_cards.html @@ -0,0 +1,27 @@ +{% if TWITTER_CARDS and USE_OPEN_GRAPH %} + {# Do not include duplicates tag with og ones. #} + {# Twitter is able to infer them from og. #} + <meta name="twitter:card" content="summary"> + {% if TWITTER_USERNAME %} + <meta name="twitter:site" content="@{{ TWITTER_USERNAME }}"> + <meta name="twitter:creator" content="@{{ TWITTER_USERNAME }}"> + {% endif %} + <meta name="twitter:domain" content="{{ SITEURL }}"> + {% if article %} + {% if article.og_image %} + <meta property="twitter:image" + content="{{ SITEURL }}/{{ article.og_image }}"/> + {% elif OPEN_GRAPH_IMAGE %} + <meta property="twitter:image" + content="{{ SITEURL }}/{{ OPEN_GRAPH_IMAGE }}"/> + {% endif %} + {% elif page %} + {% if page.og_image %} + <meta property="twitter:image" + content="{{ SITEURL }}/{{ page.og_image }}"/> + {% elif OPEN_GRAPH_IMAGE %} + <meta property="twitter:image" + content="{{ SITEURL }}/{{ OPEN_GRAPH_IMAGE }}"/> + {% endif %} + {% endif %} +{% endif %} diff --git a/themes/lv2/templates/includes/twitter_timeline.html b/themes/lv2/templates/includes/twitter_timeline.html new file mode 100644 index 0000000..ad1ce5d --- /dev/null +++ b/themes/lv2/templates/includes/twitter_timeline.html @@ -0,0 +1,10 @@ +{% if TWITTER_WIDGET_ID %} + + <li class="list-group-item"><h4><i class="fa fa-twitter fa-lg"></i><span class="icon-label">Latest Tweets</span></h4></li> + <div id="twitter_timeline"> + <a class="twitter-timeline" data-chrome="noheader" href="https://twitter.com/{{ TWITTER_USERNAME }}" data-widget-id="{{TWITTER_WIDGET_ID}}">Tweets by {{TWITTER_USERNAME}}</a> + </div> + +<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script> + +{% endif %}
\ No newline at end of file diff --git a/themes/lv2/templates/index.html b/themes/lv2/templates/index.html new file mode 100644 index 0000000..29ba7d6 --- /dev/null +++ b/themes/lv2/templates/index.html @@ -0,0 +1,4 @@ +{% extends "article_list.html" %} + +{% block canonical_rel %}<link rel="canonical" href="{{ SITEURL }}">{% endblock %} + diff --git a/themes/lv2/templates/page.html b/themes/lv2/templates/page.html new file mode 100644 index 0000000..f8757fa --- /dev/null +++ b/themes/lv2/templates/page.html @@ -0,0 +1,64 @@ +{% extends "base.html" %} +{% block title %}{{ page.title }} - {{ SITENAME }}{% endblock %} +{% block html_lang %}{{ page.lang }}{% endblock %} +{% block meta %} + {% if page.author %} + <meta name="author" content="{{ page.author }}" /> + {% else %} + <meta name="author" content="{{ AUTHOR }}" /> + {% endif %} + {% if page.summary %} + <meta name="description" content="{{ page.summary|striptags|escape }}" /> + {% endif %} +{% endblock %} +{% block opengraph %} + {% if OPEN_GRAPH_FB_APP_ID %} + <meta property="fb:app_id" content="{{ OPEN_GRAPH_FB_APP_ID }}"/> + {% endif %} + <meta property="og:site_name" content="{{ SITENAME }}" /> + <meta property="og:type" content="article"/> + <meta property="og:title" content="{{ page.title|striptags|escape }}"/> + <meta property="og:url" content="{{ SITEURL }}/{{ page.url }}"/> + <meta property="og:description" content="{{ page.summary|striptags|escape }}" /> + {% if page.og_image %} + <meta property="og:image" + content="{{ SITEURL }}/{{ page.og_image }}"/> + {% elif OPEN_GRAPH_IMAGE %} + <meta property="og:image" + content="{{ SITEURL }}/{{ OPEN_GRAPH_IMAGE }}"/> + {% endif %} +{% endblock %} + +{% block canonical_rel %} +<link rel="canonical" href="{{ SITEURL }}/{{ page.url }}"> +{% endblock %} + +{% block breadcrumbs %} + {% if DISPLAY_BREADCRUMBS %} + <ol class="breadcrumb"> + <li><a href="{{ SITEURL }}" title="{{ SITENAME }}"><i class="fa fa-home fa-lg"></i></a></li> + {% if page.url %} + <li class="active">{{ page.title }}</li> + {% endif %} + </ol> + {% endif %} +{% endblock %} + +{% block content %} + <section id="content" class="body"> + <h1 class="entry-title">{{ page.title }}</h1> + {% import 'includes/translations.html' as translations with context %} + {{ translations.translations_for(page) }} + {% if PDF_PROCESSOR %} + <a href="{{ SITEURL }}/pdf/{{ page.slug }}.pdf"> + get the pdf + </a> + {% endif %} + <div class="entry-content"> + {{ page.content }} + {% if page.comments == 'enabled' %} + {% include 'includes/comments.html' %} + {% endif %} + </div> + </section> +{% endblock %} diff --git a/themes/lv2/templates/tag.html b/themes/lv2/templates/tag.html new file mode 100644 index 0000000..aa9edc8 --- /dev/null +++ b/themes/lv2/templates/tag.html @@ -0,0 +1,15 @@ +{% extends "article_list.html" %} +{% block title %}{{ tag }} - {{ SITENAME }}{% endblock %} +{% block meta %} + <meta name="author" content="{{ AUTHOR }}" /> + <meta name="keywords" content="{{ tag }}" /> +{% endblock %} +{% block breadcrumbs %} + {% if DISPLAY_BREADCRUMBS %} + <ol class="breadcrumb"> + <li><a href="{{ SITEURL }}" title="{{ SITENAME }}"><i class="fa fa-home fa-lg"></i></a></li> + <li><a href="{{ SITEURL }}/{{ TAGS_URL }}" title="Tags">Tags</a></li> + <li class="active">{{ tag }}</li> + </ol> + {% endif %} +{% endblock %} diff --git a/themes/lv2/templates/tags.html b/themes/lv2/templates/tags.html new file mode 100644 index 0000000..3f29a36 --- /dev/null +++ b/themes/lv2/templates/tags.html @@ -0,0 +1,37 @@ +{% extends "base.html" %} + +{% block title %}Tags - {{ SITENAME }}{% endblock %} + +{% block breadcrumbs %} + {% if DISPLAY_BREADCRUMBS %} + <ol class="breadcrumb"> + <li><a href="{{ SITEURL }}" title="{{ SITENAME }}"><i class="fa fa-home fa-lg"></i></a></li> + <li class="active">Tags</li> + </ol> + {% endif %} +{% endblock %} + +{% block content %} + <section id="tags"> + <h1>Tags for {{ SITENAME }}</h1> + <div class="panel-group" id="accordion"> + {%- for tag, articles in tags|sort %} + <div class="panel panel-default"> + <div class="panel-heading"> + <h4 class="panel-title"> + <a data-toggle="collapse" data-parent="#accordion" href="#collapse-{{tag.slug}}">{{ tag }} <span class="badge pull-right">{{ articles|count }}</span></a> + </h4> + </div> + <div id="collapse-{{tag.slug}}" class="panel-collapse collapse"> + <div class="panel-body"> + {% for article in articles %} + <p><span class="categories-timestamp"><time datetime="{{ article.date.isoformat() }}">{{ article.locale_date }}</time></span> <a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></p> + {% endfor %} + </div> + </div> + </div> + {% endfor %} + </div> + + </section> +{% endblock %} |