summaryrefslogtreecommitdiffstats
path: root/nikola/data/themes/bootstrap3/templates
diff options
context:
space:
mode:
Diffstat (limited to 'nikola/data/themes/bootstrap3/templates')
-rw-r--r--nikola/data/themes/bootstrap3/templates/base.tmpl88
-rw-r--r--nikola/data/themes/bootstrap3/templates/base_helper.tmpl165
-rw-r--r--nikola/data/themes/bootstrap3/templates/gallery.tmpl94
-rw-r--r--nikola/data/themes/bootstrap3/templates/listing.tmpl28
-rw-r--r--nikola/data/themes/bootstrap3/templates/slides.tmpl24
5 files changed, 399 insertions, 0 deletions
diff --git a/nikola/data/themes/bootstrap3/templates/base.tmpl b/nikola/data/themes/bootstrap3/templates/base.tmpl
new file mode 100644
index 0000000..c463873
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/templates/base.tmpl
@@ -0,0 +1,88 @@
+## -*- coding: utf-8 -*-
+<%namespace name="base" file="base_helper.tmpl" import="*" />
+<%namespace name="notes" file="annotation_helper.tmpl" import="*" />
+${set_locale(lang)}
+${base.html_headstart()}
+<%block name="extra_head">
+### Leave this block alone.
+</%block>
+${template_hooks['extra_head']()}
+</head>
+<body>
+<a href="#content" class="sr-only sr-only-focusable">${messages("Skip to main content")}</a>
+
+<!-- Menubar -->
+
+<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container"><!-- This keeps the margins nice -->
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="${abs_link('/')}">
+ %if logo_url:
+ <img src="${logo_url}" alt="${blog_title}" id="logo">
+ %endif
+
+ % if show_blog_title:
+ <span id="blog-title">${blog_title}</span>
+ % endif
+ </a>
+ </div><!-- /.navbar-header -->
+ <div class="collapse navbar-collapse navbar-ex1-collapse">
+ <ul class="nav navbar-nav">
+ ${base.html_navigation_links()}
+ ${template_hooks['menu']()}
+ </ul>
+ %if search_form:
+ ${search_form}
+ %endif
+
+ <ul class="nav navbar-nav navbar-right">
+ <%block name="belowtitle">
+ %if len(translations) > 1:
+ <li>${base.html_translations()}</li>
+ %endif
+ </%block>
+ % if show_sourcelink:
+ <%block name="sourcelink"></%block>
+ %endif
+ ${template_hooks['menu_alt']()}
+ </ul>
+ </div><!-- /.navbar-collapse -->
+ </div><!-- /.container -->
+</nav>
+
+<!-- End of Menubar -->
+
+<div class="container" id="content">
+ <div class="body-content">
+ <!--Body content-->
+ <div class="row">
+ ${template_hooks['page_header']()}
+ <%block name="content"></%block>
+ </div>
+ <!--End of body content-->
+
+ <footer>
+ ${content_footer}
+ ${template_hooks['page_footer']()}
+ </footer>
+ </div>
+</div>
+
+${base.late_load_js()}
+ <script>jQuery("a.image-reference").colorbox({rel:"gal",maxWidth:"100%",maxHeight:"100%",scalePhotos:true});</script>
+ <%block name="extra_js"></%block>
+ % if annotations and post and not post.meta('noannotations'):
+ ${notes.code()}
+ % elif not annotations and post and post.meta('annotations'):
+ ${notes.code()}
+ % endif
+${body_end}
+${template_hooks['body_end']()}
+</body>
+</html>
diff --git a/nikola/data/themes/bootstrap3/templates/base_helper.tmpl b/nikola/data/themes/bootstrap3/templates/base_helper.tmpl
new file mode 100644
index 0000000..096c3c2
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/templates/base_helper.tmpl
@@ -0,0 +1,165 @@
+## -*- coding: utf-8 -*-
+
+<%def name="html_headstart()">
+<!DOCTYPE html>
+<html
+\
+% if use_open_graph or (twitter_card and twitter_card['use_twitter_cards']) or (comment_system == 'facebook'):
+prefix='\
+%if use_open_graph or (twitter_card and twitter_card['use_twitter_cards']):
+og: http://ogp.me/ns# \
+%endif
+%if use_open_graph:
+article: http://ogp.me/ns/article# \
+%endif
+%if comment_system == 'facebook':
+fb: http://ogp.me/ns/fb# \
+%endif
+'\
+%endif
+\
+% if is_rtl:
+dir="rtl" \
+% endif
+\
+lang="${lang}">
+ <head>
+ <meta charset="utf-8">
+ %if description:
+ <meta name="description" content="${description}">
+ %endif
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>${title|striphtml} | ${blog_title|striphtml}</title>
+
+ ${html_stylesheets()}
+ ${html_feedlinks()}
+ %if permalink:
+ <link rel="canonical" href="${abs_link(permalink)}">
+ %endif
+
+ %if favicons:
+ %for name, file, size in favicons:
+ <link rel="${name}" href="${file}" sizes="${size}"/>
+ %endfor
+ %endif
+
+ % if comment_system == 'facebook':
+ <meta property="fb:app_id" content="${comment_system_id}">
+ % endif
+
+ %if prevlink:
+ <link rel="prev" href="${prevlink}" type="text/html">
+ %endif
+ %if nextlink:
+ <link rel="next" href="${nextlink}" type="text/html">
+ %endif
+
+ ${mathjax_config}
+ %if use_cdn:
+ <!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
+ %else:
+ <!--[if lt IE 9]><script src="${url_replacer(permalink, '/assets/js/html5.js', lang)}"></script><![endif]-->
+ %endif
+
+ ${extra_head_data}
+</%def>
+
+<%def name="late_load_js()">
+ %if use_bundles:
+ %if use_cdn:
+ <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
+ <script src="/assets/js/all.js"></script>
+ %else:
+ <script src="/assets/js/all-nocdn.js"></script>
+ %endif
+ %else:
+ %if use_cdn:
+ <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
+ %else:
+ <script src="/assets/js/jquery.min.js"></script>
+ <script src="/assets/js/bootstrap.min.js"></script>
+ %endif
+ <script src="/assets/js/jquery.colorbox-min.js"></script>
+ %endif
+ %if colorbox_locales[lang]:
+ <script src="/assets/js/colorbox-i18n/jquery.colorbox-${colorbox_locales[lang]}.js"></script>
+ %endif
+ ${social_buttons_code}
+</%def>
+
+
+<%def name="html_stylesheets()">
+ %if use_bundles:
+ %if use_cdn:
+ <link href="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
+ <link href="/assets/css/all.css" rel="stylesheet" type="text/css">
+ %else:
+ <link href="/assets/css/all-nocdn.css" rel="stylesheet" type="text/css">
+ %endif
+ %else:
+ %if use_cdn:
+ <link href="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
+ %else:
+ <link href="/assets/css/bootstrap.min.css" rel="stylesheet" type="text/css">
+ %endif
+ <link href="/assets/css/rst.css" rel="stylesheet" type="text/css">
+ <link href="/assets/css/code.css" rel="stylesheet" type="text/css">
+ <link href="/assets/css/colorbox.css" rel="stylesheet" type="text/css">
+ <link href="/assets/css/theme.css" rel="stylesheet" type="text/css">
+ %if has_custom_css:
+ <link href="/assets/css/custom.css" rel="stylesheet" type="text/css">
+ %endif
+ %endif
+ % if annotations and post and not post.meta('noannotations'):
+ ${notes.css()}
+ % elif not annotations and post and post.meta('annotations'):
+ ${notes.css()}
+ % endif
+</%def>
+
+<%def name="html_navigation_links()">
+ %for url, text in navigation_links[lang]:
+ % if isinstance(url, tuple):
+ <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">${text}<b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ %for suburl, text in url:
+ % if rel_link(permalink, suburl) == "#":
+ <li class="active"><a href="${permalink}">${text}</a>
+ %else:
+ <li><a href="${suburl}">${text}</a>
+ %endif
+ %endfor
+ </ul>
+ % else:
+ % if rel_link(permalink, url) == "#":
+ <li class="active"><a href="${permalink}">${text}</a>
+ %else:
+ <li><a href="${url}">${text}</a>
+ %endif
+ % endif
+ %endfor
+</%def>
+
+<%def name="html_feedlinks()">
+ %if rss_link:
+ ${rss_link}
+ %elif generate_rss:
+ %if len(translations) > 1:
+ %for language in translations:
+ <link rel="alternate" type="application/rss+xml" title="RSS (${language})" href="${_link('rss', None, language)}">
+ %endfor
+ %else:
+ <link rel="alternate" type="application/rss+xml" title="RSS" href="${_link('rss', None)}">
+ %endif
+ %endif
+</%def>
+
+<%def name="html_translations()">
+ %for langname in translations.keys():
+ %if langname != lang:
+ <li><a href="${_link("index", None, langname)}" rel="alternate" hreflang="${langname}">${messages("LANGUAGE", langname)}</a></li>
+ %endif
+ %endfor
+</%def>
diff --git a/nikola/data/themes/bootstrap3/templates/gallery.tmpl b/nikola/data/themes/bootstrap3/templates/gallery.tmpl
new file mode 100644
index 0000000..26fe80d
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/templates/gallery.tmpl
@@ -0,0 +1,94 @@
+## -*- coding: utf-8 -*-
+<%inherit file="base.tmpl"/>
+<%namespace name="comments" file="comments_helper.tmpl"/>
+<%namespace name="ui" file="crumbs.tmpl" import="bar"/>
+<%block name="sourcelink"></%block>
+
+<%block name="content">
+ ${ui.bar(crumbs)}
+ %if title:
+ <h1>${title}</h1>
+ %endif
+ %if post:
+ <p>
+ ${post.text()}
+ </p>
+ %endif
+ %if folders:
+ <ul>
+ % for folder, ftitle in folders:
+ <li><a href="${folder}"><i class="glyphicon
+ glyphicon-folder-open"></i>&nbsp;${ftitle}</a></li>
+ % endfor
+ </ul>
+ %endif
+
+<div id="gallery_container"></div>
+%if photo_array:
+<noscript>
+<ul class="thumbnails">
+ %for image in photo_array:
+ <li><a href="${image['url']}" class="thumbnail image-reference" title="${image['title']}">
+ <img src="${image['url_thumb']}" alt="${image['title']}" /></a>
+ %endfor
+</ul>
+</noscript>
+%endif
+%if site_has_comments and enable_comments:
+${comments.comment_form(None, permalink, title)}
+%endif
+</%block>
+
+<%block name="extra_head">
+${parent.extra_head()}
+<style type="text/css">
+ .image-block {
+ display: inline-block;
+ }
+ .flowr_row {
+ width: 100%;
+ }
+ </style>
+</%block>
+
+
+<%block name="extra_js">
+<script src="/assets/js/flowr.plugin.js"></script>
+<script>
+jsonContent = ${photo_array_json};
+$("#gallery_container").flowr({
+ data : jsonContent,
+ height : ${thumbnail_size}*.6,
+ padding: 5,
+ rows: -1,
+ render : function(params) {
+ // Just return a div, string or a dom object, anything works fine
+ img = $("<img />").attr({
+ 'src': params.itemData.url_thumb,
+ 'width' : params.width,
+ 'height' : params.height
+ }).css('max-width', '100%');
+ link = $( "<a></a>").attr({
+ 'href': params.itemData.url,
+ 'class': 'image-reference'
+ });
+ div = $("<div />").addClass('image-block').attr({
+ 'title': params.itemData.title,
+ 'data-toggle': "tooltip",
+ });
+ link.append(img);
+ div.append(link);
+ div.hover(div.tooltip());
+ return div;
+ },
+ itemWidth : function(data) { return data.size.w; },
+ itemHeight : function(data) { return data.size.h; },
+ complete : function(params) {
+ if( jsonContent.length > params.renderedItems ) {
+ nextRenderList = jsonContent.slice( params.renderedItems );
+ }
+ }
+ });
+$("a.image-reference").colorbox({rel:"gal", maxWidth:"100%",maxHeight:"100%",scalePhotos:true});
+</script>
+</%block>
diff --git a/nikola/data/themes/bootstrap3/templates/listing.tmpl b/nikola/data/themes/bootstrap3/templates/listing.tmpl
new file mode 100644
index 0000000..7b09e3e
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/templates/listing.tmpl
@@ -0,0 +1,28 @@
+## -*- coding: utf-8 -*-
+<%inherit file="base.tmpl"/>
+<%namespace name="ui" file="crumbs.tmpl" import="bar"/>
+
+<%block name="content">
+${ui.bar(crumbs)}
+%if folders or files:
+<ul class="list-unstyled">
+% for name in folders:
+ <li><a href="${name}"><i class="glyphicon glyphicon-folder-open"></i> ${name}</a>
+% endfor
+% for name in files:
+ <li><a href="${name}.html"><i class="glyphicon glyphicon-file"></i> ${name}</a>
+% endfor
+</ul>
+%endif
+% if code:
+ ${code}
+% endif
+</%block>
+
+<%block name="sourcelink">
+% if source_link:
+ <li>
+ <a href="${source_link}" id="sourcelink">${messages("Source")}</a>
+ </li>
+% endif
+</%block>
diff --git a/nikola/data/themes/bootstrap3/templates/slides.tmpl b/nikola/data/themes/bootstrap3/templates/slides.tmpl
new file mode 100644
index 0000000..a73848a
--- /dev/null
+++ b/nikola/data/themes/bootstrap3/templates/slides.tmpl
@@ -0,0 +1,24 @@
+<%block name="content">
+<div id="${carousel_id}" class="carousel slide">
+ <ol class="carousel-indicators">
+ % for i in range(len(slides_content)):
+ % if i == 0:
+ <li data-target="#${carousel_id}" data-slide-to="${i}" class="active"></li>
+ % else:
+ <li data-target="#${carousel_id}" data-slide-to="${i}"></li>
+ % endif
+ % endfor
+ </ol>
+ <div class="carousel-inner">
+ % for i, image in enumerate(slides_content):
+ % if i == 0:
+ <div class="item active"><img src="${image}" alt="" style="margin: 0 auto 0 auto;"></div>
+ % else:
+ <div class="item"><img src="${image}" alt="" style="margin: 0 auto 0 auto;"></div>
+ % endif
+ % endfor
+ </div>
+ <a class="left carousel-control" href="#${carousel_id}" data-slide="prev"><span class="icon-prev"></span></a>
+ <a class="right carousel-control" href="#${carousel_id}" data-slide="next"><span class="icon-next"></span></a>
+</div>
+</%block>