summaryrefslogtreecommitdiffstats
path: root/nikola/data/themes/base/templates
diff options
context:
space:
mode:
Diffstat (limited to 'nikola/data/themes/base/templates')
-rw-r--r--nikola/data/themes/base/templates/base.tmpl52
-rw-r--r--nikola/data/themes/base/templates/base_footer.tmpl11
-rw-r--r--nikola/data/themes/base/templates/base_header.tmpl66
-rw-r--r--nikola/data/themes/base/templates/base_helper.tmpl120
-rw-r--r--nikola/data/themes/base/templates/comments_helper.tmpl26
-rw-r--r--nikola/data/themes/base/templates/comments_helper_disqus.tmpl (renamed from nikola/data/themes/base/templates/disqus_helper.tmpl)20
-rw-r--r--nikola/data/themes/base/templates/comments_helper_facebook.tmpl (renamed from nikola/data/themes/base/templates/facebook_helper.tmpl)0
-rw-r--r--nikola/data/themes/base/templates/comments_helper_googleplus.tmpl (renamed from nikola/data/themes/base/templates/googleplus_helper.tmpl)0
-rw-r--r--nikola/data/themes/base/templates/comments_helper_intensedebate.tmpl (renamed from nikola/data/themes/base/templates/intensedebate_helper.tmpl)4
-rw-r--r--nikola/data/themes/base/templates/comments_helper_isso.tmpl (renamed from nikola/data/themes/base/templates/isso_helper.tmpl)0
-rw-r--r--nikola/data/themes/base/templates/comments_helper_livefyre.tmpl (renamed from nikola/data/themes/base/templates/livefyre_helper.tmpl)12
-rw-r--r--nikola/data/themes/base/templates/comments_helper_mustache.tmpl (renamed from nikola/data/themes/base/templates/mustache-comment-form.tmpl)0
-rw-r--r--nikola/data/themes/base/templates/comments_helper_muut.tmpl (renamed from nikola/data/themes/base/templates/moot_helper.tmpl)4
-rw-r--r--nikola/data/themes/base/templates/crumbs.tmpl2
-rw-r--r--nikola/data/themes/base/templates/gallery.tmpl6
-rw-r--r--nikola/data/themes/base/templates/index.tmpl49
-rw-r--r--nikola/data/themes/base/templates/index_helper.tmpl13
-rw-r--r--nikola/data/themes/base/templates/list.tmpl25
-rw-r--r--nikola/data/themes/base/templates/list_post.tmpl25
-rw-r--r--nikola/data/themes/base/templates/listing.tmpl6
-rw-r--r--nikola/data/themes/base/templates/post.tmpl53
-rw-r--r--nikola/data/themes/base/templates/post_header.tmpl49
-rw-r--r--nikola/data/themes/base/templates/post_helper.tmpl63
-rw-r--r--nikola/data/themes/base/templates/post_list_directive.tmpl2
-rw-r--r--nikola/data/themes/base/templates/slides.tmpl6
-rw-r--r--nikola/data/themes/base/templates/story.tmpl37
-rw-r--r--nikola/data/themes/base/templates/tag.tmpl46
-rw-r--r--nikola/data/themes/base/templates/tags.tmpl13
28 files changed, 418 insertions, 292 deletions
diff --git a/nikola/data/themes/base/templates/base.tmpl b/nikola/data/themes/base/templates/base.tmpl
index 8a90349..f587593 100644
--- a/nikola/data/themes/base/templates/base.tmpl
+++ b/nikola/data/themes/base/templates/base.tmpl
@@ -1,45 +1,25 @@
## -*- coding: utf-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)}
-<!DOCTYPE html>
-<html
-%if comment_system == 'facebook':
-xmlns:fb="http://ogp.me/ns/fb#"
-%endif
-lang="${lang}">
-<head>
- ${base.html_head()}
- <%block name="extra_head">
- </%block>
- ${extra_head_data}
+${base.html_headstart()}
+<%block name="extra_head">
+### Leave this block alone.
+</%block>
+${template_hooks['extra_head']()}
</head>
<body>
- <h1 id="blog-title">
- <a href="${abs_link('/')}" title="${blog_title}" rel="home">${blog_title}</a>
- </h1>
- <%block name="belowtitle">
- %if len(translations) > 1:
- <small>
- ${messages("Also available in:")}&nbsp;
- ${base.html_translations()}
- </small>
- %endif
- </%block>
- <%block name="content"></%block>
- <small>${content_footer}</small>
- <!--Sidebar content-->
- <ul class="unstyled">
- %if license:
- <li>${license}
- %endif
- ${base.html_social()}
- ${base.html_navigation_links()}
- %if search_form:
- <li>${search_form}
- %endif
- </ul>
+ <div id="container">
+ ${header.html_header()}
+ <main id="content">
+ <%block name="content"></%block>
+ </main>
+ ${footer.html_footer()}
+ </div>
+ ${body_end}
+ ${template_hooks['body_end']()}
${base.late_load_js()}
- ${social_buttons_code}
</body>
</html>
diff --git a/nikola/data/themes/base/templates/base_footer.tmpl b/nikola/data/themes/base/templates/base_footer.tmpl
new file mode 100644
index 0000000..9a1c00f
--- /dev/null
+++ b/nikola/data/themes/base/templates/base_footer.tmpl
@@ -0,0 +1,11 @@
+## -*- coding: utf-8 -*-
+<%namespace name="base" file="base_helper.tmpl" import="*"/>
+
+<%def name="html_footer()">
+ %if content_footer:
+ <footer id="footer" role="contentinfo">
+ <p>${content_footer}</p>
+ ${template_hooks['page_footer']()}
+ </footer>
+ %endif
+</%def>
diff --git a/nikola/data/themes/base/templates/base_header.tmpl b/nikola/data/themes/base/templates/base_header.tmpl
new file mode 100644
index 0000000..0c6e12d
--- /dev/null
+++ b/nikola/data/themes/base/templates/base_header.tmpl
@@ -0,0 +1,66 @@
+## -*- coding: utf-8 -*-
+<%namespace name="base" file="base_helper.tmpl" import="*"/>
+
+<%def name="html_header()">
+ <header id="header" role="banner">
+ ${html_site_title()}
+ ${html_translation_header()}
+ ${html_navigation_links()}
+ %if search_form:
+ <div class="searchform" role="search">
+ ${search_form}
+ </div>
+ %endif
+ </header>
+ ${template_hooks['page_header']()}
+</%def>
+
+<%def name="html_site_title()">
+ <h1 id="brand"><a href="${abs_link('/')}" title="${blog_title}" rel="home">
+ %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></h1>
+</%def>
+
+<%def name="html_navigation_links()">
+ <nav id="menu" role="navigation">
+ <ul>
+ %for url, text in navigation_links[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}</a></li>
+ %else:
+ <li><a href="${suburl}">${text}</a></li>
+ %endif
+ %endfor
+ </ul>
+ % else:
+ % if rel_link(permalink, url) == "#":
+ <li class="active"><a href="${permalink}">${text}</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()">
+ %if len(translations) > 1:
+ <div id="toptranslations">
+ <h2>${messages("Languages:")}</h2>
+ ${base.html_translations()}
+ </div>
+ %endif
+</%def>
diff --git a/nikola/data/themes/base/templates/base_helper.tmpl b/nikola/data/themes/base/templates/base_helper.tmpl
index 501c06e..beeff99 100644
--- a/nikola/data/themes/base/templates/base_helper.tmpl
+++ b/nikola/data/themes/base/templates/base_helper.tmpl
@@ -1,12 +1,67 @@
## -*- coding: utf-8 -*-
-<%def name="html_head()">
+
+<%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="author" content="${blog_author}">
+ <meta name="viewport" content="width=device-width">
<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
+
${mathjax_config}
+ %if use_cdn:
+ <!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
+ %else:
+ <!--[if lt IE 9]><script src="/assets/js/html5.js"></script><![endif]-->
+ %endif
+
+ ${extra_head_data}
+</%def>
+
+<%def name="late_load_js()">
+ ${social_buttons_code}
+</%def>
+
+<%def name="html_stylesheets()">
%if use_bundles:
%if use_cdn:
<link href="/assets/css/all.css" rel="stylesheet" type="text/css">
@@ -16,20 +71,17 @@
%else:
<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/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 permalink:
- <link rel="canonical" href="${abs_link(permalink)}">
- %endif
- <!--[if lt IE 9]>
- <script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
- <![endif]-->
+</%def>
+
+<%def name="html_feedlinks()">
%if rss_link:
${rss_link}
- %else:
+ %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)}">
@@ -38,56 +90,14 @@
<link rel="alternate" type="application/rss+xml" title="RSS" href="${_link('rss', None)}">
%endif
%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
</%def>
-<%def name="late_load_js()">
-</%def>
-
-<%def name="html_social()">
- ${social_buttons_code}
-</%def>
-
-<!--FIXME: remove in v7 -->
-<%def name="html_sidebar_links()">
- ${html_navigation_links()}
-</%def>
-
-<%def name="html_navigation_links()">
- %for url, text in navigation_links[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}</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_translations()">
+ <ul class="translations">
%for langname in translations.keys():
%if langname != lang:
- <a href="${_link("index", None, langname)}" rel="alternate" hreflang="${langname}">${messages("LANGUAGE", langname)}</a>
+ <li><a href="${_link("index", None, langname)}" rel="alternate" hreflang="${langname}">${messages("LANGUAGE", langname)}</a></li>
%endif
%endfor
+ </ul>
</%def>
diff --git a/nikola/data/themes/base/templates/comments_helper.tmpl b/nikola/data/themes/base/templates/comments_helper.tmpl
index d3a2704..1459888 100644
--- a/nikola/data/themes/base/templates/comments_helper.tmpl
+++ b/nikola/data/themes/base/templates/comments_helper.tmpl
@@ -1,12 +1,12 @@
## -*- coding: utf-8 -*-
-<%namespace name="disqus" file="disqus_helper.tmpl"/>
-<%namespace name="livefyre" file="livefyre_helper.tmpl"/>
-<%namespace name="intensedebate" file="intensedebate_helper.tmpl"/>
-<%namespace name="moot" file="moot_helper.tmpl"/>
-<%namespace name="googleplus" file="googleplus_helper.tmpl"/>
-<%namespace name="facebook" file="facebook_helper.tmpl"/>
-<%namespace name="isso" file="isso_helper.tmpl"/>
+<%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"/>
<%def name="comment_form(url, title, identifier)">
%if comment_system == 'disqus':
@@ -15,8 +15,8 @@
${livefyre.comment_form(url, title, identifier)}
% elif comment_system == 'intensedebate':
${intensedebate.comment_form(url, title, identifier)}
- % elif comment_system == 'moot':
- ${moot.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':
@@ -33,8 +33,8 @@
${livefyre.comment_link(link, identifier)}
% elif comment_system == 'intensedebate':
${intensedebate.comment_link(link, identifier)}
- % elif comment_system == 'moot':
- ${moot.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':
@@ -51,8 +51,8 @@
${livefyre.comment_link_script()}
% elif comment_system == 'intensedebate':
${intensedebate.comment_link_script()}
- % elif comment_system == 'moot':
- ${moot.comment_link_script()}
+ % elif comment_system == 'muut':
+ ${muut.comment_link_script()}
% elif comment_system == 'googleplus':
${googleplus.comment_link_script()}
% elif comment_system == 'facebook':
diff --git a/nikola/data/themes/base/templates/disqus_helper.tmpl b/nikola/data/themes/base/templates/comments_helper_disqus.tmpl
index 74187b0..8a94eaf 100644
--- a/nikola/data/themes/base/templates/disqus_helper.tmpl
+++ b/nikola/data/themes/base/templates/comments_helper_disqus.tmpl
@@ -25,15 +25,14 @@
(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" rel="nofollow">comments powered by Disqus.</a></noscript>
- <a href="http://disqus.com" class="dsq-brlink" rel="nofollow">Comments powered by <span class="logo-disqus">Disqus</span></a>
+ <noscript>Please enable JavaScript to view the <a href="//disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
+ <a href="//disqus.com" class="dsq-brlink" rel="nofollow">Comments powered by <span class="logo-disqus">Disqus</span></a>
%endif
</%def>
<%def name="comment_link(link, identifier)">
- <p>
%if comment_system_id:
- <a href="${link}#disqus_thread" data-disqus-identifier="${identifier}">Comments</a>
+ <a href="${link}#disqus_thread" data-disqus-identifier="${identifier}">Comments</a>
%endif
</%def>
@@ -43,16 +42,3 @@
<script>var disqus_shortname="${comment_system_id}";(function(){var a=document.createElement("script");a.async=true;a.src="//"+disqus_shortname+".disqus.com/count.js";(document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0]).appendChild(a)}());</script>
%endif
</%def>
-
-## FIXME: remove aliases in v7
-<%def name="html_disqus(url, title, identifier)">
- ${comment_form(url, title, identifier)}
-</%def>
-
-<%def name="html_disqus_link(link, identifier)">
- ${comment_link(link, identifier)}
-</%def>
-
-<%def name="html_disqus_script()">
- ${comment_link_script()}
-</%def>
diff --git a/nikola/data/themes/base/templates/facebook_helper.tmpl b/nikola/data/themes/base/templates/comments_helper_facebook.tmpl
index d6059a1..d6059a1 100644
--- a/nikola/data/themes/base/templates/facebook_helper.tmpl
+++ b/nikola/data/themes/base/templates/comments_helper_facebook.tmpl
diff --git a/nikola/data/themes/base/templates/googleplus_helper.tmpl b/nikola/data/themes/base/templates/comments_helper_googleplus.tmpl
index 5a5c4d7..5a5c4d7 100644
--- a/nikola/data/themes/base/templates/googleplus_helper.tmpl
+++ b/nikola/data/themes/base/templates/comments_helper_googleplus.tmpl
diff --git a/nikola/data/themes/base/templates/intensedebate_helper.tmpl b/nikola/data/themes/base/templates/comments_helper_intensedebate.tmpl
index 6462f74..c47b6c7 100644
--- a/nikola/data/themes/base/templates/intensedebate_helper.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 type='text/javascript' src='http://www.intensedebate.com/js/genericCommentWrapperV2.js'></script>
+<script src='http://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 type="text/javascript" src="http://www.intensedebate.com/js/genericLinkWrapperV2.js"></script>
+<script src="http://www.intensedebate.com/js/genericLinkWrapperV2.js"></script>
</a>
</%def>
diff --git a/nikola/data/themes/base/templates/isso_helper.tmpl b/nikola/data/themes/base/templates/comments_helper_isso.tmpl
index 8dc95f5..8dc95f5 100644
--- a/nikola/data/themes/base/templates/isso_helper.tmpl
+++ b/nikola/data/themes/base/templates/comments_helper_isso.tmpl
diff --git a/nikola/data/themes/base/templates/livefyre_helper.tmpl b/nikola/data/themes/base/templates/comments_helper_livefyre.tmpl
index 6916459..68d99e5 100644
--- a/nikola/data/themes/base/templates/livefyre_helper.tmpl
+++ b/nikola/data/themes/base/templates/comments_helper_livefyre.tmpl
@@ -1,8 +1,8 @@
## -*- coding: utf-8 -*-
<%def name="comment_form(url, title, identifier)">
<div id="livefyre-comments"></div>
-<script type="text/javascript" src="http://zor.livefyre.com/wjs/v3.0/javascripts/livefyre.js"></script>
-<script type="text/javascript">
+<script src="http://zor.livefyre.com/wjs/v3.0/javascripts/livefyre.js"></script>
+<script>
(function () {
var articleId = "${identifier}";
fyre.conv.load({}, [{
@@ -21,17 +21,13 @@
</%def>
<%def name="comment_link(link, identifier)">
- <p>
<a href="${link}">
<span class="livefyre-commentcount" data-lf-site-id="${comment_system_id}" data-lf-article-id="${identifier}">
0 Comments
- </span></a>
+ </span>
</%def>
<%def name="comment_link_script()">
-<script
- type="text/javascript"
- src="http://zor.livefyre.com/wjs/v1.0/javascripts/CommentCount.js">
-</script>
+<script src="http://zor.livefyre.com/wjs/v1.0/javascripts/CommentCount.js"></script>
</%def>
diff --git a/nikola/data/themes/base/templates/mustache-comment-form.tmpl b/nikola/data/themes/base/templates/comments_helper_mustache.tmpl
index 593d0aa..593d0aa 100644
--- a/nikola/data/themes/base/templates/mustache-comment-form.tmpl
+++ b/nikola/data/themes/base/templates/comments_helper_mustache.tmpl
diff --git a/nikola/data/themes/base/templates/moot_helper.tmpl b/nikola/data/themes/base/templates/comments_helper_muut.tmpl
index 951553e..94532d9 100644
--- a/nikola/data/themes/base/templates/moot_helper.tmpl
+++ b/nikola/data/themes/base/templates/comments_helper_muut.tmpl
@@ -1,7 +1,7 @@
## -*- coding: utf-8 -*-
<%def name="comment_form(url, title, identifier)">
- <a class="moot" href="https://moot.it/i/${comment_system_id}/${identifier}">${comment_system_id} forums</a>
+ <a class="muut" href="https://muut.com/i/${comment_system_id}/${identifier}">${comment_system_id} forums</a>
</%def>
<%def name="comment_link(link, identifier)">
@@ -9,5 +9,5 @@
<%def name="comment_link_script()">
-<script src="https://cdn.moot.it/1/moot.min.js"></script>
+<script src="//cdn.muut.com/1/moot.min.js"></script>
</%def>
diff --git a/nikola/data/themes/base/templates/crumbs.tmpl b/nikola/data/themes/base/templates/crumbs.tmpl
index 8fbafcf..de8e570 100644
--- a/nikola/data/themes/base/templates/crumbs.tmpl
+++ b/nikola/data/themes/base/templates/crumbs.tmpl
@@ -2,10 +2,12 @@
<%def name="bar(crumbs)">
%if crumbs:
+<nav class="breadcrumbs">
<ul class="breadcrumb">
% for link, text in crumbs:
<li><a href="${link}">${text}</a></li>
% endfor
</ul>
+</nav>
%endif
</%def>
diff --git a/nikola/data/themes/base/templates/gallery.tmpl b/nikola/data/themes/base/templates/gallery.tmpl
index 731a75a..ca9da05 100644
--- a/nikola/data/themes/base/templates/gallery.tmpl
+++ b/nikola/data/themes/base/templates/gallery.tmpl
@@ -9,9 +9,9 @@
%if title:
<h1>${title}</h1>
%endif
- %if text:
+ %if post:
<p>
- ${text}
+ ${post.text()}
</p>
%endif
%if folders:
@@ -30,7 +30,7 @@
%endfor
</ul>
%endif
-%if enable_comments:
+%if site_has_comments and enable_comments:
${comments.comment_form(None, permalink, title)}
%endif
</%block>
diff --git a/nikola/data/themes/base/templates/index.tmpl b/nikola/data/themes/base/templates/index.tmpl
index 1a280b0..e833eb0 100644
--- a/nikola/data/themes/base/templates/index.tmpl
+++ b/nikola/data/themes/base/templates/index.tmpl
@@ -2,28 +2,33 @@
<%namespace name="helper" file="index_helper.tmpl"/>
<%namespace name="comments" file="comments_helper.tmpl"/>
<%inherit file="base.tmpl"/>
+
<%block name="content">
- % for post in posts:
- <article class="postbox h-entry post-${post.meta('type')}">
- <h1 class="p-name"><a href="${post.permalink()}" class="u-url">${post.title()}</a>
- <small>&nbsp;&nbsp;
- ${messages("Posted:")} <time class="published dt-published" datetime="${post.date.isoformat()}">${post.formatted_date(date_format)}</time>
- </small></h1>
- <hr>
- %if index_teasers:
- <div class="p-summary">
- ${post.text(teaser_only=True)}
- %else:
- <div class="e-content">
- ${post.text(teaser_only=False)}
- %endif
+<div class="postindex">
+% for post in posts:
+ <article class="h-entry post-${post.meta('type')}">
+ <header>
+ <h1 class="p-name entry-title"><a href="${post.permalink()}" class="u-url">${post.title()}</h1></a>
+ <div class="metadata">
+ <p class="byline author vcard"><span class="byline-name fn">${post.author()}</span></p>
+ <p class="dateline"><a href="${post.permalink()}" rel="bookmark"><time class="published dt-published" datetime="${post.date.isoformat()}" itemprop="datePublished" title="${messages("Publication date")}">${post.formatted_date(date_format)}</time></a></p>
+ % if not post.meta('nocomments') and site_has_comments:
+ <p class="commentline">${comments.comment_link(post.permalink(), post._base_path)}
+ % endif
</div>
- % if not post.meta('nocomments'):
- ${comments.comment_link(post.permalink(), post._base_path)}
- % endif
- </article>
- % endfor
- ${helper.html_pager()}
- ${comments.comment_link_script()}
- ${helper.mathjax_script(posts)}
+ </header>
+ %if index_teasers:
+ <div class="p-summary entry-summary">
+ ${post.text(teaser_only=True)}
+ %else:
+ <div class="e-content entry-content">
+ ${post.text(teaser_only=False)}
+ %endif
+ </div>
+ </article>
+% endfor
+</div>
+${helper.html_pager()}
+${comments.comment_link_script()}
+${helper.mathjax_script(posts)}
</%block>
diff --git a/nikola/data/themes/base/templates/index_helper.tmpl b/nikola/data/themes/base/templates/index_helper.tmpl
index c925559..9331b93 100644
--- a/nikola/data/themes/base/templates/index_helper.tmpl
+++ b/nikola/data/themes/base/templates/index_helper.tmpl
@@ -1,30 +1,27 @@
## -*- coding: utf-8 -*-
<%def name="html_pager()">
%if prevlink or nextlink:
- <div>
+ <nav class="postindexpager">
<ul class="pager">
%if prevlink:
<li class="previous">
- <a href="${prevlink}" rel="prev">&larr; ${messages("Newer posts")}</a>
+ <a href="${prevlink}" rel="prev">${messages("Newer posts")}</a>
</li>
%endif
%if nextlink:
<li class="next">
- <a href="${nextlink}" rel="next">${messages("Older posts")} &rarr;</a>
+ <a href="${nextlink}" rel="next">${messages("Older posts")}</a>
</li>
%endif
</ul>
- </div>
+ </nav>
%endif
</%def>
<%def name="mathjax_script(posts)">
%if any(post.is_mathjax for post in posts):
<script type="text/x-mathjax-config">
- MathJax.Hub.Config({
- tex2jax: {inlineMath: [['$latex ','$'], ['\\(','\\)']]}
- });
- </script>
+ MathJax.Hub.Config({tex2jax: {inlineMath: [['$latex ','$'], ['\\(','\\)']]}});</script>
<script src="/assets/js/mathjax.js"></script>
%endif
</%def>
diff --git a/nikola/data/themes/base/templates/list.tmpl b/nikola/data/themes/base/templates/list.tmpl
index 4136eb9..4082516 100644
--- a/nikola/data/themes/base/templates/list.tmpl
+++ b/nikola/data/themes/base/templates/list.tmpl
@@ -1,16 +1,19 @@
## -*- coding: utf-8 -*-
<%inherit file="base.tmpl"/>
+
<%block name="content">
- <!--Body content-->
- <div class="postbox">
+<article class="listpage">
+ <header>
<h1>${title}</h1>
- %if items:
- <ul class="unstyled">
- % for text, link in items:
- <li><a href="${link}">${text}</a>
- % endfor
- </ul>
- %endif
- </div>
- <!--End of body content-->
+ </header>
+ %if items:
+ <ul class="postlist">
+ % for text, link in items:
+ <li><a href="${link}">${text}</a>
+ % endfor
+ </ul>
+ %else:
+ <p>${messages("Nothing found.")}</p>
+ %endif
+</article>
</%block>
diff --git a/nikola/data/themes/base/templates/list_post.tmpl b/nikola/data/themes/base/templates/list_post.tmpl
index b27f230..0ef164f 100644
--- a/nikola/data/themes/base/templates/list_post.tmpl
+++ b/nikola/data/themes/base/templates/list_post.tmpl
@@ -1,16 +1,19 @@
## -*- coding: utf-8 -*-
<%inherit file="base.tmpl"/>
+
<%block name="content">
- <!--Body content-->
- <div class="postbox">
+<article class="listpage">
+ <header>
<h1>${title}</h1>
- %if posts:
- <ul class="unstyled">
- % for post in posts:
- <li><a href="${post.permalink()}">[${post.formatted_date(date_format)}] ${post.title()}</a>
- % endfor
- </ul>
- %endif
- </div>
- <!--End of body content-->
+ </header>
+ %if posts:
+ <ul class="postlist">
+ % for post in posts:
+ <li><a href="${post.permalink()}" class="listtitle">${post.title()}</a> <time class="listdate" datetime="${post.date.isoformat()}" title="${messages("Publication date")}">${post.formatted_date(date_format)}</time></li>
+ % endfor
+ </ul>
+ %else:
+ <p>${messages("No posts found.")}</p>
+ %endif
+</article>
</%block>
diff --git a/nikola/data/themes/base/templates/listing.tmpl b/nikola/data/themes/base/templates/listing.tmpl
index 0662360..e0bf91b 100644
--- a/nikola/data/themes/base/templates/listing.tmpl
+++ b/nikola/data/themes/base/templates/listing.tmpl
@@ -4,7 +4,7 @@
<%block name="content">
${ui.bar(crumbs)}
%if folders or files:
-<ul class="unstyled">
+<ul>
% for name in folders:
<li><a href="${name}"><i class="icon-folder-open"></i> ${name}</a>
% endfor
@@ -16,4 +16,8 @@ ${ui.bar(crumbs)}
% if code:
${code}
% endif
+% if source_link:
+ <p class="sourceline"><a href="${source_link}" id="sourcelink">${messages("Source")}</a></p>
+% endif
</%block>
+
diff --git a/nikola/data/themes/base/templates/post.tmpl b/nikola/data/themes/base/templates/post.tmpl
index 981fd97..0babb2b 100644
--- a/nikola/data/themes/base/templates/post.tmpl
+++ b/nikola/data/themes/base/templates/post.tmpl
@@ -1,42 +1,39 @@
## -*- coding: utf-8 -*-
<%namespace name="helper" file="post_helper.tmpl"/>
+<%namespace name="pheader" file="post_header.tmpl"/>
<%namespace name="comments" file="comments_helper.tmpl"/>
<%inherit file="base.tmpl"/>
+
<%block name="extra_head">
-${helper.twitter_card_information(post)}
-% if post.meta('keywords'):
- <meta name="keywords" content="${post.meta('keywords')|h}">
-% endif
-${helper.meta_translations(post)}
+ ${parent.extra_head()}
+ % if post.meta('keywords'):
+ <meta name="keywords" content="${post.meta('keywords')|h}">
+ % endif
+ <meta name="author" content="${post.author()}">
+ ${helper.open_graph_metadata(post)}
+ ${helper.twitter_card_information(post)}
+ ${helper.meta_translations(post)}
</%block>
+
<%block name="content">
- <article class="postbox post-${post.meta('type')}">
- <div class="h-entry" itemscope="itemscope" itemtype="http://schema.org/Article">
- ${helper.html_title()}
- <hr>
- <small>
- ${messages("Posted:")} <time class="published dt-published" datetime="${post.date.isoformat()}" itemprop="datePublished">${post.formatted_date(date_format)}</time>
- ${helper.html_translations(post)}
- ${helper.html_tags(post)}
- &nbsp;&nbsp;|&nbsp;&nbsp;
- <%block name="sourcelink">
- % if not post.meta('password'):
- <a href="${post.source_link()}" id="sourcelink">${messages("Source")}</a>
- % endif
- </%block>
- </small>
- <hr>
- <div class="e-content" itemprop="articleBody text">
+<article class="post-${post.meta('type')} h-entry hentry postpage" itemscope="itemscope" itemtype="http://schema.org/Article">
+ ${pheader.html_post_header()}
+ <div class="e-content entry-content" itemprop="articleBody text">
${post.text()}
</div>
- %if post.description():
- <meta content="${post.description()}" itemprop="description">
- %endif
- </div>
+ <aside class="postpromonav">
+ <nav>
+ ${helper.html_tags(post)}
${helper.html_pager(post)}
- % if not post.meta('nocomments'):
+ </nav>
+ </aside>
+ % if not post.meta('nocomments') and site_has_comments:
+ <section class="comments">
+ <h2>${messages("Comments")}</h2>
${comments.comment_form(post.permalink(absolute=True), post.title(), post._base_path)}
+ </section>
% endif
${helper.mathjax_script(post)}
- </article>
+</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
new file mode 100644
index 0000000..c848186
--- /dev/null
+++ b/nikola/data/themes/base/templates/post_header.tmpl
@@ -0,0 +1,49 @@
+## -*- coding: utf-8 -*-
+<%namespace name="helper" file="post_helper.tmpl"/>
+<%namespace name="comments" file="comments_helper.tmpl"/>
+
+<%def name="html_title()">
+%if title and not post.meta('hidetitle'):
+ <h1 class="p-name entry-title" itemprop="headline name"><a href="${post.permalink()}" class="u-url">${title|h}</a></h1>
+%endif
+</%def>
+
+<%def name="html_translations(post)">
+ % if len(translations) > 1:
+ <div class="metadata posttranslations translations">
+ <h3 class="posttranslations-intro">${messages("Also available in:")}</h3>
+ % for langname in translations.keys():
+ % if langname != lang and post.is_translation_available(langname):
+ <p><a href="${post.permalink(langname)}" rel="alternate" hreflang="${langname}">${messages("LANGUAGE", langname)}</a></p>
+ % endif
+ % endfor
+ </div>
+ % endif
+</%def>
+
+<%def name="html_sourcelink()">
+ % if show_sourcelink:
+ <p class="sourceline"><a href="${post.source_link()}" id="sourcelink">${messages("Source")}</a></p>
+ % endif
+</%def>
+
+<%def name="html_post_header()">
+ <header>
+ ${html_title()}
+ <div class="metadata">
+ <p class="byline author vcard"><span class="byline-name fn">${post.author()}</span></p>
+ <p class="dateline"><a href="${post.permalink()}" rel="bookmark"><time class="published dt-published" datetime="${post.date.isoformat()}" itemprop="datePublished" title="${messages("Publication date")}">${post.formatted_date(date_format)}</time></a></p>
+ % if not post.meta('nocomments') and site_has_comments:
+ <p class="commentline">${comments.comment_link(post.permalink(), post._base_path)}
+ % endif
+ ${html_sourcelink()}
+ % if post.meta('link'):
+ <p><a href='${post.meta('link')}'>${messages("Original site")}</a></p>
+ % endif
+ %if post.description():
+ <meta name="description" itemprop="description" content="${post.description()}">
+ %endif
+ </div>
+ ${html_translations(post)}
+ </header>
+</%def>
diff --git a/nikola/data/themes/base/templates/post_helper.tmpl b/nikola/data/themes/base/templates/post_helper.tmpl
index 391350d..85ba378 100644
--- a/nikola/data/themes/base/templates/post_helper.tmpl
+++ b/nikola/data/themes/base/templates/post_helper.tmpl
@@ -1,22 +1,4 @@
## -*- coding: utf-8 -*-
-<%def name="html_title()">
- <h1 class="p-name" itemprop="headline name">${title|h}</h1>
- % if link:
- <p><a href='${link}'>${messages("Original site")}</a></p>
- % endif
-</%def>
-
-
-<%def name="html_translations(post)">
- %if len(translations) > 1:
- %for langname in translations.keys():
- %if langname != lang and post.is_translation_available(langname):
- &nbsp;&nbsp;|&nbsp;&nbsp;
- <a href="${post.permalink(langname)}" rel="alternate" hreflang="${langname}">${messages("Read in English", langname)}</a>
- %endif
- %endfor
- %endif
-</%def>
<%def name="meta_translations(post)">
%if len(translations) > 1:
@@ -28,18 +10,13 @@
%endif
</%def>
-<%def name="html_list_tags(post)" buffered="True">
- <span itemprop="keywords">
- %for tag in post.tags:
- <a class="tag p-category" href="${_link('tag', tag)}"><span class="badge badge-info">${tag}</span></a>
- %endfor
- </span>
-</%def>
-
<%def name="html_tags(post)">
%if post.tags:
- &nbsp;&nbsp;|&nbsp;&nbsp;
- ${formatmsg(messages("More posts about %s"), html_list_tags(post))}
+ <ul itemprop="keywords" class="tags">
+ %for tag in post.tags:
+ <li><a class="tag p-category" href="${_link('tag', tag)}" rel="tag">${tag}</a></li>
+ %endfor
+ </ul>
%endif
</%def>
@@ -48,22 +25,35 @@
<ul class="pager">
%if post.prev_post:
<li class="previous">
- <a href="${post.prev_post.permalink()}" rel="prev">&larr; ${messages("Previous post")}</a>
+ <a href="${post.prev_post.permalink()}" rel="prev" title="${post.prev_post.title()}">${messages("Previous post")}</a>
</li>
%endif
%if post.next_post:
<li class="next">
- <a href="${post.next_post.permalink()}" rel="next">${messages("Next post")} &rarr;</a>
+ <a href="${post.next_post.permalink()}" rel="next" title="${post.next_post.title()}">${messages("Next post")}</a>
</li>
%endif
</ul>
%endif
</%def>
+<%def name="open_graph_metadata(post)">
+ %if use_open_graph:
+ <meta name="og:title" content="${post.title()[:70]|h}">
+ <meta name="og:url" content="${abs_link(permalink)}">
+ %if post.description():
+ <meta name="og:description" content="${post.description()[:200]|h}">
+ %else:
+ <meta name="og:description" content="${post.text(strip_html=True)[:200]|h}">
+ %endif
+ <meta name="og:site_name" content="${blog_title|striphtml}">
+ <meta name="og:type" content="article">
+ %endif
+</%def>
+
<%def name="twitter_card_information(post)">
%if twitter_card and twitter_card['use_twitter_cards']:
<meta name="twitter:card" content="${twitter_card.get('card', 'summary')|h}">
- <meta name="og:url" content="${post.permalink(absolute=True)}">
%if 'site:id' in twitter_card:
<meta name="twitter:site:id" content="${twitter_card['site:id']}">
%elif 'site' in twitter_card:
@@ -74,22 +64,13 @@
%elif 'creator' in twitter_card:
<meta name="twitter:creator" content="${twitter_card['creator']}">
%endif
- <meta name="og:title" content="${post.title()[:70]|h}">
- %if post.description():
- <meta name="og:description" content="${post.description()[:200]|h}">
- %else:
- <meta name="og:description" content="${post.text(strip_html=True)[:200]|h}">
- %endif
%endif
</%def>
<%def name="mathjax_script(post)">
%if post.is_mathjax:
<script type="text/x-mathjax-config">
- MathJax.Hub.Config({
- tex2jax: {inlineMath: [['$latex ','$'], ['\\(','\\)']]}
- });
- </script>
+ MathJax.Hub.Config({tex2jax: {inlineMath: [['$latex ','$'], ['\\(','\\)']]}});</script>
<script src="/assets/js/mathjax.js"></script>
%endif
</%def>
diff --git a/nikola/data/themes/base/templates/post_list_directive.tmpl b/nikola/data/themes/base/templates/post_list_directive.tmpl
index b31d242..d9166e9 100644
--- a/nikola/data/themes/base/templates/post_list_directive.tmpl
+++ b/nikola/data/themes/base/templates/post_list_directive.tmpl
@@ -1,4 +1,5 @@
## -*- coding: utf-8 -*-
+<%block name="content">
<!-- Begin post-list ${post_list_id} -->
<div id="${post_list_id}" class="post-list">
%if posts:
@@ -14,3 +15,4 @@
%endif
</div>
<!-- End post-list ${post_list_id} -->
+</%block>
diff --git a/nikola/data/themes/base/templates/slides.tmpl b/nikola/data/themes/base/templates/slides.tmpl
index 14983ad..048fb7e 100644
--- a/nikola/data/themes/base/templates/slides.tmpl
+++ b/nikola/data/themes/base/templates/slides.tmpl
@@ -1,6 +1,7 @@
+<%block name="content">
<div id="${carousel_id}" class="carousel slide">
<ol class="carousel-indicators">
- % for i in range(len(content)):
+ % for i in range(len(slides_content)):
% if i == 0:
<li data-target="#${carousel_id}" data-slide-to="${i}" class="active"></li>
% else:
@@ -9,7 +10,7 @@
% endfor
</ol>
<div class="carousel-inner">
- % for i, image in enumerate(content):
+ % 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:
@@ -20,3 +21,4 @@
<a class="left carousel-control" href="#${carousel_id}" data-slide="prev">&lsaquo;</a>
<a class="right carousel-control" href="#${carousel_id}" data-slide="next">&rsaquo;</a>
</div>
+</%block>
diff --git a/nikola/data/themes/base/templates/story.tmpl b/nikola/data/themes/base/templates/story.tmpl
index 7406f05..e3e3054 100644
--- a/nikola/data/themes/base/templates/story.tmpl
+++ b/nikola/data/themes/base/templates/story.tmpl
@@ -1,16 +1,37 @@
## -*- coding: utf-8 -*-
-<%inherit file="post.tmpl"/>
<%namespace name="helper" file="post_helper.tmpl"/>
+<%namespace name="pheader" file="post_header.tmpl"/>
<%namespace name="comments" file="comments_helper.tmpl"/>
+<%inherit file="post.tmpl"/>
+
<%block name="extra_head">
-${helper.twitter_card_information(post)}
+ ${parent.extra_head()}
+ % if post.meta('keywords'):
+ <meta name="keywords" content="${post.meta('keywords')|h}">
+ % endif
+ <meta name="author" content="${post.author()}">
+ ${helper.open_graph_metadata(post)}
+ ${helper.twitter_card_information(post)}
+ ${helper.meta_translations(post)}
+ %if post.description():
+ <meta name="description" itemprop="description" content="${post.description()}">
+ %endif
</%block>
+
<%block name="content">
-%if title and not post.meta('hidetitle'):
- <h1>${title}</h1>
-%endif
+<article class="storypage" itemscope="itemscope" itemtype="http://schema.org/Article">
+ <header>
+ ${pheader.html_title()}
+ ${pheader.html_translations(post)}
+ </header>
+ <div itemprop="articleBody text">
${post.text()}
-%if enable_comments and not post.meta('nocomments'):
- ${comments.comment_form(post.permalink(absolute=True), post.title(), post.base_path)}
-%endif
+ </div>
+ %if site_has_comments and enable_comments and not post.meta('nocomments'):
+ <section class="comments">
+ <h2>${messages("Comments")}</h2>
+ ${comments.comment_form(post.permalink(absolute=True), post.title(), post.base_path)}
+ </section>
+ %endif
+</article>
</%block>
diff --git a/nikola/data/themes/base/templates/tag.tmpl b/nikola/data/themes/base/templates/tag.tmpl
index 43afd54..bff82c2 100644
--- a/nikola/data/themes/base/templates/tag.tmpl
+++ b/nikola/data/themes/base/templates/tag.tmpl
@@ -1,34 +1,40 @@
## -*- coding: utf-8 -*-
<%inherit file="list_post.tmpl"/>
+
<%block name="extra_head">
- %if len(translations) > 1:
+ ${parent.extra_head()}
+ %if len(translations) > 1 and generate_rss:
%for language in translations:
<link rel="alternate" type="application/rss+xml" type="application/rss+xml" title="RSS for ${kind} ${tag} (${language})" href="${_link(kind + "_rss", tag, language)}">
%endfor
- %else:
+ %elif generate_rss:
<link rel="alternate" type="application/rss+xml" type="application/rss+xml" title="RSS for ${kind} ${tag}" href="${_link(kind + "_rss", tag)}">
%endif
</%block>
+
<%block name="content">
- <!--Body content-->
- <div class="postbox">
+<article class="tagpage">
+ <header>
<h1>${title}</h1>
- %if len(translations) > 1:
- %for language in translations:
- <a href="${_link(kind + "_rss", tag, language)}">RSS (${language})</a>&nbsp;
- %endfor
- %else:
- <a href="${_link(kind + "_rss", tag)}">RSS</a>
- %endif
- <br>
- %if posts:
- <ul class="unstyled">
- % for post in posts:
- <li><a href="${post.permalink()}">[${post.formatted_date(date_format)}] ${post.title()}</a>
- % endfor
- </ul>
- %endif
+ <div class="metadata">
+ %if len(translations) > 1 and generate_rss:
+ %for language in translations:
+ <p class="feedlink">
+ <a href="${_link(kind + "_rss", tag, language)}" hreflang="${language}" type="application/rss+xml">${messages('RSS feed', language)} (${language})</a>&nbsp;
+ </p>
+ %endfor
+ %elif generate_rss:
+ <p class="feedlink"><a href="${_link(kind + "_rss", tag)}" type="application/rss+xml">${messages('RSS feed')}</a></p>
+ %endif
</div>
- <!--End of body content-->
+ </header>
+ %if posts:
+ <ul class="postlist">
+ % for post in posts:
+ <li><a href="${post.permalink()}" class="listtitle">${post.title()}</a> <time class="listdate" datetime="${post.date.isoformat()}" title="${messages("Publication date")}">${post.formatted_date(date_format)}</time></li>
+ % endfor
+ </ul>
+ %endif
+</article>
</%block>
diff --git a/nikola/data/themes/base/templates/tags.tmpl b/nikola/data/themes/base/templates/tags.tmpl
index 6c8c5e9..3e0c4b4 100644
--- a/nikola/data/themes/base/templates/tags.tmpl
+++ b/nikola/data/themes/base/templates/tags.tmpl
@@ -1,10 +1,14 @@
## -*- coding: utf-8 -*-
<%inherit file="base.tmpl"/>
+
<%block name="content">
- <h1>${title}</h1>
+<article class="tagindex">
+ <header>
+ <h1>${title}</h1>
+ </header>
% if cat_items:
<h2>${messages("Categories")}</h2>
- <ul class="unstyled bricks">
+ <ul class="postlist">
% for text, link in cat_items:
% if text:
<li><a class="reference" href="${link}">${text}</a></li>
@@ -16,10 +20,11 @@
% endif
%endif
% if items:
- <ul class="unstyled bricks">
+ <ul class="postlist">
% for text, link in items:
- <li><a class="reference" href="${link}">${text}</a></li>
+ <li><a class="reference listtitle" href="${link}">${text}</a></li>
% endfor
</ul>
% endif
+</article>
</%block>