308 lines
16 KiB
Python
308 lines
16 KiB
Python
# -*- coding:utf-8 -*-
|
|
from mako import runtime, filters, cache
|
|
UNDEFINED = runtime.UNDEFINED
|
|
__M_dict_builtin = dict
|
|
__M_locals_builtin = locals
|
|
_magic_number = 10
|
|
_modified_time = 1434088807.0108178
|
|
_enable_loop = True
|
|
_template_filename = 'themes/bootstrap3/templates/base_helper.tmpl'
|
|
_template_uri = 'base_helper.tmpl'
|
|
_source_encoding = 'utf-8'
|
|
_exports = ['late_load_js', 'html_translations', 'html_navigation_links', 'html_feedlinks', 'html_stylesheets', 'html_headstart']
|
|
|
|
|
|
def render_body(context,**pageargs):
|
|
__M_caller = context.caller_stack._push_frame()
|
|
try:
|
|
__M_locals = __M_dict_builtin(pageargs=pageargs)
|
|
__M_writer = context.writer()
|
|
__M_writer('\n')
|
|
__M_writer('\n\n')
|
|
__M_writer('\n\n\n')
|
|
__M_writer('\n\n')
|
|
__M_writer('\n\n')
|
|
__M_writer('\n\n')
|
|
__M_writer('\n')
|
|
return ''
|
|
finally:
|
|
context.caller_stack._pop_frame()
|
|
|
|
|
|
def render_late_load_js(context):
|
|
__M_caller = context.caller_stack._push_frame()
|
|
try:
|
|
use_bundles = context.get('use_bundles', UNDEFINED)
|
|
use_cdn = context.get('use_cdn', UNDEFINED)
|
|
lang = context.get('lang', UNDEFINED)
|
|
social_buttons_code = context.get('social_buttons_code', UNDEFINED)
|
|
colorbox_locales = context.get('colorbox_locales', UNDEFINED)
|
|
__M_writer = context.writer()
|
|
__M_writer('\n')
|
|
if use_bundles:
|
|
if use_cdn:
|
|
__M_writer(' <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>\n <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>\n <script src="/assets/js/all.js"></script>\n')
|
|
else:
|
|
__M_writer(' <script src="/assets/js/all-nocdn.js"></script>\n')
|
|
else:
|
|
if use_cdn:
|
|
__M_writer(' <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>\n <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>\n')
|
|
else:
|
|
__M_writer(' <script src="/assets/js/jquery.min.js"></script>\n <script src="/assets/js/bootstrap.min.js"></script>\n <script src="/assets/js/moment-with-locales.min.js"></script>\n <script src="/assets/js/fancydates.js"></script>\n')
|
|
__M_writer(' <script src="/assets/js/jquery.colorbox-min.js"></script>\n')
|
|
if colorbox_locales[lang]:
|
|
__M_writer(' <script src="/assets/js/colorbox-i18n/jquery.colorbox-')
|
|
__M_writer(str(colorbox_locales[lang]))
|
|
__M_writer('.js"></script>\n')
|
|
__M_writer(' ')
|
|
__M_writer(str(social_buttons_code))
|
|
__M_writer('\n')
|
|
return ''
|
|
finally:
|
|
context.caller_stack._pop_frame()
|
|
|
|
|
|
def render_html_translations(context):
|
|
__M_caller = context.caller_stack._push_frame()
|
|
try:
|
|
_link = context.get('_link', UNDEFINED)
|
|
lang = context.get('lang', UNDEFINED)
|
|
translations = context.get('translations', UNDEFINED)
|
|
messages = context.get('messages', UNDEFINED)
|
|
__M_writer = context.writer()
|
|
__M_writer('\n')
|
|
for langname in translations.keys():
|
|
if langname != lang:
|
|
__M_writer(' <li><a href="')
|
|
__M_writer(str(_link("index", None, langname)))
|
|
__M_writer('" rel="alternate" hreflang="')
|
|
__M_writer(str(langname))
|
|
__M_writer('">')
|
|
__M_writer(str(messages("LANGUAGE", langname)))
|
|
__M_writer('</a></li>\n')
|
|
return ''
|
|
finally:
|
|
context.caller_stack._pop_frame()
|
|
|
|
|
|
def render_html_navigation_links(context):
|
|
__M_caller = context.caller_stack._push_frame()
|
|
try:
|
|
permalink = context.get('permalink', UNDEFINED)
|
|
navigation_links = context.get('navigation_links', UNDEFINED)
|
|
lang = context.get('lang', UNDEFINED)
|
|
isinstance = context.get('isinstance', UNDEFINED)
|
|
rel_link = context.get('rel_link', UNDEFINED)
|
|
tuple = context.get('tuple', UNDEFINED)
|
|
__M_writer = context.writer()
|
|
__M_writer('\n')
|
|
for url, text in navigation_links[lang]:
|
|
if isinstance(url, tuple):
|
|
__M_writer(' <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">')
|
|
__M_writer(str(text))
|
|
__M_writer('<b class="caret"></b></a>\n <ul class="dropdown-menu">\n')
|
|
for suburl, text in url:
|
|
if rel_link(permalink, suburl) == "#":
|
|
__M_writer(' <li class="active"><a href="')
|
|
__M_writer(str(permalink))
|
|
__M_writer('">')
|
|
__M_writer(str(text))
|
|
__M_writer('</a>\n')
|
|
else:
|
|
__M_writer(' <li><a href="')
|
|
__M_writer(str(suburl))
|
|
__M_writer('">')
|
|
__M_writer(str(text))
|
|
__M_writer('</a>\n')
|
|
__M_writer(' </ul>\n')
|
|
else:
|
|
if rel_link(permalink, url) == "#":
|
|
__M_writer(' <li class="active"><a href="')
|
|
__M_writer(str(permalink))
|
|
__M_writer('">')
|
|
__M_writer(str(text))
|
|
__M_writer('</a>\n')
|
|
else:
|
|
__M_writer(' <li><a href="')
|
|
__M_writer(str(url))
|
|
__M_writer('">')
|
|
__M_writer(str(text))
|
|
__M_writer('</a>\n')
|
|
return ''
|
|
finally:
|
|
context.caller_stack._pop_frame()
|
|
|
|
|
|
def render_html_feedlinks(context):
|
|
__M_caller = context.caller_stack._push_frame()
|
|
try:
|
|
rss_link = context.get('rss_link', UNDEFINED)
|
|
_link = context.get('_link', UNDEFINED)
|
|
translations = context.get('translations', UNDEFINED)
|
|
generate_rss = context.get('generate_rss', UNDEFINED)
|
|
len = context.get('len', UNDEFINED)
|
|
__M_writer = context.writer()
|
|
__M_writer('\n')
|
|
if rss_link:
|
|
__M_writer(' ')
|
|
__M_writer(str(rss_link))
|
|
__M_writer('\n')
|
|
elif generate_rss:
|
|
if len(translations) > 1:
|
|
for language in translations:
|
|
__M_writer(' <link rel="alternate" type="application/rss+xml" title="RSS (')
|
|
__M_writer(str(language))
|
|
__M_writer(')" href="')
|
|
__M_writer(str(_link('rss', None, language)))
|
|
__M_writer('">\n')
|
|
else:
|
|
__M_writer(' <link rel="alternate" type="application/rss+xml" title="RSS" href="')
|
|
__M_writer(str(_link('rss', None)))
|
|
__M_writer('">\n')
|
|
return ''
|
|
finally:
|
|
context.caller_stack._pop_frame()
|
|
|
|
|
|
def render_html_stylesheets(context):
|
|
__M_caller = context.caller_stack._push_frame()
|
|
try:
|
|
use_bundles = context.get('use_bundles', UNDEFINED)
|
|
annotations = context.get('annotations', UNDEFINED)
|
|
post = context.get('post', UNDEFINED)
|
|
notes = context.get('notes', UNDEFINED)
|
|
use_cdn = context.get('use_cdn', UNDEFINED)
|
|
has_custom_css = context.get('has_custom_css', UNDEFINED)
|
|
__M_writer = context.writer()
|
|
__M_writer('\n')
|
|
if use_bundles:
|
|
if use_cdn:
|
|
__M_writer(' <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet">\n <link href="/assets/css/all.css" rel="stylesheet" type="text/css">\n')
|
|
else:
|
|
__M_writer(' <link href="/assets/css/all-nocdn.css" rel="stylesheet" type="text/css">\n')
|
|
else:
|
|
if use_cdn:
|
|
__M_writer(' <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet">\n')
|
|
else:
|
|
__M_writer(' <link href="/assets/css/bootstrap.min.css" rel="stylesheet" type="text/css">\n')
|
|
__M_writer(' <link href="/assets/css/rst.css" rel="stylesheet" type="text/css">\n <link href="/assets/css/code.css" rel="stylesheet" type="text/css">\n <link href="/assets/css/colorbox.css" rel="stylesheet" type="text/css">\n <link href="/assets/css/theme.css" rel="stylesheet" type="text/css">\n')
|
|
if has_custom_css:
|
|
__M_writer(' <link href="/assets/css/custom.css" rel="stylesheet" type="text/css">\n')
|
|
if annotations and post and not post.meta('noannotations'):
|
|
__M_writer(' ')
|
|
__M_writer(str(notes.css()))
|
|
__M_writer('\n')
|
|
elif not annotations and post and post.meta('annotations'):
|
|
__M_writer(' ')
|
|
__M_writer(str(notes.css()))
|
|
__M_writer('\n')
|
|
return ''
|
|
finally:
|
|
context.caller_stack._pop_frame()
|
|
|
|
|
|
def render_html_headstart(context):
|
|
__M_caller = context.caller_stack._push_frame()
|
|
try:
|
|
abs_link = context.get('abs_link', UNDEFINED)
|
|
use_open_graph = context.get('use_open_graph', UNDEFINED)
|
|
comment_system_id = context.get('comment_system_id', UNDEFINED)
|
|
lang = context.get('lang', UNDEFINED)
|
|
mathjax_config = context.get('mathjax_config', UNDEFINED)
|
|
striphtml = context.get('striphtml', UNDEFINED)
|
|
twitter_card = context.get('twitter_card', UNDEFINED)
|
|
url_replacer = context.get('url_replacer', UNDEFINED)
|
|
prevlink = context.get('prevlink', UNDEFINED)
|
|
nextlink = context.get('nextlink', UNDEFINED)
|
|
is_rtl = context.get('is_rtl', UNDEFINED)
|
|
description = context.get('description', UNDEFINED)
|
|
comment_system = context.get('comment_system', UNDEFINED)
|
|
blog_title = context.get('blog_title', UNDEFINED)
|
|
permalink = context.get('permalink', UNDEFINED)
|
|
use_cdn = context.get('use_cdn', UNDEFINED)
|
|
extra_head_data = context.get('extra_head_data', UNDEFINED)
|
|
favicons = context.get('favicons', UNDEFINED)
|
|
title = context.get('title', UNDEFINED)
|
|
def html_stylesheets():
|
|
return render_html_stylesheets(context)
|
|
def html_feedlinks():
|
|
return render_html_feedlinks(context)
|
|
__M_writer = context.writer()
|
|
__M_writer('\n<!DOCTYPE html>\n<html\n')
|
|
if use_open_graph or (twitter_card and twitter_card['use_twitter_cards']) or (comment_system == 'facebook'):
|
|
__M_writer("prefix='")
|
|
if use_open_graph or (twitter_card and twitter_card['use_twitter_cards']):
|
|
__M_writer('og: http://ogp.me/ns# ')
|
|
if use_open_graph:
|
|
__M_writer('article: http://ogp.me/ns/article# ')
|
|
if comment_system == 'facebook':
|
|
__M_writer('fb: http://ogp.me/ns/fb# ')
|
|
__M_writer("'")
|
|
if is_rtl:
|
|
__M_writer('dir="rtl" ')
|
|
__M_writer('lang="')
|
|
__M_writer(str(lang))
|
|
__M_writer('">\n <head>\n <meta charset="utf-8">\n')
|
|
if description:
|
|
__M_writer(' <meta name="description" content="')
|
|
__M_writer(str(description))
|
|
__M_writer('">\n')
|
|
__M_writer(' <meta name="viewport" content="width=device-width, initial-scale=1">\n <title>')
|
|
__M_writer(striphtml(str(title)))
|
|
__M_writer(' | ')
|
|
__M_writer(striphtml(str(blog_title)))
|
|
__M_writer('</title>\n\n ')
|
|
__M_writer(str(html_stylesheets()))
|
|
__M_writer('\n ')
|
|
__M_writer(str(html_feedlinks()))
|
|
__M_writer('\n')
|
|
if permalink:
|
|
__M_writer(' <link rel="canonical" href="')
|
|
__M_writer(str(abs_link(permalink)))
|
|
__M_writer('">\n')
|
|
__M_writer('\n')
|
|
if favicons:
|
|
for name, file, size in favicons:
|
|
__M_writer(' <link rel="')
|
|
__M_writer(str(name))
|
|
__M_writer('" href="')
|
|
__M_writer(str(file))
|
|
__M_writer('" sizes="')
|
|
__M_writer(str(size))
|
|
__M_writer('"/>\n')
|
|
__M_writer('\n')
|
|
if comment_system == 'facebook':
|
|
__M_writer(' <meta property="fb:app_id" content="')
|
|
__M_writer(str(comment_system_id))
|
|
__M_writer('">\n')
|
|
__M_writer('\n')
|
|
if prevlink:
|
|
__M_writer(' <link rel="prev" href="')
|
|
__M_writer(str(prevlink))
|
|
__M_writer('" type="text/html">\n')
|
|
if nextlink:
|
|
__M_writer(' <link rel="next" href="')
|
|
__M_writer(str(nextlink))
|
|
__M_writer('" type="text/html">\n')
|
|
__M_writer('\n ')
|
|
__M_writer(str(mathjax_config))
|
|
__M_writer('\n')
|
|
if use_cdn:
|
|
__M_writer(' <!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->\n')
|
|
else:
|
|
__M_writer(' <!--[if lt IE 9]><script src="')
|
|
__M_writer(str(url_replacer(permalink, '/assets/js/html5.js', lang)))
|
|
__M_writer('"></script><![endif]-->\n')
|
|
__M_writer('\n ')
|
|
__M_writer(str(extra_head_data))
|
|
__M_writer('\n')
|
|
return ''
|
|
finally:
|
|
context.caller_stack._pop_frame()
|
|
|
|
|
|
"""
|
|
__M_BEGIN_METADATA
|
|
{"line_map": {"15": 0, "20": 2, "21": 65, "22": 92, "23": 122, "24": 145, "25": 159, "26": 167, "32": 67, "41": 67, "42": 68, "43": 69, "44": 70, "45": 73, "46": 74, "47": 76, "48": 77, "49": 78, "50": 80, "51": 81, "52": 86, "53": 88, "54": 89, "55": 89, "56": 89, "57": 91, "58": 91, "59": 91, "65": 161, "73": 161, "74": 162, "75": 163, "76": 164, "77": 164, "78": 164, "79": 164, "80": 164, "81": 164, "82": 164, "88": 124, "98": 124, "99": 125, "100": 126, "101": 127, "102": 127, "103": 127, "104": 129, "105": 130, "106": 131, "107": 131, "108": 131, "109": 131, "110": 131, "111": 132, "112": 133, "113": 133, "114": 133, "115": 133, "116": 133, "117": 136, "118": 137, "119": 138, "120": 139, "121": 139, "122": 139, "123": 139, "124": 139, "125": 140, "126": 141, "127": 141, "128": 141, "129": 141, "130": 141, "136": 147, "145": 147, "146": 148, "147": 149, "148": 149, "149": 149, "150": 150, "151": 151, "152": 152, "153": 153, "154": 153, "155": 153, "156": 153, "157": 153, "158": 155, "159": 156, "160": 156, "161": 156, "167": 95, "177": 95, "178": 96, "179": 97, "180": 98, "181": 100, "182": 101, "183": 103, "184": 104, "185": 105, "186": 106, "187": 107, "188": 109, "189": 113, "190": 114, "191": 117, "192": 118, "193": 118, "194": 118, "195": 119, "196": 120, "197": 120, "198": 120, "204": 3, "231": 3, "232": 7, "233": 8, "234": 9, "235": 10, "236": 12, "237": 13, "238": 15, "239": 16, "240": 18, "241": 21, "242": 22, "243": 25, "244": 25, "245": 25, "246": 28, "247": 29, "248": 29, "249": 29, "250": 31, "251": 32, "252": 32, "253": 32, "254": 32, "255": 34, "256": 34, "257": 35, "258": 35, "259": 36, "260": 37, "261": 37, "262": 37, "263": 39, "264": 40, "265": 41, "266": 42, "267": 42, "268": 42, "269": 42, "270": 42, "271": 42, "272": 42, "273": 45, "274": 46, "275": 47, "276": 47, "277": 47, "278": 49, "279": 50, "280": 51, "281": 51, "282": 51, "283": 53, "284": 54, "285": 54, "286": 54, "287": 56, "288": 57, "289": 57, "290": 58, "291": 59, "292": 60, "293": 61, "294": 61, "295": 61, "296": 63, "297": 64, "298": 64, "304": 298}, "filename": "themes/bootstrap3/templates/base_helper.tmpl", "uri": "base_helper.tmpl", "source_encoding": "utf-8"}
|
|
__M_END_METADATA
|
|
"""
|