lissarchive-website/themes/custom/templates/post_helper.tmpl

117 lines
4.2 KiB
Cheetah
Raw Normal View History

## -*- coding: utf-8 -*-
<%def name="meta_translations(post)">
%if len(translations) > 1:
%for langname in sorted(translations):
%if langname != lang and ((not post.skip_untranslated) or post.is_translation_available(langname)):
<link rel="alternate" hreflang="${langname}" href="${post.permalink(langname)}">
%endif
%endfor
%endif
</%def>
<%def name="html_tags(post)">
%if post.tags:
<ul itemprop="keywords" class="tags">
%for tag in post.tags:
% if tag not in hidden_tags:
<li><a class="tag p-category" href="${_link('tag', tag)}" rel="tag">${tag|h}</a></li>
% endif
%endfor
</ul>
%endif
</%def>
<%def name="html_pager(post)">
%if post.prev_post or post.next_post:
<ul class="pager hidden-print">
%if post.prev_post:
<li class="previous">
<a href="${post.prev_post.permalink()}" rel="prev" title="${post.prev_post.title()|h}">${messages("Previous post")}</a>
</li>
%endif
%if post.next_post:
<li class="next">
<a href="${post.next_post.permalink()}" rel="next" title="${post.next_post.title()|h}">${messages("Next post")}</a>
</li>
%endif
</ul>
%endif
</%def>
<%def name="open_graph_metadata(post)">
%if use_open_graph:
<meta property="og:site_name" content="${blog_title|h}">
<meta property="og:title" content="${post.title()[:70]|h}">
<meta property="og:url" content="${abs_link(permalink)}">
%if post.description():
<meta property="og:description" content="${post.description()[:200]|h}">
%else:
<meta property="og:description" content="${post.text(strip_html=True)[:200]|h}">
%endif
%if post.previewimage:
<meta property="og:image" content="${url_replacer(permalink, post.previewimage, lang, 'absolute')}">
%endif
<meta property="og:type" content="article">
### Will only work with Pintrest and breaks everywhere else who expect a [Facebook] URI.
### %if post.author():
### <meta property="article:author" content="${post.author()|h}">
### %endif
%if post.date.isoformat():
<meta property="article:published_time" content="${post.formatted_date('webiso')}">
%endif
%if post.tags:
%for tag in post.tags:
<meta property="article:tag" content="${tag|h}">
%endfor
%endif
%endif
</%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}">
%if 'site:id' in twitter_card:
<meta name="twitter:site:id" content="${twitter_card['site:id']}">
%elif 'site' in twitter_card:
<meta name="twitter:site" content="${twitter_card['site']}">
%endif
%if 'creator:id' in twitter_card:
<meta name="twitter:creator:id" content="${twitter_card['creator:id']}">
%elif 'creator' in twitter_card:
<meta name="twitter:creator" content="${twitter_card['creator']}">
%endif
%endif
</%def>
<%def name="mathjax_script(post)">
%if post.is_mathjax:
%if use_katex:
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.6.0/katex.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.6.0/contrib/auto-render.min.js"></script>
% if katex_auto_render:
<script>
renderMathInElement(document.body,
{
${katex_auto_render}
}
);
</script>
% else:
<script>
renderMathInElement(document.body);
</script>
% endif
%else:
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script>
% if mathjax_config:
${mathjax_config}
% else:
<script type="text/x-mathjax-config">
MathJax.Hub.Config({tex2jax: {inlineMath: [['$latex ','$'], ['\\(','\\)']]}});
</script>
% endif
%endif
%endif
</%def>