diff options
Diffstat (limited to 'nikola/data/themes/base/templates')
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:")} - ${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> - ${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">← ${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")} →</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)} - | - <%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): - | - <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: - | - ${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">← ${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")} →</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">‹</a> <a class="right carousel-control" href="#${carousel_id}" data-slide="next">›</a> </div> +</%block> diff --git a/nikola/data/themes/base/templates/story.tmpl b/nikola/data/themes/base/templates/story.tmpl index 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> - %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> + </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> |
