-
Notifications
You must be signed in to change notification settings - Fork 446
/
post_helper.tmpl
106 lines (100 loc) · 3.87 KB
/
post_helper.tmpl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
## -*- coding: utf-8 -*-
<%def name="meta_translations(post)">
%if len(translations) > 1:
%for langname in sorted(translations):
%if langname != lang and (post.show_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.5.1/katex.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/contrib/auto-render.min.js"></script>
<script>
renderMathInElement(document.body);
</script>
%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>