initial commit to seperate repo
This commit is contained in:
commit
1a020ca68b
1302 changed files with 201261 additions and 0 deletions
BIN
.conf.py.swp
Normal file
BIN
.conf.py.swp
Normal file
Binary file not shown.
BIN
.doit.db
Normal file
BIN
.doit.db
Normal file
Binary file not shown.
BIN
.doit.db.db
Normal file
BIN
.doit.db.db
Normal file
Binary file not shown.
BIN
.doit_conflict-20150123-230009.db
Normal file
BIN
.doit_conflict-20150123-230009.db
Normal file
Binary file not shown.
BIN
.unison..doit.db.ef867961ae4d5c0f5a38b71787908c42.unison.tmp
Normal file
BIN
.unison..doit.db.ef867961ae4d5c0f5a38b71787908c42.unison.tmp
Normal file
Binary file not shown.
113
.unison.conf.py~.94b208a60a0996ad9dc8e4d09586e061.unison.tmp
Normal file
113
.unison.conf.py~.94b208a60a0996ad9dc8e4d09586e061.unison.tmp
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
from __future__ import unicode_literals
|
||||
import time
|
||||
BLOG_AUTHOR = "Don Harper" # (translatable)
|
||||
BLOG_TITLE = "duckland.org news" # (translatable)
|
||||
SITE_URL = "http://www.duckland.org/"
|
||||
BLOG_EMAIL = "duck@duckland.org"
|
||||
BLOG_DESCRIPTION = "News from duckland.org" # (translatable)
|
||||
DEFAULT_LANG = "en"
|
||||
TRANSLATIONS = {
|
||||
DEFAULT_LANG: "",
|
||||
# Example for another language:
|
||||
# "es": "./es",
|
||||
}
|
||||
TRANSLATIONS_PATTERN = "{path}.{lang}.{ext}"
|
||||
NAVIGATION_LINKS = {
|
||||
DEFAULT_LANG: (
|
||||
('/index.html', 'Home'),
|
||||
('/stories/about.html', 'About me'),
|
||||
(
|
||||
(
|
||||
('http://www.donaldharper.com', 'My Photo Blog'),
|
||||
('http://p365.donaldharper.com', 'My Attempt at a Project 365'),
|
||||
('http://www.duckland.org', 'My Personal and Tech Blog'),
|
||||
),
|
||||
'My Sites'
|
||||
),
|
||||
(
|
||||
(
|
||||
('https://twitter.com/duckunix', 'My Twitter'),
|
||||
('https://plus.google.com/+DonHarper/', 'My Google+'),
|
||||
('http://www.linkedin.com/in/donaldharper/', 'My LinkedIN'),
|
||||
),
|
||||
'Social Sites'
|
||||
),
|
||||
("/archive.html", "Archive"),
|
||||
("/categories/index.html", "Tags"),
|
||||
('/rss.xml', 'RSS'),
|
||||
),
|
||||
}
|
||||
THEME = "slate"
|
||||
TIMEZONE = "CDT6CST"
|
||||
DATE_FORMAT = '%Y-%m-%d'
|
||||
JS_DATE_FORMAT = 'YYYY-MM-DD'
|
||||
DATE_FANCINESS = 1
|
||||
POSTS = (
|
||||
("posts/*.rst", "posts", "post.tmpl"),
|
||||
("posts/*.txt", "posts", "post.tmpl"),
|
||||
("posts/*.html", "posts", "post.tmpl"),
|
||||
("posts/*.wp", "posts", "post.tmpl"),
|
||||
)
|
||||
PAGES = (
|
||||
("stories/*.rst", "stories", "story.tmpl"),
|
||||
("stories/*.txt", "stories", "story.tmpl"),
|
||||
)
|
||||
COMPILERS = {
|
||||
"rest": ('.rst', '.txt'),
|
||||
"markdown": ('.md', '.mdown', '.markdown'),
|
||||
"textile": ('.textile',),
|
||||
"txt2tags": ('.t2t',),
|
||||
"bbcode": ('.bb',),
|
||||
"wiki": ('.wiki',),
|
||||
"ipynb": ('.ipynb',),
|
||||
"html": ('.html', '.htm', '.wp'),
|
||||
"php": ('.php',),
|
||||
}
|
||||
SHOW_BLOG_TITLE = True
|
||||
FEED_LENGTH = 10
|
||||
REDIRECTIONS = []
|
||||
DEPLOY_COMMANDS = {
|
||||
'default': [
|
||||
"chmod -R a+rX output/",
|
||||
"rsync -a --delete -e 'ssh -x -i /home/don/.ssh/http -l duck' output/ duck@www:httpd/duckland.org/nikola",
|
||||
]
|
||||
}
|
||||
INDEX_READ_MORE_LINK = '<p class="more"><a href="{link}">{read_more}...a></p>'
|
||||
RSS_READ_MORE_LINK = '<p><a href="{link}">{read_more}...a> ({min_remaining_read})</p>'
|
||||
LICENSE = ""
|
||||
CONTENT_FOOTER = 'Contents © {date} <a href="mailto:{email}">{author}</a> - Powered by <a href="http://getnikola.com" rel="nofollow">Nikola</a> {license}'
|
||||
CONTENT_FOOTER_FORMATS = {
|
||||
DEFAULT_LANG: (
|
||||
(),
|
||||
{
|
||||
"email": BLOG_EMAIL,
|
||||
"author": BLOG_AUTHOR,
|
||||
"date": time.gmtime().tm_year,
|
||||
"license": LICENSE
|
||||
}
|
||||
)
|
||||
}
|
||||
COMMENT_SYSTEM = ""
|
||||
COMMENT_SYSTEM_ID = ""
|
||||
FUTURE_IS_NOW = False
|
||||
DEPLOY_DRAFTS = False
|
||||
SCHEDULE_ALL = True
|
||||
SHOW_SOURCELINK = False
|
||||
COPY_SOURCES = False
|
||||
INDEX_DISPLAY_POST_COUNT = 5
|
||||
UNSLUGIFY_TITLES = True
|
||||
LOGGING_HANDLERS = {
|
||||
#'stderr': {'loglevel': 'INFO', 'bubble': True},
|
||||
'smtp': {
|
||||
'from_addr': 'www.duckland.org@duckland.org',
|
||||
'recipients': ('duck@duckland.org'),
|
||||
'server_addr': ('127.0.0.1',25),
|
||||
'secure': (),
|
||||
'level': 'WARNING',
|
||||
'bubble': False
|
||||
}
|
||||
}
|
||||
GLOBAL_CONTEXT = {}
|
||||
GLOBAL_CONTEXT_FILLER = []
|
||||
CREATE_MONTHLY_ARCHIVE = True
|
||||
|
||||
BIN
__pycache__/conf.cpython-34.pyc
Normal file
BIN
__pycache__/conf.cpython-34.pyc
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/annotation_helper.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/annotation_helper.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/base.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/base.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/base_helper.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/base_helper.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/comments_helper.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/comments_helper.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/comments_helper_disqus.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/comments_helper_disqus.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/comments_helper_facebook.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/comments_helper_facebook.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/comments_helper_googleplus.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/comments_helper_googleplus.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/comments_helper_intensedebate.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/comments_helper_intensedebate.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/comments_helper_isso.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/comments_helper_isso.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/comments_helper_livefyre.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/comments_helper_livefyre.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/comments_helper_muut.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/comments_helper_muut.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/crumbs.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/crumbs.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/index.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/index.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/index_helper.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/index_helper.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/list.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/list.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/list_post.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/list_post.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/listing.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/listing.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/post.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/post.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/post_header.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/post_header.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/post_helper.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/post_helper.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/story.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/story.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/tag.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/tag.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
BIN
cache/.mako.tmp/__pycache__/tags.tmpl.cpython-34.pyc
vendored
Normal file
BIN
cache/.mako.tmp/__pycache__/tags.tmpl.cpython-34.pyc
vendored
Normal file
Binary file not shown.
51
cache/.mako.tmp/annotation_helper.tmpl.py
vendored
Normal file
51
cache/.mako.tmp/annotation_helper.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
# -*- coding:ascii -*-
|
||||
from mako import runtime, filters, cache
|
||||
UNDEFINED = runtime.UNDEFINED
|
||||
__M_dict_builtin = dict
|
||||
__M_locals_builtin = locals
|
||||
_magic_number = 10
|
||||
_modified_time = 1433908197.444199
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/annotation_helper.tmpl'
|
||||
_template_uri = 'annotation_helper.tmpl'
|
||||
_source_encoding = 'ascii'
|
||||
_exports = ['css', 'code']
|
||||
|
||||
|
||||
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\n')
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_css(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n <link rel="stylesheet" href="http://assets.annotateit.org/annotator/v1.2.5/annotator.min.css">\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_code(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n <script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>\n <script src="http://assets.annotateit.org/annotator/v1.2.7/annotator-full.js"></script>\n <script>\n jQuery(function ($) {\n $(\'body\').annotator().annotator(\'setupPlugins\', {}, {\n // Disable filter bar\n Filter: false\n });\n });\n </script>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/annotation_helper.tmpl", "uri": "annotation_helper.tmpl", "line_map": {"20": 3, "21": 16, "15": 0, "41": 5, "27": 1, "37": 5, "47": 41, "31": 1}, "source_encoding": "ascii"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
245
cache/.mako.tmp/base.tmpl.py
vendored
Normal file
245
cache/.mako.tmp/base.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,245 @@
|
|||
# -*- 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 = 1433908197.371334
|
||||
_enable_loop = True
|
||||
_template_filename = 'themes/bootstrap3/templates/base.tmpl'
|
||||
_template_uri = 'base.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['content', 'sourcelink', 'extra_js', 'belowtitle', 'extra_head']
|
||||
|
||||
|
||||
def _mako_get_namespace(context, name):
|
||||
try:
|
||||
return context.namespaces[(__name__, name)]
|
||||
except KeyError:
|
||||
_mako_generate_namespaces(context)
|
||||
return context.namespaces[(__name__, name)]
|
||||
def _mako_generate_namespaces(context):
|
||||
ns = runtime.TemplateNamespace('base', context._clean_inheritance_tokens(), templateuri='base_helper.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'base')] = ns
|
||||
|
||||
ns = runtime.TemplateNamespace('notes', context._clean_inheritance_tokens(), templateuri='annotation_helper.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'notes')] = ns
|
||||
|
||||
def render_body(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_locals = __M_dict_builtin(pageargs=pageargs)
|
||||
_import_ns = {}
|
||||
_mako_get_namespace(context, 'base')._populate(_import_ns, ['*'])
|
||||
_mako_get_namespace(context, 'notes')._populate(_import_ns, ['*'])
|
||||
annotations = _import_ns.get('annotations', context.get('annotations', UNDEFINED))
|
||||
logo_url = _import_ns.get('logo_url', context.get('logo_url', UNDEFINED))
|
||||
date_fanciness = _import_ns.get('date_fanciness', context.get('date_fanciness', UNDEFINED))
|
||||
js_date_format = _import_ns.get('js_date_format', context.get('js_date_format', UNDEFINED))
|
||||
def belowtitle():
|
||||
return render_belowtitle(context._locals(__M_locals))
|
||||
lang = _import_ns.get('lang', context.get('lang', UNDEFINED))
|
||||
post = _import_ns.get('post', context.get('post', UNDEFINED))
|
||||
len = _import_ns.get('len', context.get('len', UNDEFINED))
|
||||
def extra_js():
|
||||
return render_extra_js(context._locals(__M_locals))
|
||||
body_end = _import_ns.get('body_end', context.get('body_end', UNDEFINED))
|
||||
show_blog_title = _import_ns.get('show_blog_title', context.get('show_blog_title', UNDEFINED))
|
||||
template_hooks = _import_ns.get('template_hooks', context.get('template_hooks', UNDEFINED))
|
||||
messages = _import_ns.get('messages', context.get('messages', UNDEFINED))
|
||||
content_footer = _import_ns.get('content_footer', context.get('content_footer', UNDEFINED))
|
||||
def extra_head():
|
||||
return render_extra_head(context._locals(__M_locals))
|
||||
search_form = _import_ns.get('search_form', context.get('search_form', UNDEFINED))
|
||||
momentjs_locales = _import_ns.get('momentjs_locales', context.get('momentjs_locales', UNDEFINED))
|
||||
abs_link = _import_ns.get('abs_link', context.get('abs_link', UNDEFINED))
|
||||
blog_title = _import_ns.get('blog_title', context.get('blog_title', UNDEFINED))
|
||||
show_sourcelink = _import_ns.get('show_sourcelink', context.get('show_sourcelink', UNDEFINED))
|
||||
set_locale = _import_ns.get('set_locale', context.get('set_locale', UNDEFINED))
|
||||
def content():
|
||||
return render_content(context._locals(__M_locals))
|
||||
base = _mako_get_namespace(context, 'base')
|
||||
translations = _import_ns.get('translations', context.get('translations', UNDEFINED))
|
||||
notes = _mako_get_namespace(context, 'notes')
|
||||
def sourcelink():
|
||||
return render_sourcelink(context._locals(__M_locals))
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
__M_writer('\n')
|
||||
__M_writer(str(set_locale(lang)))
|
||||
__M_writer('\n')
|
||||
__M_writer(str(base.html_headstart()))
|
||||
__M_writer('\n')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'extra_head'):
|
||||
context['self'].extra_head(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n')
|
||||
__M_writer(str(template_hooks['extra_head']()))
|
||||
__M_writer('\n</head>\n<body>\n<a href="#content" class="sr-only sr-only-focusable">')
|
||||
__M_writer(str(messages("Skip to main content")))
|
||||
__M_writer('</a>\n\n<!-- Menubar -->\n\n<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">\n <div class="container"><!-- This keeps the margins nice -->\n <div class="navbar-header">\n <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">\n <span class="sr-only">Toggle navigation</span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </button>\n <a class="navbar-brand" href="')
|
||||
__M_writer(str(abs_link('/')))
|
||||
__M_writer('">\n')
|
||||
if logo_url:
|
||||
__M_writer(' <img src="')
|
||||
__M_writer(str(logo_url))
|
||||
__M_writer('" alt="')
|
||||
__M_writer(str(blog_title))
|
||||
__M_writer('" id="logo">\n')
|
||||
__M_writer('\n')
|
||||
if show_blog_title:
|
||||
__M_writer(' <span id="blog-title">')
|
||||
__M_writer(str(blog_title))
|
||||
__M_writer('</span>\n')
|
||||
__M_writer(' </a>\n </div><!-- /.navbar-header -->\n <div class="collapse navbar-collapse navbar-ex1-collapse">\n <ul class="nav navbar-nav">\n ')
|
||||
__M_writer(str(base.html_navigation_links()))
|
||||
__M_writer('\n ')
|
||||
__M_writer(str(template_hooks['menu']()))
|
||||
__M_writer('\n </ul>\n')
|
||||
if search_form:
|
||||
__M_writer(' ')
|
||||
__M_writer(str(search_form))
|
||||
__M_writer('\n')
|
||||
__M_writer('\n <ul class="nav navbar-nav navbar-right">\n ')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'belowtitle'):
|
||||
context['self'].belowtitle(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n')
|
||||
if show_sourcelink:
|
||||
__M_writer(' ')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'sourcelink'):
|
||||
context['self'].sourcelink(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n')
|
||||
__M_writer(' ')
|
||||
__M_writer(str(template_hooks['menu_alt']()))
|
||||
__M_writer('\n </ul>\n </div><!-- /.navbar-collapse -->\n </div><!-- /.container -->\n</nav>\n\n<!-- End of Menubar -->\n\n<div class="container" id="content">\n <div class="body-content">\n <!--Body content-->\n <div class="row">\n ')
|
||||
__M_writer(str(template_hooks['page_header']()))
|
||||
__M_writer('\n ')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'content'):
|
||||
context['self'].content(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n </div>\n <!--End of body content-->\n\n <footer>\n ')
|
||||
__M_writer(str(content_footer))
|
||||
__M_writer('\n ')
|
||||
__M_writer(str(template_hooks['page_footer']()))
|
||||
__M_writer('\n </footer>\n </div>\n</div>\n\n')
|
||||
__M_writer(str(base.late_load_js()))
|
||||
__M_writer('\n <script>jQuery("a.image-reference").colorbox({rel:"gal",maxWidth:"100%",maxHeight:"100%",scalePhotos:true});</script>\n <!-- fancy dates -->\n <script>\n moment.locale("')
|
||||
__M_writer(str(momentjs_locales[lang]))
|
||||
__M_writer('");\n fancydates(')
|
||||
__M_writer(str(date_fanciness))
|
||||
__M_writer(', ')
|
||||
__M_writer(str(js_date_format))
|
||||
__M_writer(');\n </script>\n <!-- end fancy dates -->\n ')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'extra_js'):
|
||||
context['self'].extra_js(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n')
|
||||
if annotations and post and not post.meta('noannotations'):
|
||||
__M_writer(' ')
|
||||
__M_writer(str(notes.code()))
|
||||
__M_writer('\n')
|
||||
elif not annotations and post and post.meta('annotations'):
|
||||
__M_writer(' ')
|
||||
__M_writer(str(notes.code()))
|
||||
__M_writer('\n')
|
||||
__M_writer(str(body_end))
|
||||
__M_writer('\n')
|
||||
__M_writer(str(template_hooks['body_end']()))
|
||||
__M_writer('\n</body>\n</html>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_content(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
_import_ns = {}
|
||||
_mako_get_namespace(context, 'base')._populate(_import_ns, ['*'])
|
||||
_mako_get_namespace(context, 'notes')._populate(_import_ns, ['*'])
|
||||
def content():
|
||||
return render_content(context)
|
||||
__M_writer = context.writer()
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_sourcelink(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
_import_ns = {}
|
||||
_mako_get_namespace(context, 'base')._populate(_import_ns, ['*'])
|
||||
_mako_get_namespace(context, 'notes')._populate(_import_ns, ['*'])
|
||||
def sourcelink():
|
||||
return render_sourcelink(context)
|
||||
__M_writer = context.writer()
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_extra_js(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
_import_ns = {}
|
||||
_mako_get_namespace(context, 'base')._populate(_import_ns, ['*'])
|
||||
_mako_get_namespace(context, 'notes')._populate(_import_ns, ['*'])
|
||||
def extra_js():
|
||||
return render_extra_js(context)
|
||||
__M_writer = context.writer()
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_belowtitle(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
_import_ns = {}
|
||||
_mako_get_namespace(context, 'base')._populate(_import_ns, ['*'])
|
||||
_mako_get_namespace(context, 'notes')._populate(_import_ns, ['*'])
|
||||
base = _mako_get_namespace(context, 'base')
|
||||
translations = _import_ns.get('translations', context.get('translations', UNDEFINED))
|
||||
def belowtitle():
|
||||
return render_belowtitle(context)
|
||||
len = _import_ns.get('len', context.get('len', UNDEFINED))
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if len(translations) > 1:
|
||||
__M_writer(' <li>')
|
||||
__M_writer(str(base.html_translations()))
|
||||
__M_writer('</li>\n')
|
||||
__M_writer(' ')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_extra_head(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
_import_ns = {}
|
||||
_mako_get_namespace(context, 'base')._populate(_import_ns, ['*'])
|
||||
_mako_get_namespace(context, 'notes')._populate(_import_ns, ['*'])
|
||||
def extra_head():
|
||||
return render_extra_head(context)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "themes/bootstrap3/templates/base.tmpl", "uri": "base.tmpl", "line_map": {"128": 71, "129": 72, "130": 72, "131": 77, "132": 77, "133": 81, "134": 81, "135": 82, "136": 82, "137": 82, "138": 82, "215": 45, "143": 85, "144": 86, "145": 87, "146": 87, "147": 87, "148": 88, "149": 89, "22": 2, "151": 89, "152": 91, "25": 3, "154": 92, "155": 92, "28": 0, "218": 47, "150": 89, "161": 66, "219": 47, "220": 49, "226": 6, "175": 51, "216": 46, "189": 85, "153": 91, "67": 2, "68": 3, "69": 4, "70": 4, "71": 5, "72": 5, "203": 45, "77": 8, "78": 9, "79": 9, "80": 12, "81": 12, "82": 25, "83": 25, "84": 26, "85": 27, "86": 27, "87": 27, "88": 27, "89": 27, "90": 29, "91": 30, "92": 31, "93": 31, "94": 31, "95": 33, "96": 37, "97": 37, "98": 38, "99": 38, "100": 40, "101": 41, "102": 41, "103": 41, "104": 43, "235": 6, "109": 49, "110": 50, "111": 51, "241": 235, "116": 51, "117": 53, "118": 53, "119": 53, "120": 65, "121": 65, "217": 47, "126": 66, "127": 71}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
308
cache/.mako.tmp/base_helper.tmpl.py
vendored
Normal file
308
cache/.mako.tmp/base_helper.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,308 @@
|
|||
# -*- 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 = 1433908197.4108295
|
||||
_enable_loop = True
|
||||
_template_filename = 'themes/bootstrap3/templates/base_helper.tmpl'
|
||||
_template_uri = 'base_helper.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['html_translations', 'html_headstart', 'late_load_js', 'html_stylesheets', 'html_navigation_links', 'html_feedlinks']
|
||||
|
||||
|
||||
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_html_translations(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
lang = context.get('lang', UNDEFINED)
|
||||
_link = context.get('_link', UNDEFINED)
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
translations = context.get('translations', 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_headstart(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
favicons = context.get('favicons', UNDEFINED)
|
||||
url_replacer = context.get('url_replacer', UNDEFINED)
|
||||
extra_head_data = context.get('extra_head_data', UNDEFINED)
|
||||
twitter_card = context.get('twitter_card', UNDEFINED)
|
||||
use_open_graph = context.get('use_open_graph', UNDEFINED)
|
||||
striphtml = context.get('striphtml', UNDEFINED)
|
||||
is_rtl = context.get('is_rtl', UNDEFINED)
|
||||
lang = context.get('lang', UNDEFINED)
|
||||
permalink = context.get('permalink', UNDEFINED)
|
||||
prevlink = context.get('prevlink', UNDEFINED)
|
||||
comment_system = context.get('comment_system', UNDEFINED)
|
||||
def html_stylesheets():
|
||||
return render_html_stylesheets(context)
|
||||
title = context.get('title', UNDEFINED)
|
||||
description = context.get('description', UNDEFINED)
|
||||
blog_title = context.get('blog_title', UNDEFINED)
|
||||
abs_link = context.get('abs_link', UNDEFINED)
|
||||
mathjax_config = context.get('mathjax_config', UNDEFINED)
|
||||
comment_system_id = context.get('comment_system_id', UNDEFINED)
|
||||
def html_feedlinks():
|
||||
return render_html_feedlinks(context)
|
||||
nextlink = context.get('nextlink', UNDEFINED)
|
||||
use_cdn = context.get('use_cdn', UNDEFINED)
|
||||
__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()
|
||||
|
||||
|
||||
def render_late_load_js(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
use_bundles = context.get('use_bundles', UNDEFINED)
|
||||
colorbox_locales = context.get('colorbox_locales', UNDEFINED)
|
||||
social_buttons_code = context.get('social_buttons_code', UNDEFINED)
|
||||
use_cdn = context.get('use_cdn', UNDEFINED)
|
||||
lang = context.get('lang', 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_stylesheets(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
annotations = context.get('annotations', UNDEFINED)
|
||||
use_bundles = context.get('use_bundles', UNDEFINED)
|
||||
use_cdn = context.get('use_cdn', UNDEFINED)
|
||||
has_custom_css = context.get('has_custom_css', UNDEFINED)
|
||||
notes = context.get('notes', UNDEFINED)
|
||||
post = context.get('post', 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_navigation_links(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
navigation_links = context.get('navigation_links', UNDEFINED)
|
||||
tuple = context.get('tuple', UNDEFINED)
|
||||
lang = context.get('lang', UNDEFINED)
|
||||
permalink = context.get('permalink', UNDEFINED)
|
||||
rel_link = context.get('rel_link', UNDEFINED)
|
||||
isinstance = context.get('isinstance', 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:
|
||||
translations = context.get('translations', UNDEFINED)
|
||||
_link = context.get('_link', UNDEFINED)
|
||||
generate_rss = context.get('generate_rss', UNDEFINED)
|
||||
len = context.get('len', UNDEFINED)
|
||||
rss_link = context.get('rss_link', 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()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "themes/bootstrap3/templates/base_helper.tmpl", "uri": "base_helper.tmpl", "line_map": {"15": 0, "20": 2, "21": 65, "22": 92, "23": 122, "24": 145, "25": 159, "26": 167, "32": 161, "40": 161, "41": 162, "42": 163, "43": 164, "44": 164, "45": 164, "46": 164, "47": 164, "48": 164, "49": 164, "55": 3, "82": 3, "83": 7, "84": 8, "85": 9, "86": 10, "87": 12, "88": 13, "89": 15, "90": 16, "91": 18, "92": 21, "93": 22, "94": 25, "95": 25, "96": 25, "97": 28, "98": 29, "99": 29, "100": 29, "101": 31, "102": 32, "103": 32, "104": 32, "105": 32, "106": 34, "107": 34, "108": 35, "109": 35, "110": 36, "111": 37, "112": 37, "113": 37, "114": 39, "115": 40, "116": 41, "117": 42, "118": 42, "119": 42, "120": 42, "121": 42, "122": 42, "123": 42, "124": 45, "125": 46, "126": 47, "127": 47, "128": 47, "129": 49, "130": 50, "131": 51, "132": 51, "133": 51, "134": 53, "135": 54, "136": 54, "137": 54, "138": 56, "139": 57, "140": 57, "141": 58, "142": 59, "143": 60, "144": 61, "145": 61, "146": 61, "147": 63, "148": 64, "149": 64, "155": 67, "164": 67, "165": 68, "166": 69, "167": 70, "168": 73, "169": 74, "170": 76, "171": 77, "172": 78, "173": 80, "174": 81, "175": 86, "176": 88, "177": 89, "178": 89, "179": 89, "180": 91, "181": 91, "182": 91, "188": 95, "198": 95, "199": 96, "200": 97, "201": 98, "202": 100, "203": 101, "204": 103, "205": 104, "206": 105, "207": 106, "208": 107, "209": 109, "210": 113, "211": 114, "212": 117, "213": 118, "214": 118, "215": 118, "216": 119, "217": 120, "218": 120, "219": 120, "225": 124, "235": 124, "236": 125, "237": 126, "238": 127, "239": 127, "240": 127, "241": 129, "242": 130, "243": 131, "244": 131, "245": 131, "246": 131, "247": 131, "248": 132, "249": 133, "250": 133, "251": 133, "252": 133, "253": 133, "254": 136, "255": 137, "256": 138, "257": 139, "258": 139, "259": 139, "260": 139, "261": 139, "262": 140, "263": 141, "264": 141, "265": 141, "266": 141, "267": 141, "273": 147, "282": 147, "283": 148, "284": 149, "285": 149, "286": 149, "287": 150, "288": 151, "289": 152, "290": 153, "291": 153, "292": 153, "293": 153, "294": 153, "295": 155, "296": 156, "297": 156, "298": 156, "304": 298}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
206
cache/.mako.tmp/comments_helper.tmpl.py
vendored
Normal file
206
cache/.mako.tmp/comments_helper.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,206 @@
|
|||
# -*- 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 = 1433908197.7142599
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/comments_helper.tmpl'
|
||||
_template_uri = 'comments_helper.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['comment_form', 'comment_link', 'comment_link_script']
|
||||
|
||||
|
||||
def _mako_get_namespace(context, name):
|
||||
try:
|
||||
return context.namespaces[(__name__, name)]
|
||||
except KeyError:
|
||||
_mako_generate_namespaces(context)
|
||||
return context.namespaces[(__name__, name)]
|
||||
def _mako_generate_namespaces(context):
|
||||
ns = runtime.TemplateNamespace('intensedebate', context._clean_inheritance_tokens(), templateuri='comments_helper_intensedebate.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'intensedebate')] = ns
|
||||
|
||||
ns = runtime.TemplateNamespace('livefyre', context._clean_inheritance_tokens(), templateuri='comments_helper_livefyre.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'livefyre')] = ns
|
||||
|
||||
ns = runtime.TemplateNamespace('muut', context._clean_inheritance_tokens(), templateuri='comments_helper_muut.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'muut')] = ns
|
||||
|
||||
ns = runtime.TemplateNamespace('isso', context._clean_inheritance_tokens(), templateuri='comments_helper_isso.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'isso')] = ns
|
||||
|
||||
ns = runtime.TemplateNamespace('disqus', context._clean_inheritance_tokens(), templateuri='comments_helper_disqus.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'disqus')] = ns
|
||||
|
||||
ns = runtime.TemplateNamespace('facebook', context._clean_inheritance_tokens(), templateuri='comments_helper_facebook.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'facebook')] = ns
|
||||
|
||||
ns = runtime.TemplateNamespace('googleplus', context._clean_inheritance_tokens(), templateuri='comments_helper_googleplus.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'googleplus')] = ns
|
||||
|
||||
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')
|
||||
__M_writer('\n')
|
||||
__M_writer('\n')
|
||||
__M_writer('\n')
|
||||
__M_writer('\n')
|
||||
__M_writer('\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_comment_form(context,url,title,identifier):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
livefyre = _mako_get_namespace(context, 'livefyre')
|
||||
isso = _mako_get_namespace(context, 'isso')
|
||||
disqus = _mako_get_namespace(context, 'disqus')
|
||||
googleplus = _mako_get_namespace(context, 'googleplus')
|
||||
intensedebate = _mako_get_namespace(context, 'intensedebate')
|
||||
muut = _mako_get_namespace(context, 'muut')
|
||||
comment_system = context.get('comment_system', UNDEFINED)
|
||||
facebook = _mako_get_namespace(context, 'facebook')
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if comment_system == 'disqus':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(disqus.comment_form(url, title, identifier)))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'livefyre':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(livefyre.comment_form(url, title, identifier)))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'intensedebate':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(intensedebate.comment_form(url, title, identifier)))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'muut':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(muut.comment_form(url, title, identifier)))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'googleplus':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(googleplus.comment_form(url, title, identifier)))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'facebook':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(facebook.comment_form(url, title, identifier)))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'isso':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(isso.comment_form(url, title, identifier)))
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_link(context,link,identifier):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
livefyre = _mako_get_namespace(context, 'livefyre')
|
||||
isso = _mako_get_namespace(context, 'isso')
|
||||
disqus = _mako_get_namespace(context, 'disqus')
|
||||
googleplus = _mako_get_namespace(context, 'googleplus')
|
||||
intensedebate = _mako_get_namespace(context, 'intensedebate')
|
||||
muut = _mako_get_namespace(context, 'muut')
|
||||
comment_system = context.get('comment_system', UNDEFINED)
|
||||
facebook = _mako_get_namespace(context, 'facebook')
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if comment_system == 'disqus':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(disqus.comment_link(link, identifier)))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'livefyre':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(livefyre.comment_link(link, identifier)))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'intensedebate':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(intensedebate.comment_link(link, identifier)))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'muut':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(muut.comment_link(link, identifier)))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'googleplus':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(googleplus.comment_link(link, identifier)))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'facebook':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(facebook.comment_link(link, identifier)))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'isso':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(isso.comment_link(link, identifier)))
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_link_script(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
livefyre = _mako_get_namespace(context, 'livefyre')
|
||||
isso = _mako_get_namespace(context, 'isso')
|
||||
disqus = _mako_get_namespace(context, 'disqus')
|
||||
googleplus = _mako_get_namespace(context, 'googleplus')
|
||||
intensedebate = _mako_get_namespace(context, 'intensedebate')
|
||||
muut = _mako_get_namespace(context, 'muut')
|
||||
comment_system = context.get('comment_system', UNDEFINED)
|
||||
facebook = _mako_get_namespace(context, 'facebook')
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if comment_system == 'disqus':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(disqus.comment_link_script()))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'livefyre':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(livefyre.comment_link_script()))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'intensedebate':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(intensedebate.comment_link_script()))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'muut':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(muut.comment_link_script()))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'googleplus':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(googleplus.comment_link_script()))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'facebook':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(facebook.comment_link_script()))
|
||||
__M_writer('\n')
|
||||
elif comment_system == 'isso':
|
||||
__M_writer(' ')
|
||||
__M_writer(str(isso.comment_link_script()))
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/comments_helper.tmpl", "uri": "comments_helper.tmpl", "line_map": {"22": 5, "25": 4, "28": 6, "31": 9, "34": 3, "37": 8, "40": 7, "43": 0, "48": 2, "49": 3, "50": 4, "51": 5, "52": 6, "53": 7, "54": 8, "55": 9, "56": 27, "57": 45, "58": 63, "64": 11, "76": 11, "77": 12, "78": 13, "79": 13, "80": 13, "81": 14, "82": 15, "83": 15, "84": 15, "85": 16, "86": 17, "87": 17, "88": 17, "89": 18, "90": 19, "91": 19, "92": 19, "93": 20, "94": 21, "95": 21, "96": 21, "97": 22, "98": 23, "99": 23, "100": 23, "101": 24, "102": 25, "103": 25, "104": 25, "110": 29, "122": 29, "123": 30, "124": 31, "125": 31, "126": 31, "127": 32, "128": 33, "129": 33, "130": 33, "131": 34, "132": 35, "133": 35, "134": 35, "135": 36, "136": 37, "137": 37, "138": 37, "139": 38, "140": 39, "141": 39, "142": 39, "143": 40, "144": 41, "145": 41, "146": 41, "147": 42, "148": 43, "149": 43, "150": 43, "156": 47, "168": 47, "169": 48, "170": 49, "171": 49, "172": 49, "173": 50, "174": 51, "175": 51, "176": 51, "177": 52, "178": 53, "179": 53, "180": 53, "181": 54, "182": 55, "183": 55, "184": 55, "185": 56, "186": 57, "187": 57, "188": 57, "189": 58, "190": 59, "191": 59, "192": 59, "193": 60, "194": 61, "195": 61, "196": 61, "202": 196}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
100
cache/.mako.tmp/comments_helper_disqus.tmpl.py
vendored
Normal file
100
cache/.mako.tmp/comments_helper_disqus.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
# -*- 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 = 1433908197.7357793
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/comments_helper_disqus.tmpl'
|
||||
_template_uri = 'comments_helper_disqus.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['comment_form', 'comment_link', 'comment_link_script']
|
||||
|
||||
|
||||
import json
|
||||
|
||||
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')
|
||||
__M_writer('\n\n\n')
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_form(context,url,title,identifier):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
comment_system_id = context.get('comment_system_id', UNDEFINED)
|
||||
lang = context.get('lang', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if comment_system_id:
|
||||
__M_writer(' <div id="disqus_thread"></div>\n <script>\n var disqus_shortname ="')
|
||||
__M_writer(str(comment_system_id))
|
||||
__M_writer('",\n')
|
||||
if url:
|
||||
__M_writer(' disqus_url="')
|
||||
__M_writer(str(url))
|
||||
__M_writer('",\n')
|
||||
__M_writer(' disqus_title=')
|
||||
__M_writer(str(json.dumps(title)))
|
||||
__M_writer(',\n disqus_identifier="')
|
||||
__M_writer(str(identifier))
|
||||
__M_writer('",\n disqus_config = function () {\n')
|
||||
if lang == 'es':
|
||||
__M_writer(' this.language = "es_ES";\n')
|
||||
else:
|
||||
__M_writer(' this.language = "')
|
||||
__M_writer(str(lang))
|
||||
__M_writer('";\n')
|
||||
__M_writer(' };\n (function() {\n var dsq = document.createElement(\'script\'); dsq.async = true;\n dsq.src = \'//\' + disqus_shortname + \'.disqus.com/embed.js\';\n (document.getElementsByTagName(\'head\')[0] || document.getElementsByTagName(\'body\')[0]).appendChild(dsq);\n })();\n </script>\n <noscript>Please enable JavaScript to view the <a href="//disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>\n <a href="//disqus.com" class="dsq-brlink" rel="nofollow">Comments powered by <span class="logo-disqus">Disqus</span></a>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_link(context,link,identifier):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
comment_system_id = context.get('comment_system_id', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if comment_system_id:
|
||||
__M_writer(' <a href="')
|
||||
__M_writer(str(link))
|
||||
__M_writer('#disqus_thread" data-disqus-identifier="')
|
||||
__M_writer(str(identifier))
|
||||
__M_writer('">Comments</a>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_link_script(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
comment_system_id = context.get('comment_system_id', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if comment_system_id:
|
||||
__M_writer(' <script>var disqus_shortname="')
|
||||
__M_writer(str(comment_system_id))
|
||||
__M_writer('";(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>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/comments_helper_disqus.tmpl", "uri": "comments_helper_disqus.tmpl", "line_map": {"15": 3, "17": 0, "22": 2, "23": 3, "24": 31, "25": 37, "26": 44, "32": 5, "38": 5, "39": 6, "40": 7, "41": 9, "42": 9, "43": 10, "44": 11, "45": 11, "46": 11, "47": 13, "48": 13, "49": 13, "50": 14, "51": 14, "52": 16, "53": 17, "54": 18, "55": 19, "56": 19, "57": 19, "58": 21, "64": 33, "69": 33, "70": 34, "71": 35, "72": 35, "73": 35, "74": 35, "75": 35, "81": 40, "86": 40, "87": 41, "88": 42, "89": 42, "90": 42, "96": 90}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
72
cache/.mako.tmp/comments_helper_facebook.tmpl.py
vendored
Normal file
72
cache/.mako.tmp/comments_helper_facebook.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
# -*- 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 = 1433908197.7696767
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/comments_helper_facebook.tmpl'
|
||||
_template_uri = 'comments_helper_facebook.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['comment_form', 'comment_link', 'comment_link_script']
|
||||
|
||||
|
||||
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\n')
|
||||
__M_writer('\n\n')
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_form(context,url,title,identifier):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
comment_system_id = context.get('comment_system_id', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n<div id="fb-root"></div>\n<script>\n window.fbAsyncInit = function() {\n // init the FB JS SDK\n FB.init({\n appId : \'')
|
||||
__M_writer(str(comment_system_id))
|
||||
__M_writer('\',\n status : true,\n xfbml : true\n });\n\n };\n\n // Load the SDK asynchronously\n (function(d, s, id){\n var js, fjs = d.getElementsByTagName(s)[0];\n if (d.getElementById(id)) {return;}\n js = d.createElement(s); js.id = id;\n js.src = "//connect.facebook.net/en_US/all.js";\n fjs.parentNode.insertBefore(js, fjs);\n }(document, \'script\', \'facebook-jssdk\'));\n</script>\n\n<div class="fb-comments" data-href="')
|
||||
__M_writer(str(url))
|
||||
__M_writer('" data-width="470"></div>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_link(context,link,identifier):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n<span class="fb-comments-count" data-url="')
|
||||
__M_writer(str(link))
|
||||
__M_writer('">\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_link_script(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
comment_system_id = context.get('comment_system_id', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n<div id="fb-root"></div>\n<script>\n // thank lxml for this\n $(\'.fb-comments-count\').each(function(i, obj) {\n var url = obj.attributes[\'data-url\'].value;\n // change here if you dislike the default way of displaying\n // this\n obj.innerHTML = \'<fb:comments-count href="\' + url + \'"></fb:comments-count> comments\';\n });\n\n window.fbAsyncInit = function() {\n // init the FB JS SDK\n FB.init({\n appId : \'')
|
||||
__M_writer(str(comment_system_id))
|
||||
__M_writer('\',\n status : true,\n xfbml : true\n });\n\n };\n\n // Load the SDK asynchronously\n (function(d, s, id){\n var js, fjs = d.getElementsByTagName(s)[0];\n if (d.getElementById(id)) {return;}\n js = d.createElement(s); js.id = id;\n js.src = "//connect.facebook.net/en_US/all.js";\n fjs.parentNode.insertBefore(js, fjs);\n }(document, \'script\', \'facebook-jssdk\'));\n</script>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/comments_helper_facebook.tmpl", "uri": "comments_helper_facebook.tmpl", "line_map": {"33": 2, "34": 8, "35": 8, "36": 25, "37": 25, "60": 32, "43": 28, "15": 0, "48": 29, "49": 29, "20": 26, "21": 30, "22": 62, "55": 32, "68": 62, "47": 28, "28": 2, "61": 46, "62": 46}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
66
cache/.mako.tmp/comments_helper_googleplus.tmpl.py
vendored
Normal file
66
cache/.mako.tmp/comments_helper_googleplus.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
# -*- 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 = 1433908197.7644007
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/comments_helper_googleplus.tmpl'
|
||||
_template_uri = 'comments_helper_googleplus.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['comment_form', 'comment_link', 'comment_link_script']
|
||||
|
||||
|
||||
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\n')
|
||||
__M_writer('\n\n')
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_form(context,url,title,identifier):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n<script src="https://apis.google.com/js/plusone.js"></script>\n<div class="g-comments"\n data-href="')
|
||||
__M_writer(str(url))
|
||||
__M_writer('"\n data-first_party_property="BLOGGER"\n data-view_type="FILTERED_POSTMOD">\n</div>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_link(context,link,identifier):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n<div class="g-commentcount" data-href="')
|
||||
__M_writer(str(link))
|
||||
__M_writer('"></div>\n<script src="https://apis.google.com/js/plusone.js"></script>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_link_script(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/comments_helper_googleplus.tmpl", "uri": "comments_helper_googleplus.tmpl", "line_map": {"32": 2, "33": 5, "34": 5, "40": 11, "44": 11, "45": 12, "46": 12, "15": 0, "20": 9, "21": 14, "22": 17, "56": 16, "52": 16, "28": 2, "62": 56}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
80
cache/.mako.tmp/comments_helper_intensedebate.tmpl.py
vendored
Normal file
80
cache/.mako.tmp/comments_helper_intensedebate.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
# -*- 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 = 1433908197.7522109
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/comments_helper_intensedebate.tmpl'
|
||||
_template_uri = 'comments_helper_intensedebate.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['comment_form', 'comment_link', 'comment_link_script']
|
||||
|
||||
|
||||
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\n')
|
||||
__M_writer('\n\n')
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_form(context,url,title,identifier):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
comment_system_id = context.get('comment_system_id', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer("\n<script>\nvar idcomments_acct = '")
|
||||
__M_writer(str(comment_system_id))
|
||||
__M_writer('\';\nvar idcomments_post_id = "')
|
||||
__M_writer(str(identifier))
|
||||
__M_writer('";\nvar idcomments_post_url = "')
|
||||
__M_writer(str(url))
|
||||
__M_writer('";\n</script>\n<span id="IDCommentsPostTitle" style="display:none"></span>\n<script src=\'http://www.intensedebate.com/js/genericCommentWrapperV2.js\'></script>\n</script>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_link(context,link,identifier):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
comment_system_id = context.get('comment_system_id', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n<a href="{link}" onclick="this.href=\'')
|
||||
__M_writer(str(link))
|
||||
__M_writer('\'; this.target=\'_self\';"><span class=\'IDCommentsReplace\' style=\'display:none\'>')
|
||||
__M_writer(str(identifier))
|
||||
__M_writer("</span>\n<script>\nvar idcomments_acct = '")
|
||||
__M_writer(str(comment_system_id))
|
||||
__M_writer('\';\nvar idcomments_post_id = "')
|
||||
__M_writer(str(identifier))
|
||||
__M_writer('";\nvar idcomments_post_url = "')
|
||||
__M_writer(str(link))
|
||||
__M_writer('";\n</script>\n<script src="http://www.intensedebate.com/js/genericLinkWrapperV2.js"></script>\n</a>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_link_script(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/comments_helper_intensedebate.tmpl", "uri": "comments_helper_intensedebate.tmpl", "line_map": {"66": 24, "70": 24, "76": 70, "15": 0, "20": 11, "21": 22, "22": 25, "28": 2, "33": 2, "34": 4, "35": 4, "36": 5, "37": 5, "38": 6, "39": 6, "45": 13, "50": 13, "51": 14, "52": 14, "53": 14, "54": 14, "55": 16, "56": 16, "57": 17, "58": 17, "59": 18, "60": 18}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
83
cache/.mako.tmp/comments_helper_isso.tmpl.py
vendored
Normal file
83
cache/.mako.tmp/comments_helper_isso.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
# -*- 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 = 1433908197.7779217
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/comments_helper_isso.tmpl'
|
||||
_template_uri = 'comments_helper_isso.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['comment_form', 'comment_link', 'comment_link_script']
|
||||
|
||||
|
||||
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\n')
|
||||
__M_writer('\n\n\n')
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_form(context,url,title,identifier):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
comment_system_id = context.get('comment_system_id', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if comment_system_id:
|
||||
__M_writer(' <div data-title="')
|
||||
__M_writer(filters.url_escape(str(title)))
|
||||
__M_writer('" id="isso-thread"></div>\n <script src="')
|
||||
__M_writer(str(comment_system_id))
|
||||
__M_writer('js/embed.min.js" data-isso="')
|
||||
__M_writer(str(comment_system_id))
|
||||
__M_writer('"></script>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_link(context,link,identifier):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
comment_system_id = context.get('comment_system_id', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if comment_system_id:
|
||||
__M_writer(' <a href="')
|
||||
__M_writer(str(link))
|
||||
__M_writer('#isso-thread">Comments</a>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_link_script(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
comment_system_id = context.get('comment_system_id', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if comment_system_id:
|
||||
__M_writer(' <script src="')
|
||||
__M_writer(str(comment_system_id))
|
||||
__M_writer('js/count.min.js" data-isso="')
|
||||
__M_writer(str(comment_system_id))
|
||||
__M_writer('"></script>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/comments_helper_isso.tmpl", "uri": "comments_helper_isso.tmpl", "line_map": {"67": 16, "68": 17, "69": 18, "70": 18, "71": 18, "72": 18, "73": 18, "15": 0, "20": 7, "21": 13, "22": 20, "79": 73, "28": 2, "33": 2, "34": 3, "35": 4, "36": 4, "37": 4, "38": 5, "39": 5, "40": 5, "41": 5, "47": 9, "52": 9, "53": 10, "54": 11, "55": 11, "56": 11, "62": 16}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
74
cache/.mako.tmp/comments_helper_livefyre.tmpl.py
vendored
Normal file
74
cache/.mako.tmp/comments_helper_livefyre.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
# -*- 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 = 1433908197.7451496
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/comments_helper_livefyre.tmpl'
|
||||
_template_uri = 'comments_helper_livefyre.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['comment_form', 'comment_link', 'comment_link_script']
|
||||
|
||||
|
||||
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\n')
|
||||
__M_writer('\n\n\n')
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_form(context,url,title,identifier):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
comment_system_id = context.get('comment_system_id', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n<div id="livefyre-comments"></div>\n<script src="http://zor.livefyre.com/wjs/v3.0/javascripts/livefyre.js"></script>\n<script>\n(function () {\n var articleId = "')
|
||||
__M_writer(str(identifier))
|
||||
__M_writer('";\n fyre.conv.load({}, [{\n el: \'livefyre-comments\',\n network: "livefyre.com",\n siteId: "')
|
||||
__M_writer(str(comment_system_id))
|
||||
__M_writer('",\n articleId: articleId,\n signed: false,\n collectionMeta: {\n articleId: articleId,\n url: fyre.conv.load.makeCollectionUrl(),\n }\n }], function() {});\n}());\n</script>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_link(context,link,identifier):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
comment_system_id = context.get('comment_system_id', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n <a href="')
|
||||
__M_writer(str(link))
|
||||
__M_writer('">\n <span class="livefyre-commentcount" data-lf-site-id="')
|
||||
__M_writer(str(comment_system_id))
|
||||
__M_writer('" data-lf-article-id="')
|
||||
__M_writer(str(identifier))
|
||||
__M_writer('">\n 0 Comments\n </span>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_link_script(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n<script src="http://zor.livefyre.com/wjs/v1.0/javascripts/CommentCount.js"></script>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/comments_helper_livefyre.tmpl", "uri": "comments_helper_livefyre.tmpl", "line_map": {"64": 31, "33": 2, "34": 7, "35": 7, "36": 11, "37": 11, "70": 64, "60": 31, "43": 23, "15": 0, "48": 23, "49": 24, "50": 24, "51": 25, "20": 21, "21": 28, "22": 33, "52": 25, "54": 25, "28": 2, "53": 25}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
70
cache/.mako.tmp/comments_helper_muut.tmpl.py
vendored
Normal file
70
cache/.mako.tmp/comments_helper_muut.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
# -*- 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 = 1433908197.7592924
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/comments_helper_muut.tmpl'
|
||||
_template_uri = 'comments_helper_muut.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['comment_form', 'comment_link', 'comment_link_script']
|
||||
|
||||
|
||||
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')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_form(context,url,title,identifier):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
comment_system_id = context.get('comment_system_id', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n <a class="muut" href="https://muut.com/i/')
|
||||
__M_writer(str(comment_system_id))
|
||||
__M_writer('/')
|
||||
__M_writer(str(identifier))
|
||||
__M_writer('">')
|
||||
__M_writer(str(comment_system_id))
|
||||
__M_writer(' forums</a>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_link(context,link,identifier):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_comment_link_script(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n<script src="//cdn.muut.com/1/moot.min.js"></script>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/comments_helper_muut.tmpl", "uri": "comments_helper_muut.tmpl", "line_map": {"34": 3, "35": 4, "36": 4, "37": 4, "38": 4, "39": 4, "40": 4, "66": 60, "46": 7, "15": 0, "50": 7, "20": 2, "21": 5, "22": 8, "23": 13, "56": 11, "60": 11, "29": 3}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
57
cache/.mako.tmp/crumbs.tmpl.py
vendored
Normal file
57
cache/.mako.tmp/crumbs.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
# -*- 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 = 1433908197.450669
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/crumbs.tmpl'
|
||||
_template_uri = 'crumbs.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['bar']
|
||||
|
||||
|
||||
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')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_bar(context,crumbs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
index_file = context.get('index_file', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if crumbs:
|
||||
__M_writer('<nav class="breadcrumbs">\n<ul class="breadcrumb">\n')
|
||||
for link, text in crumbs:
|
||||
if text != index_file:
|
||||
if link == '#':
|
||||
__M_writer(' <li>')
|
||||
__M_writer(str(text.rsplit('.html', 1)[0]))
|
||||
__M_writer('</li>\n')
|
||||
else:
|
||||
__M_writer(' <li><a href="')
|
||||
__M_writer(str(link))
|
||||
__M_writer('">')
|
||||
__M_writer(str(text))
|
||||
__M_writer('</a></li>\n')
|
||||
__M_writer('</ul>\n</nav>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/crumbs.tmpl", "uri": "crumbs.tmpl", "line_map": {"32": 3, "33": 4, "34": 5, "35": 7, "36": 8, "37": 9, "38": 10, "39": 10, "40": 10, "41": 11, "42": 12, "43": 12, "44": 12, "45": 12, "46": 12, "15": 0, "47": 16, "20": 2, "21": 19, "27": 3, "53": 47}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
170
cache/.mako.tmp/index.tmpl.py
vendored
Normal file
170
cache/.mako.tmp/index.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,170 @@
|
|||
# -*- 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 = 1433908197.68363
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/index.tmpl'
|
||||
_template_uri = 'index.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['content', 'content_header', 'extra_head']
|
||||
|
||||
|
||||
def _mako_get_namespace(context, name):
|
||||
try:
|
||||
return context.namespaces[(__name__, name)]
|
||||
except KeyError:
|
||||
_mako_generate_namespaces(context)
|
||||
return context.namespaces[(__name__, name)]
|
||||
def _mako_generate_namespaces(context):
|
||||
ns = runtime.TemplateNamespace('comments', context._clean_inheritance_tokens(), templateuri='comments_helper.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'comments')] = ns
|
||||
|
||||
ns = runtime.TemplateNamespace('helper', context._clean_inheritance_tokens(), templateuri='index_helper.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'helper')] = ns
|
||||
|
||||
def _mako_inherit(template, context):
|
||||
_mako_generate_namespaces(context)
|
||||
return runtime._inherit_from(context, 'base.tmpl', _template_uri)
|
||||
def render_body(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_locals = __M_dict_builtin(pageargs=pageargs)
|
||||
helper = _mako_get_namespace(context, 'helper')
|
||||
parent = context.get('parent', UNDEFINED)
|
||||
posts = context.get('posts', UNDEFINED)
|
||||
permalink = context.get('permalink', UNDEFINED)
|
||||
index_file = context.get('index_file', UNDEFINED)
|
||||
def content():
|
||||
return render_content(context._locals(__M_locals))
|
||||
def content_header():
|
||||
return render_content_header(context._locals(__M_locals))
|
||||
comments = _mako_get_namespace(context, 'comments')
|
||||
date_format = context.get('date_format', UNDEFINED)
|
||||
site_has_comments = context.get('site_has_comments', UNDEFINED)
|
||||
def extra_head():
|
||||
return render_extra_head(context._locals(__M_locals))
|
||||
index_teasers = context.get('index_teasers', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
__M_writer('\n')
|
||||
__M_writer('\n\n')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'extra_head'):
|
||||
context['self'].extra_head(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n\n')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'content'):
|
||||
context['self'].content(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_content(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
posts = context.get('posts', UNDEFINED)
|
||||
def content():
|
||||
return render_content(context)
|
||||
def content_header():
|
||||
return render_content_header(context)
|
||||
comments = _mako_get_namespace(context, 'comments')
|
||||
date_format = context.get('date_format', UNDEFINED)
|
||||
site_has_comments = context.get('site_has_comments', UNDEFINED)
|
||||
index_teasers = context.get('index_teasers', UNDEFINED)
|
||||
helper = _mako_get_namespace(context, 'helper')
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'content_header'):
|
||||
context['self'].content_header(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n<div class="postindex">\n')
|
||||
for post in posts:
|
||||
__M_writer(' <article class="h-entry post-')
|
||||
__M_writer(str(post.meta('type')))
|
||||
__M_writer('">\n <header>\n <h1 class="p-name entry-title"><a href="')
|
||||
__M_writer(str(post.permalink()))
|
||||
__M_writer('" class="u-url">')
|
||||
__M_writer(filters.html_escape(str(post.title())))
|
||||
__M_writer('</a></h1>\n <div class="metadata">\n <p class="byline author vcard"><span class="byline-name fn">')
|
||||
__M_writer(str(post.author()))
|
||||
__M_writer('</span></p>\n <p class="dateline"><a href="')
|
||||
__M_writer(str(post.permalink()))
|
||||
__M_writer('" rel="bookmark"><time class="published dt-published" datetime="')
|
||||
__M_writer(str(post.date.isoformat()))
|
||||
__M_writer('" title="')
|
||||
__M_writer(str(post.formatted_date(date_format)))
|
||||
__M_writer('">')
|
||||
__M_writer(str(post.formatted_date(date_format)))
|
||||
__M_writer('</time></a></p>\n')
|
||||
if not post.meta('nocomments') and site_has_comments:
|
||||
__M_writer(' <p class="commentline">')
|
||||
__M_writer(str(comments.comment_link(post.permalink(), post._base_path)))
|
||||
__M_writer('\n')
|
||||
__M_writer(' </div>\n </header>\n')
|
||||
if index_teasers:
|
||||
__M_writer(' <div class="p-summary entry-summary">\n ')
|
||||
__M_writer(str(post.text(teaser_only=True)))
|
||||
__M_writer('\n')
|
||||
else:
|
||||
__M_writer(' <div class="e-content entry-content">\n ')
|
||||
__M_writer(str(post.text(teaser_only=False)))
|
||||
__M_writer('\n')
|
||||
__M_writer(' </div>\n </article>\n')
|
||||
__M_writer('</div>\n')
|
||||
__M_writer(str(helper.html_pager()))
|
||||
__M_writer('\n')
|
||||
__M_writer(str(comments.comment_link_script()))
|
||||
__M_writer('\n')
|
||||
__M_writer(str(helper.mathjax_script(posts)))
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_content_header(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
def content_header():
|
||||
return render_content_header(context)
|
||||
__M_writer = context.writer()
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_extra_head(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
permalink = context.get('permalink', UNDEFINED)
|
||||
index_file = context.get('index_file', UNDEFINED)
|
||||
parent = context.get('parent', UNDEFINED)
|
||||
def extra_head():
|
||||
return render_extra_head(context)
|
||||
posts = context.get('posts', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n ')
|
||||
__M_writer(str(parent.extra_head()))
|
||||
__M_writer('\n')
|
||||
if posts and (permalink == '/' or permalink == '/' + index_file):
|
||||
__M_writer(' <link rel="prefetch" href="')
|
||||
__M_writer(str(posts[0].permalink()))
|
||||
__M_writer('" type="text/html">\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/index.tmpl", "uri": "index.tmpl", "line_map": {"133": 14, "144": 6, "22": 3, "25": 2, "154": 6, "155": 7, "156": 7, "157": 8, "158": 9, "31": 0, "160": 9, "166": 160, "51": 2, "52": 3, "53": 4, "58": 11, "159": 9, "63": 42, "69": 13, "83": 13, "88": 14, "89": 16, "90": 17, "91": 17, "92": 17, "93": 19, "94": 19, "95": 19, "96": 19, "97": 21, "98": 21, "99": 22, "100": 22, "101": 22, "102": 22, "103": 22, "104": 22, "105": 22, "106": 22, "107": 23, "108": 24, "109": 24, "110": 24, "111": 26, "112": 28, "113": 29, "114": 30, "115": 30, "116": 31, "117": 32, "118": 33, "119": 33, "120": 35, "121": 38, "122": 39, "123": 39, "124": 40, "125": 40, "126": 41, "127": 41}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
72
cache/.mako.tmp/index_helper.tmpl.py
vendored
Normal file
72
cache/.mako.tmp/index_helper.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
# -*- 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 = 1433908197.6988854
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/index_helper.tmpl'
|
||||
_template_uri = 'index_helper.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['mathjax_script', 'html_pager']
|
||||
|
||||
|
||||
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\n')
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_mathjax_script(context,posts):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
any = context.get('any', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if any(post.is_mathjax for post in posts):
|
||||
__M_writer(' <script type="text/x-mathjax-config">\n MathJax.Hub.Config({tex2jax: {inlineMath: [[\'$latex \',\'$\'], [\'\\\\(\',\'\\\\)\']]}});</script>\n <script src="/assets/js/mathjax.js"></script>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_html_pager(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
prevlink = context.get('prevlink', UNDEFINED)
|
||||
nextlink = context.get('nextlink', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if prevlink or nextlink:
|
||||
__M_writer(' <nav class="postindexpager">\n <ul class="pager">\n')
|
||||
if prevlink:
|
||||
__M_writer(' <li class="previous">\n <a href="')
|
||||
__M_writer(str(prevlink))
|
||||
__M_writer('" rel="prev">')
|
||||
__M_writer(str(messages("Newer posts")))
|
||||
__M_writer('</a>\n </li>\n')
|
||||
if nextlink:
|
||||
__M_writer(' <li class="next">\n <a href="')
|
||||
__M_writer(str(nextlink))
|
||||
__M_writer('" rel="next">')
|
||||
__M_writer(str(messages("Older posts")))
|
||||
__M_writer('</a>\n </li>\n')
|
||||
__M_writer(' </ul>\n </nav>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/index_helper.tmpl", "uri": "index_helper.tmpl", "line_map": {"68": 62, "15": 0, "20": 19, "21": 27, "27": 21, "32": 21, "33": 22, "34": 23, "40": 2, "47": 2, "48": 3, "49": 4, "50": 6, "51": 7, "52": 8, "53": 8, "54": 8, "55": 8, "56": 11, "57": 12, "58": 13, "59": 13, "60": 13, "61": 13, "62": 16}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
82
cache/.mako.tmp/list.tmpl.py
vendored
Normal file
82
cache/.mako.tmp/list.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
# -*- 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 = 1433908197.6433148
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/list.tmpl'
|
||||
_template_uri = 'list.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['content']
|
||||
|
||||
|
||||
def _mako_get_namespace(context, name):
|
||||
try:
|
||||
return context.namespaces[(__name__, name)]
|
||||
except KeyError:
|
||||
_mako_generate_namespaces(context)
|
||||
return context.namespaces[(__name__, name)]
|
||||
def _mako_generate_namespaces(context):
|
||||
pass
|
||||
def _mako_inherit(template, context):
|
||||
_mako_generate_namespaces(context)
|
||||
return runtime._inherit_from(context, 'base.tmpl', _template_uri)
|
||||
def render_body(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_locals = __M_dict_builtin(pageargs=pageargs)
|
||||
def content():
|
||||
return render_content(context._locals(__M_locals))
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
title = context.get('title', UNDEFINED)
|
||||
items = context.get('items', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n\n')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'content'):
|
||||
context['self'].content(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_content(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
def content():
|
||||
return render_content(context)
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
title = context.get('title', UNDEFINED)
|
||||
items = context.get('items', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n<article class="listpage">\n <header>\n <h1>')
|
||||
__M_writer(str(title))
|
||||
__M_writer('</h1>\n </header>\n')
|
||||
if items:
|
||||
__M_writer(' <ul class="postlist">\n')
|
||||
for text, link in items:
|
||||
__M_writer(' <li><a href="')
|
||||
__M_writer(str(link))
|
||||
__M_writer('">')
|
||||
__M_writer(str(text))
|
||||
__M_writer('</a>\n')
|
||||
__M_writer(' </ul>\n')
|
||||
else:
|
||||
__M_writer(' <p>')
|
||||
__M_writer(str(messages("Nothing found.")))
|
||||
__M_writer('</p>\n')
|
||||
__M_writer('</article>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/list.tmpl", "uri": "list.tmpl", "line_map": {"64": 12, "65": 12, "66": 12, "67": 14, "68": 15, "69": 16, "70": 16, "71": 16, "72": 18, "78": 72, "26": 0, "36": 2, "41": 19, "47": 4, "56": 4, "57": 7, "58": 7, "59": 9, "60": 10, "61": 11, "62": 12, "63": 12}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
90
cache/.mako.tmp/list_post.tmpl.py
vendored
Normal file
90
cache/.mako.tmp/list_post.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
# -*- 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 = 1433908197.656327
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/list_post.tmpl'
|
||||
_template_uri = 'list_post.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['content']
|
||||
|
||||
|
||||
def _mako_get_namespace(context, name):
|
||||
try:
|
||||
return context.namespaces[(__name__, name)]
|
||||
except KeyError:
|
||||
_mako_generate_namespaces(context)
|
||||
return context.namespaces[(__name__, name)]
|
||||
def _mako_generate_namespaces(context):
|
||||
pass
|
||||
def _mako_inherit(template, context):
|
||||
_mako_generate_namespaces(context)
|
||||
return runtime._inherit_from(context, 'base.tmpl', _template_uri)
|
||||
def render_body(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_locals = __M_dict_builtin(pageargs=pageargs)
|
||||
def content():
|
||||
return render_content(context._locals(__M_locals))
|
||||
date_format = context.get('date_format', UNDEFINED)
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
title = context.get('title', UNDEFINED)
|
||||
posts = context.get('posts', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n\n')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'content'):
|
||||
context['self'].content(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_content(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
def content():
|
||||
return render_content(context)
|
||||
date_format = context.get('date_format', UNDEFINED)
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
title = context.get('title', UNDEFINED)
|
||||
posts = context.get('posts', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n<article class="listpage">\n <header>\n <h1>')
|
||||
__M_writer(str(title))
|
||||
__M_writer('</h1>\n </header>\n')
|
||||
if posts:
|
||||
__M_writer(' <ul class="postlist">\n')
|
||||
for post in posts:
|
||||
__M_writer(' <li><a href="')
|
||||
__M_writer(str(post.permalink()))
|
||||
__M_writer('" class="listtitle">')
|
||||
__M_writer(filters.html_escape(str(post.title())))
|
||||
__M_writer('</a> <time class="listdate" datetime="')
|
||||
__M_writer(str(post.date.isoformat()))
|
||||
__M_writer('" title="')
|
||||
__M_writer(str(post.formatted_date(date_format)))
|
||||
__M_writer('">')
|
||||
__M_writer(str(post.formatted_date(date_format)))
|
||||
__M_writer('</time></li>\n')
|
||||
__M_writer(' </ul>\n')
|
||||
else:
|
||||
__M_writer(' <p>')
|
||||
__M_writer(str(messages("No posts found.")))
|
||||
__M_writer('</p>\n')
|
||||
__M_writer('</article>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/list_post.tmpl", "uri": "list_post.tmpl", "line_map": {"64": 12, "65": 12, "66": 12, "67": 12, "68": 12, "69": 12, "70": 12, "71": 12, "72": 12, "73": 12, "74": 12, "75": 14, "76": 15, "77": 16, "78": 16, "79": 16, "80": 18, "86": 80, "26": 0, "37": 2, "42": 19, "48": 4, "58": 4, "59": 7, "60": 7, "61": 9, "62": 10, "63": 11}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
129
cache/.mako.tmp/listing.tmpl.py
vendored
Normal file
129
cache/.mako.tmp/listing.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,129 @@
|
|||
# -*- 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 = 1433908197.3515348
|
||||
_enable_loop = True
|
||||
_template_filename = 'themes/bootstrap3/templates/listing.tmpl'
|
||||
_template_uri = 'listing.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['content', 'sourcelink']
|
||||
|
||||
|
||||
def _mako_get_namespace(context, name):
|
||||
try:
|
||||
return context.namespaces[(__name__, name)]
|
||||
except KeyError:
|
||||
_mako_generate_namespaces(context)
|
||||
return context.namespaces[(__name__, name)]
|
||||
def _mako_generate_namespaces(context):
|
||||
ns = runtime.TemplateNamespace('ui', context._clean_inheritance_tokens(), templateuri='crumbs.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'ui')] = ns
|
||||
|
||||
def _mako_inherit(template, context):
|
||||
_mako_generate_namespaces(context)
|
||||
return runtime._inherit_from(context, 'base.tmpl', _template_uri)
|
||||
def render_body(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_locals = __M_dict_builtin(pageargs=pageargs)
|
||||
_import_ns = {}
|
||||
_mako_get_namespace(context, 'ui')._populate(_import_ns, ['bar'])
|
||||
crumbs = _import_ns.get('crumbs', context.get('crumbs', UNDEFINED))
|
||||
def content():
|
||||
return render_content(context._locals(__M_locals))
|
||||
ui = _mako_get_namespace(context, 'ui')
|
||||
files = _import_ns.get('files', context.get('files', UNDEFINED))
|
||||
folders = _import_ns.get('folders', context.get('folders', UNDEFINED))
|
||||
source_link = _import_ns.get('source_link', context.get('source_link', UNDEFINED))
|
||||
def sourcelink():
|
||||
return render_sourcelink(context._locals(__M_locals))
|
||||
messages = _import_ns.get('messages', context.get('messages', UNDEFINED))
|
||||
code = _import_ns.get('code', context.get('code', UNDEFINED))
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
__M_writer('\n\n')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'content'):
|
||||
context['self'].content(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n\n')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'sourcelink'):
|
||||
context['self'].sourcelink(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_content(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
_import_ns = {}
|
||||
_mako_get_namespace(context, 'ui')._populate(_import_ns, ['bar'])
|
||||
crumbs = _import_ns.get('crumbs', context.get('crumbs', UNDEFINED))
|
||||
def content():
|
||||
return render_content(context)
|
||||
ui = _mako_get_namespace(context, 'ui')
|
||||
files = _import_ns.get('files', context.get('files', UNDEFINED))
|
||||
folders = _import_ns.get('folders', context.get('folders', UNDEFINED))
|
||||
code = _import_ns.get('code', context.get('code', UNDEFINED))
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
__M_writer(str(ui.bar(crumbs)))
|
||||
__M_writer('\n')
|
||||
if folders or files:
|
||||
__M_writer('<ul class="list-unstyled">\n')
|
||||
for name in folders:
|
||||
__M_writer(' <li><a href="')
|
||||
__M_writer(str(name))
|
||||
__M_writer('"><i class="glyphicon glyphicon-folder-open"></i> ')
|
||||
__M_writer(str(name))
|
||||
__M_writer('</a>\n')
|
||||
for name in files:
|
||||
__M_writer(' <li><a href="')
|
||||
__M_writer(str(name))
|
||||
__M_writer('.html"><i class="glyphicon glyphicon-file"></i> ')
|
||||
__M_writer(str(name))
|
||||
__M_writer('</a>\n')
|
||||
__M_writer('</ul>\n')
|
||||
if code:
|
||||
__M_writer(' ')
|
||||
__M_writer(str(code))
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_sourcelink(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
_import_ns = {}
|
||||
_mako_get_namespace(context, 'ui')._populate(_import_ns, ['bar'])
|
||||
source_link = _import_ns.get('source_link', context.get('source_link', UNDEFINED))
|
||||
def sourcelink():
|
||||
return render_sourcelink(context)
|
||||
messages = _import_ns.get('messages', context.get('messages', UNDEFINED))
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if source_link:
|
||||
__M_writer(' <li>\n <a href="')
|
||||
__M_writer(str(source_link))
|
||||
__M_writer('" id="sourcelink">')
|
||||
__M_writer(str(messages("Source")))
|
||||
__M_writer('</a>\n </li>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "themes/bootstrap3/templates/listing.tmpl", "uri": "listing.tmpl", "line_map": {"22": 3, "76": 5, "77": 6, "78": 6, "79": 7, "80": 8, "81": 9, "82": 10, "83": 10, "84": 10, "85": 10, "86": 10, "87": 12, "88": 13, "89": 13, "90": 13, "91": 13, "28": 0, "93": 15, "94": 17, "95": 18, "96": 18, "97": 18, "116": 25, "103": 22, "92": 13, "46": 2, "47": 3, "113": 22, "114": 23, "115": 24, "52": 20, "117": 25, "118": 25, "119": 25, "57": 28, "125": 119, "63": 5}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
188
cache/.mako.tmp/post.tmpl.py
vendored
Normal file
188
cache/.mako.tmp/post.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,188 @@
|
|||
# -*- 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 = 1433908197.8076608
|
||||
_enable_loop = True
|
||||
_template_filename = 'themes/bootstrap/templates/post.tmpl'
|
||||
_template_uri = 'post.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['content', 'sourcelink', 'extra_head']
|
||||
|
||||
|
||||
def _mako_get_namespace(context, name):
|
||||
try:
|
||||
return context.namespaces[(__name__, name)]
|
||||
except KeyError:
|
||||
_mako_generate_namespaces(context)
|
||||
return context.namespaces[(__name__, name)]
|
||||
def _mako_generate_namespaces(context):
|
||||
ns = runtime.TemplateNamespace('comments', context._clean_inheritance_tokens(), templateuri='comments_helper.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'comments')] = ns
|
||||
|
||||
ns = runtime.TemplateNamespace('pheader', context._clean_inheritance_tokens(), templateuri='post_header.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'pheader')] = ns
|
||||
|
||||
ns = runtime.TemplateNamespace('helper', context._clean_inheritance_tokens(), templateuri='post_helper.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'helper')] = ns
|
||||
|
||||
def _mako_inherit(template, context):
|
||||
_mako_generate_namespaces(context)
|
||||
return runtime._inherit_from(context, 'base.tmpl', _template_uri)
|
||||
def render_body(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_locals = __M_dict_builtin(pageargs=pageargs)
|
||||
pheader = _mako_get_namespace(context, 'pheader')
|
||||
parent = context.get('parent', UNDEFINED)
|
||||
show_sourcelink = context.get('show_sourcelink', UNDEFINED)
|
||||
post = context.get('post', UNDEFINED)
|
||||
def content():
|
||||
return render_content(context._locals(__M_locals))
|
||||
comments = _mako_get_namespace(context, 'comments')
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
site_has_comments = context.get('site_has_comments', UNDEFINED)
|
||||
def sourcelink():
|
||||
return render_sourcelink(context._locals(__M_locals))
|
||||
def extra_head():
|
||||
return render_extra_head(context._locals(__M_locals))
|
||||
helper = _mako_get_namespace(context, 'helper')
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
__M_writer('\n')
|
||||
__M_writer('\n')
|
||||
__M_writer('\n\n')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'extra_head'):
|
||||
context['self'].extra_head(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n\n')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'content'):
|
||||
context['self'].content(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n\n')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'sourcelink'):
|
||||
context['self'].sourcelink(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_content(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
def content():
|
||||
return render_content(context)
|
||||
pheader = _mako_get_namespace(context, 'pheader')
|
||||
comments = _mako_get_namespace(context, 'comments')
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
site_has_comments = context.get('site_has_comments', UNDEFINED)
|
||||
post = context.get('post', UNDEFINED)
|
||||
helper = _mako_get_namespace(context, 'helper')
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n<article class="post-')
|
||||
__M_writer(str(post.meta('type')))
|
||||
__M_writer(' h-entry hentry postpage" itemscope="itemscope" itemtype="http://schema.org/Article">\n ')
|
||||
__M_writer(str(pheader.html_post_header()))
|
||||
__M_writer('\n <div class="e-content entry-content" itemprop="articleBody text">\n ')
|
||||
__M_writer(str(post.text()))
|
||||
__M_writer('\n </div>\n <aside class="postpromonav">\n <nav>\n ')
|
||||
__M_writer(str(helper.html_tags(post)))
|
||||
__M_writer('\n ')
|
||||
__M_writer(str(helper.html_pager(post)))
|
||||
__M_writer('\n </nav>\n </aside>\n')
|
||||
if not post.meta('nocomments') and site_has_comments:
|
||||
__M_writer(' <section class="comments">\n <h2>')
|
||||
__M_writer(str(messages("Comments")))
|
||||
__M_writer('</h2>\n ')
|
||||
__M_writer(str(comments.comment_form(post.permalink(absolute=True), post.title(), post._base_path)))
|
||||
__M_writer('\n </section>\n')
|
||||
__M_writer(' ')
|
||||
__M_writer(str(helper.mathjax_script(post)))
|
||||
__M_writer('\n</article>\n')
|
||||
__M_writer(str(comments.comment_link_script()))
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_sourcelink(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
show_sourcelink = context.get('show_sourcelink', UNDEFINED)
|
||||
def sourcelink():
|
||||
return render_sourcelink(context)
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
post = context.get('post', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if show_sourcelink:
|
||||
__M_writer(' <li>\n <a href="')
|
||||
__M_writer(str(post.source_link()))
|
||||
__M_writer('" id="sourcelink">')
|
||||
__M_writer(str(messages("Source")))
|
||||
__M_writer('</a>\n </li>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_extra_head(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
helper = _mako_get_namespace(context, 'helper')
|
||||
parent = context.get('parent', UNDEFINED)
|
||||
def extra_head():
|
||||
return render_extra_head(context)
|
||||
post = context.get('post', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n ')
|
||||
__M_writer(str(parent.extra_head()))
|
||||
__M_writer('\n')
|
||||
if post.meta('keywords'):
|
||||
__M_writer(' <meta name="keywords" content="')
|
||||
__M_writer(filters.html_escape(str(post.meta('keywords'))))
|
||||
__M_writer('">\n')
|
||||
if post.description():
|
||||
__M_writer(' <meta name="description" itemprop="description" content="')
|
||||
__M_writer(str(post.description()))
|
||||
__M_writer('">\n')
|
||||
__M_writer(' <meta name="author" content="')
|
||||
__M_writer(str(post.author()))
|
||||
__M_writer('">\n')
|
||||
if post.prev_post:
|
||||
__M_writer(' <link rel="prev" href="')
|
||||
__M_writer(str(post.prev_post.permalink()))
|
||||
__M_writer('" title="')
|
||||
__M_writer(str(post.prev_post.title()))
|
||||
__M_writer('" type="text/html">\n')
|
||||
if post.next_post:
|
||||
__M_writer(' <link rel="next" href="')
|
||||
__M_writer(str(post.next_post.permalink()))
|
||||
__M_writer('" title="')
|
||||
__M_writer(str(post.next_post.title()))
|
||||
__M_writer('" type="text/html">\n')
|
||||
__M_writer(' ')
|
||||
__M_writer(str(helper.open_graph_metadata(post)))
|
||||
__M_writer('\n ')
|
||||
__M_writer(str(helper.twitter_card_information(post)))
|
||||
__M_writer('\n ')
|
||||
__M_writer(str(helper.meta_translations(post)))
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "themes/bootstrap/templates/post.tmpl", "uri": "post.tmpl", "line_map": {"128": 53, "129": 53, "130": 53, "131": 53, "150": 10, "162": 17, "137": 7, "146": 7, "147": 8, "148": 8, "149": 9, "22": 4, "151": 10, "152": 10, "25": 3, "154": 13, "155": 13, "28": 2, "157": 15, "158": 15, "159": 15, "160": 16, "161": 17, "34": 0, "163": 17, "164": 17, "165": 17, "166": 19, "167": 20, "168": 20, "156": 13, "170": 20, "171": 20, "172": 22, "173": 22, "174": 22, "175": 23, "176": 23, "177": 24, "178": 24, "53": 2, "54": 3, "55": 4, "56": 5, "61": 25, "66": 48, "71": 56, "77": 27, "184": 178, "89": 27, "90": 28, "91": 28, "92": 29, "93": 29, "94": 31, "95": 31, "96": 35, "97": 35, "98": 36, "99": 36, "100": 39, "101": 40, "102": 41, "103": 41, "104": 42, "105": 42, "106": 45, "107": 45, "108": 45, "109": 47, "110": 47, "116": 50, "169": 20, "153": 12, "125": 50, "126": 51, "127": 52}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
166
cache/.mako.tmp/post_header.tmpl.py
vendored
Normal file
166
cache/.mako.tmp/post_header.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,166 @@
|
|||
# -*- 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 = 1433908197.864289
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/post_header.tmpl'
|
||||
_template_uri = 'post_header.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['html_post_header', 'html_sourcelink', 'html_translations', 'html_title']
|
||||
|
||||
|
||||
def _mako_get_namespace(context, name):
|
||||
try:
|
||||
return context.namespaces[(__name__, name)]
|
||||
except KeyError:
|
||||
_mako_generate_namespaces(context)
|
||||
return context.namespaces[(__name__, name)]
|
||||
def _mako_generate_namespaces(context):
|
||||
ns = runtime.TemplateNamespace('comments', context._clean_inheritance_tokens(), templateuri='comments_helper.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'comments')] = ns
|
||||
|
||||
ns = runtime.TemplateNamespace('helper', context._clean_inheritance_tokens(), templateuri='post_helper.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'helper')] = ns
|
||||
|
||||
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')
|
||||
__M_writer('\n\n')
|
||||
__M_writer('\n\n')
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_html_post_header(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
def html_sourcelink():
|
||||
return render_html_sourcelink(context)
|
||||
post = context.get('post', UNDEFINED)
|
||||
def html_translations(post):
|
||||
return render_html_translations(context,post)
|
||||
comments = _mako_get_namespace(context, 'comments')
|
||||
date_format = context.get('date_format', UNDEFINED)
|
||||
site_has_comments = context.get('site_has_comments', UNDEFINED)
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
def html_title():
|
||||
return render_html_title(context)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n <header>\n ')
|
||||
__M_writer(str(html_title()))
|
||||
__M_writer('\n <div class="metadata">\n <p class="byline author vcard"><span class="byline-name fn">')
|
||||
__M_writer(str(post.author()))
|
||||
__M_writer('</span></p>\n <p class="dateline"><a href="')
|
||||
__M_writer(str(post.permalink()))
|
||||
__M_writer('" rel="bookmark"><time class="published dt-published" datetime="')
|
||||
__M_writer(str(post.date.isoformat()))
|
||||
__M_writer('" itemprop="datePublished" title="')
|
||||
__M_writer(str(post.formatted_date(date_format)))
|
||||
__M_writer('">')
|
||||
__M_writer(str(post.formatted_date(date_format)))
|
||||
__M_writer('</time></a></p>\n')
|
||||
if not post.meta('nocomments') and site_has_comments:
|
||||
__M_writer(' <p class="commentline">')
|
||||
__M_writer(str(comments.comment_link(post.permalink(), post._base_path)))
|
||||
__M_writer('\n')
|
||||
__M_writer(' ')
|
||||
__M_writer(str(html_sourcelink()))
|
||||
__M_writer('\n')
|
||||
if post.meta('link'):
|
||||
__M_writer(" <p><a href='")
|
||||
__M_writer(str(post.meta('link')))
|
||||
__M_writer("'>")
|
||||
__M_writer(str(messages("Original site")))
|
||||
__M_writer('</a></p>\n')
|
||||
if post.description():
|
||||
__M_writer(' <meta name="description" itemprop="description" content="')
|
||||
__M_writer(str(post.description()))
|
||||
__M_writer('">\n')
|
||||
__M_writer(' </div>\n ')
|
||||
__M_writer(str(html_translations(post)))
|
||||
__M_writer('\n </header>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_html_sourcelink(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
show_sourcelink = context.get('show_sourcelink', UNDEFINED)
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
post = context.get('post', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if show_sourcelink:
|
||||
__M_writer(' <p class="sourceline"><a href="')
|
||||
__M_writer(str(post.source_link()))
|
||||
__M_writer('" id="sourcelink">')
|
||||
__M_writer(str(messages("Source")))
|
||||
__M_writer('</a></p>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_html_translations(context,post):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
translations = context.get('translations', UNDEFINED)
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
len = context.get('len', UNDEFINED)
|
||||
lang = context.get('lang', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if len(post.translated_to) > 1:
|
||||
__M_writer(' <div class="metadata posttranslations translations">\n <h3 class="posttranslations-intro">')
|
||||
__M_writer(str(messages("Also available in:")))
|
||||
__M_writer('</h3>\n')
|
||||
for langname in translations.keys():
|
||||
if langname != lang and post.is_translation_available(langname):
|
||||
__M_writer(' <p><a href="')
|
||||
__M_writer(str(post.permalink(langname)))
|
||||
__M_writer('" rel="alternate" hreflang="')
|
||||
__M_writer(str(langname))
|
||||
__M_writer('">')
|
||||
__M_writer(str(messages("LANGUAGE", langname)))
|
||||
__M_writer('</a></p>\n')
|
||||
__M_writer(' </div>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_html_title(context):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
title = context.get('title', UNDEFINED)
|
||||
post = context.get('post', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if title and not post.meta('hidetitle'):
|
||||
__M_writer(' <h1 class="p-name entry-title" itemprop="headline name"><a href="')
|
||||
__M_writer(str(post.permalink()))
|
||||
__M_writer('" class="u-url">')
|
||||
__M_writer(filters.html_escape(str(post.title())))
|
||||
__M_writer('</a></h1>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/post_header.tmpl", "uri": "post_header.tmpl", "line_map": {"128": 14, "129": 15, "130": 16, "131": 17, "132": 17, "133": 17, "134": 17, "135": 17, "136": 17, "137": 17, "138": 20, "144": 5, "22": 3, "151": 6, "152": 7, "25": 2, "154": 7, "155": 7, "28": 0, "150": 5, "33": 2, "34": 3, "35": 9, "36": 22, "37": 28, "38": 49, "156": 7, "44": 30, "162": 156, "59": 30, "60": 32, "61": 32, "62": 34, "63": 34, "64": 35, "65": 35, "66": 35, "67": 35, "68": 35, "69": 35, "70": 35, "71": 35, "72": 36, "73": 37, "74": 37, "75": 37, "76": 39, "77": 39, "78": 39, "79": 40, "80": 41, "81": 41, "82": 41, "83": 41, "84": 41, "85": 43, "86": 44, "87": 44, "88": 44, "89": 46, "90": 47, "91": 47, "97": 24, "104": 24, "105": 25, "106": 26, "107": 26, "108": 26, "109": 26, "110": 26, "116": 11, "153": 7, "124": 11, "125": 12, "126": 13, "127": 14}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
199
cache/.mako.tmp/post_helper.tmpl.py
vendored
Normal file
199
cache/.mako.tmp/post_helper.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,199 @@
|
|||
# -*- 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 = 1433908197.8354921
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/post_helper.tmpl'
|
||||
_template_uri = 'post_helper.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['open_graph_metadata', 'twitter_card_information', 'html_pager', 'meta_translations', 'mathjax_script', 'html_tags']
|
||||
|
||||
|
||||
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')
|
||||
__M_writer('\n\n')
|
||||
__M_writer('\n\n')
|
||||
__M_writer('\n\n')
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_open_graph_metadata(context,post):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
url_replacer = context.get('url_replacer', UNDEFINED)
|
||||
abs_link = context.get('abs_link', UNDEFINED)
|
||||
blog_title = context.get('blog_title', UNDEFINED)
|
||||
use_open_graph = context.get('use_open_graph', UNDEFINED)
|
||||
striphtml = context.get('striphtml', UNDEFINED)
|
||||
lang = context.get('lang', UNDEFINED)
|
||||
permalink = context.get('permalink', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if use_open_graph:
|
||||
__M_writer(' <meta property="og:site_name" content="')
|
||||
__M_writer(striphtml(str(blog_title)))
|
||||
__M_writer('">\n <meta property="og:title" content="')
|
||||
__M_writer(filters.html_escape(str(post.title()[:70])))
|
||||
__M_writer('">\n <meta property="og:url" content="')
|
||||
__M_writer(str(abs_link(permalink)))
|
||||
__M_writer('">\n')
|
||||
if post.description():
|
||||
__M_writer(' <meta property="og:description" content="')
|
||||
__M_writer(filters.html_escape(str(post.description()[:200])))
|
||||
__M_writer('">\n')
|
||||
else:
|
||||
__M_writer(' <meta property="og:description" content="')
|
||||
__M_writer(filters.html_escape(str(post.text(strip_html=True)[:200])))
|
||||
__M_writer('">\n')
|
||||
if post.previewimage:
|
||||
__M_writer(' <meta property="og:image" content="')
|
||||
__M_writer(str(url_replacer(permalink, post.previewimage, lang, 'absolute')))
|
||||
__M_writer('">\n')
|
||||
__M_writer(' <meta property="og:type" content="article">\n')
|
||||
if post.date.isoformat():
|
||||
__M_writer(' <meta property="article:published_time" content="')
|
||||
__M_writer(str(post.date.isoformat()))
|
||||
__M_writer('">\n')
|
||||
if post.tags:
|
||||
for tag in post.tags:
|
||||
__M_writer(' <meta property="article:tag" content="')
|
||||
__M_writer(str(tag))
|
||||
__M_writer('">\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_twitter_card_information(context,post):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
twitter_card = context.get('twitter_card', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if twitter_card and twitter_card['use_twitter_cards']:
|
||||
__M_writer(' <meta name="twitter:card" content="')
|
||||
__M_writer(filters.html_escape(str(twitter_card.get('card', 'summary'))))
|
||||
__M_writer('">\n')
|
||||
if 'site:id' in twitter_card:
|
||||
__M_writer(' <meta name="twitter:site:id" content="')
|
||||
__M_writer(str(twitter_card['site:id']))
|
||||
__M_writer('">\n')
|
||||
elif 'site' in twitter_card:
|
||||
__M_writer(' <meta name="twitter:site" content="')
|
||||
__M_writer(str(twitter_card['site']))
|
||||
__M_writer('">\n')
|
||||
if 'creator:id' in twitter_card:
|
||||
__M_writer(' <meta name="twitter:creator:id" content="')
|
||||
__M_writer(str(twitter_card['creator:id']))
|
||||
__M_writer('">\n')
|
||||
elif 'creator' in twitter_card:
|
||||
__M_writer(' <meta name="twitter:creator" content="')
|
||||
__M_writer(str(twitter_card['creator']))
|
||||
__M_writer('">\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_html_pager(context,post):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if post.prev_post or post.next_post:
|
||||
__M_writer(' <ul class="pager">\n')
|
||||
if post.prev_post:
|
||||
__M_writer(' <li class="previous">\n <a href="')
|
||||
__M_writer(str(post.prev_post.permalink()))
|
||||
__M_writer('" rel="prev" title="')
|
||||
__M_writer(filters.html_escape(str(post.prev_post.title())))
|
||||
__M_writer('">')
|
||||
__M_writer(str(messages("Previous post")))
|
||||
__M_writer('</a>\n </li>\n')
|
||||
if post.next_post:
|
||||
__M_writer(' <li class="next">\n <a href="')
|
||||
__M_writer(str(post.next_post.permalink()))
|
||||
__M_writer('" rel="next" title="')
|
||||
__M_writer(filters.html_escape(str(post.next_post.title())))
|
||||
__M_writer('">')
|
||||
__M_writer(str(messages("Next post")))
|
||||
__M_writer('</a>\n </li>\n')
|
||||
__M_writer(' </ul>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_meta_translations(context,post):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
lang = context.get('lang', UNDEFINED)
|
||||
len = context.get('len', UNDEFINED)
|
||||
translations = context.get('translations', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if len(translations) > 1:
|
||||
for langname in translations.keys():
|
||||
if langname != lang and post.is_translation_available(langname):
|
||||
__M_writer(' <link rel="alternate" hreflang="')
|
||||
__M_writer(str(langname))
|
||||
__M_writer('" href="')
|
||||
__M_writer(str(post.permalink(langname)))
|
||||
__M_writer('">\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_mathjax_script(context,post):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if post.is_mathjax:
|
||||
__M_writer(' <script type="text/x-mathjax-config">\n MathJax.Hub.Config({tex2jax: {inlineMath: [[\'$latex \',\'$\'], [\'\\\\(\',\'\\\\)\']]}});</script>\n <script src="/assets/js/mathjax.js"></script>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_html_tags(context,post):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
hidden_tags = context.get('hidden_tags', UNDEFINED)
|
||||
_link = context.get('_link', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
if post.tags:
|
||||
__M_writer(' <ul itemprop="keywords" class="tags">\n')
|
||||
for tag in post.tags:
|
||||
if tag not in hidden_tags:
|
||||
__M_writer(' <li><a class="tag p-category" href="')
|
||||
__M_writer(str(_link('tag', tag)))
|
||||
__M_writer('" rel="tag">')
|
||||
__M_writer(str(tag))
|
||||
__M_writer('</a></li>\n')
|
||||
__M_writer(' </ul>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/post_helper.tmpl", "uri": "post_helper.tmpl", "line_map": {"15": 0, "20": 2, "21": 11, "22": 23, "23": 40, "24": 69, "25": 85, "26": 93, "32": 42, "43": 42, "44": 43, "45": 44, "46": 44, "47": 44, "48": 45, "49": 45, "50": 46, "51": 46, "52": 47, "53": 48, "54": 48, "55": 48, "56": 49, "57": 50, "58": 50, "59": 50, "60": 52, "61": 53, "62": 53, "63": 53, "64": 55, "65": 60, "66": 61, "67": 61, "68": 61, "69": 63, "70": 64, "71": 65, "72": 65, "73": 65, "79": 71, "84": 71, "85": 72, "86": 73, "87": 73, "88": 73, "89": 74, "90": 75, "91": 75, "92": 75, "93": 76, "94": 77, "95": 77, "96": 77, "97": 79, "98": 80, "99": 80, "100": 80, "101": 81, "102": 82, "103": 82, "104": 82, "110": 25, "115": 25, "116": 26, "117": 27, "118": 28, "119": 29, "120": 30, "121": 30, "122": 30, "123": 30, "124": 30, "125": 30, "126": 33, "127": 34, "128": 35, "129": 35, "130": 35, "131": 35, "132": 35, "133": 35, "134": 38, "140": 3, "147": 3, "148": 4, "149": 5, "150": 6, "151": 7, "152": 7, "153": 7, "154": 7, "155": 7, "161": 87, "165": 87, "166": 88, "167": 89, "173": 13, "179": 13, "180": 14, "181": 15, "182": 16, "183": 17, "184": 18, "185": 18, "186": 18, "187": 18, "188": 18, "189": 21, "195": 189}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
100
cache/.mako.tmp/story.tmpl.py
vendored
Normal file
100
cache/.mako.tmp/story.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
# -*- 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 = 1433908197.8865528
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/story.tmpl'
|
||||
_template_uri = 'story.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['content']
|
||||
|
||||
|
||||
def _mako_get_namespace(context, name):
|
||||
try:
|
||||
return context.namespaces[(__name__, name)]
|
||||
except KeyError:
|
||||
_mako_generate_namespaces(context)
|
||||
return context.namespaces[(__name__, name)]
|
||||
def _mako_generate_namespaces(context):
|
||||
ns = runtime.TemplateNamespace('comments', context._clean_inheritance_tokens(), templateuri='comments_helper.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'comments')] = ns
|
||||
|
||||
ns = runtime.TemplateNamespace('pheader', context._clean_inheritance_tokens(), templateuri='post_header.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'pheader')] = ns
|
||||
|
||||
ns = runtime.TemplateNamespace('helper', context._clean_inheritance_tokens(), templateuri='post_helper.tmpl', callables=None, calling_uri=_template_uri)
|
||||
context.namespaces[(__name__, 'helper')] = ns
|
||||
|
||||
def _mako_inherit(template, context):
|
||||
_mako_generate_namespaces(context)
|
||||
return runtime._inherit_from(context, 'post.tmpl', _template_uri)
|
||||
def render_body(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_locals = __M_dict_builtin(pageargs=pageargs)
|
||||
pheader = _mako_get_namespace(context, 'pheader')
|
||||
post = context.get('post', UNDEFINED)
|
||||
def content():
|
||||
return render_content(context._locals(__M_locals))
|
||||
comments = _mako_get_namespace(context, 'comments')
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
site_has_comments = context.get('site_has_comments', UNDEFINED)
|
||||
enable_comments = context.get('enable_comments', UNDEFINED)
|
||||
helper = _mako_get_namespace(context, 'helper')
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n')
|
||||
__M_writer('\n')
|
||||
__M_writer('\n')
|
||||
__M_writer('\n\n')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'content'):
|
||||
context['self'].content(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_content(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
pheader = _mako_get_namespace(context, 'pheader')
|
||||
post = context.get('post', UNDEFINED)
|
||||
def content():
|
||||
return render_content(context)
|
||||
comments = _mako_get_namespace(context, 'comments')
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
site_has_comments = context.get('site_has_comments', UNDEFINED)
|
||||
enable_comments = context.get('enable_comments', UNDEFINED)
|
||||
helper = _mako_get_namespace(context, 'helper')
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n<article class="storypage" itemscope="itemscope" itemtype="http://schema.org/Article">\n <header>\n ')
|
||||
__M_writer(str(pheader.html_title()))
|
||||
__M_writer('\n ')
|
||||
__M_writer(str(pheader.html_translations(post)))
|
||||
__M_writer('\n </header>\n <div class="e-content entry-content" itemprop="articleBody text">\n ')
|
||||
__M_writer(str(post.text()))
|
||||
__M_writer('\n </div>\n')
|
||||
if site_has_comments and enable_comments and not post.meta('nocomments'):
|
||||
__M_writer(' <section class="comments">\n <h2>')
|
||||
__M_writer(str(messages("Comments")))
|
||||
__M_writer('</h2>\n ')
|
||||
__M_writer(str(comments.comment_form(post.permalink(absolute=True), post.title(), post.base_path)))
|
||||
__M_writer('\n </section>\n')
|
||||
__M_writer(' ')
|
||||
__M_writer(str(helper.mathjax_script(post)))
|
||||
__M_writer('\n</article>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/story.tmpl", "uri": "story.tmpl", "line_map": {"86": 19, "75": 7, "76": 10, "77": 10, "78": 11, "79": 11, "80": 14, "81": 14, "82": 16, "83": 17, "84": 18, "85": 18, "22": 4, "87": 19, "88": 22, "25": 3, "90": 22, "28": 2, "96": 90, "34": 0, "48": 2, "49": 3, "50": 4, "51": 5, "89": 22, "56": 24, "62": 7}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
184
cache/.mako.tmp/tag.tmpl.py
vendored
Normal file
184
cache/.mako.tmp/tag.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
# -*- 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 = 1433908197.9360347
|
||||
_enable_loop = True
|
||||
_template_filename = '/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/tag.tmpl'
|
||||
_template_uri = 'tag.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['content', 'extra_head']
|
||||
|
||||
|
||||
def _mako_get_namespace(context, name):
|
||||
try:
|
||||
return context.namespaces[(__name__, name)]
|
||||
except KeyError:
|
||||
_mako_generate_namespaces(context)
|
||||
return context.namespaces[(__name__, name)]
|
||||
def _mako_generate_namespaces(context):
|
||||
pass
|
||||
def _mako_inherit(template, context):
|
||||
_mako_generate_namespaces(context)
|
||||
return runtime._inherit_from(context, 'list_post.tmpl', _template_uri)
|
||||
def render_body(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_locals = __M_dict_builtin(pageargs=pageargs)
|
||||
subcategories = context.get('subcategories', UNDEFINED)
|
||||
kind = context.get('kind', UNDEFINED)
|
||||
parent = context.get('parent', UNDEFINED)
|
||||
generate_rss = context.get('generate_rss', UNDEFINED)
|
||||
posts = context.get('posts', UNDEFINED)
|
||||
len = context.get('len', UNDEFINED)
|
||||
def content():
|
||||
return render_content(context._locals(__M_locals))
|
||||
_link = context.get('_link', UNDEFINED)
|
||||
translations = context.get('translations', UNDEFINED)
|
||||
tag = context.get('tag', UNDEFINED)
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
date_format = context.get('date_format', UNDEFINED)
|
||||
title = context.get('title', UNDEFINED)
|
||||
def extra_head():
|
||||
return render_extra_head(context._locals(__M_locals))
|
||||
description = context.get('description', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n\n')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'extra_head'):
|
||||
context['self'].extra_head(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n\n\n')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'content'):
|
||||
context['self'].content(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_content(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
description = context.get('description', UNDEFINED)
|
||||
kind = context.get('kind', UNDEFINED)
|
||||
generate_rss = context.get('generate_rss', UNDEFINED)
|
||||
posts = context.get('posts', UNDEFINED)
|
||||
len = context.get('len', UNDEFINED)
|
||||
def content():
|
||||
return render_content(context)
|
||||
_link = context.get('_link', UNDEFINED)
|
||||
translations = context.get('translations', UNDEFINED)
|
||||
tag = context.get('tag', UNDEFINED)
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
date_format = context.get('date_format', UNDEFINED)
|
||||
title = context.get('title', UNDEFINED)
|
||||
subcategories = context.get('subcategories', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n<article class="tagpage">\n <header>\n <h1>')
|
||||
__M_writer(filters.html_escape(str(title)))
|
||||
__M_writer('</h1>\n')
|
||||
if description:
|
||||
__M_writer(' <p>')
|
||||
__M_writer(str(description))
|
||||
__M_writer('</p>\n')
|
||||
if subcategories:
|
||||
__M_writer(' ')
|
||||
__M_writer(str(messages('Subcategories:')))
|
||||
__M_writer('\n <ul>\n')
|
||||
for name, link in subcategories:
|
||||
__M_writer(' <li><a href="')
|
||||
__M_writer(str(link))
|
||||
__M_writer('">')
|
||||
__M_writer(str(name))
|
||||
__M_writer('</a></li>\n')
|
||||
__M_writer(' </ul>\n')
|
||||
__M_writer(' <div class="metadata">\n')
|
||||
if len(translations) > 1 and generate_rss:
|
||||
for language in translations:
|
||||
__M_writer(' <p class="feedlink">\n <a href="')
|
||||
__M_writer(str(_link(kind + "_rss", tag, language)))
|
||||
__M_writer('" hreflang="')
|
||||
__M_writer(str(language))
|
||||
__M_writer('" type="application/rss+xml">')
|
||||
__M_writer(str(messages('RSS feed', language)))
|
||||
__M_writer(' (')
|
||||
__M_writer(str(language))
|
||||
__M_writer(')</a> \n </p>\n')
|
||||
elif generate_rss:
|
||||
__M_writer(' <p class="feedlink"><a href="')
|
||||
__M_writer(str(_link(kind + "_rss", tag)))
|
||||
__M_writer('" type="application/rss+xml">')
|
||||
__M_writer(str(messages('RSS feed')))
|
||||
__M_writer('</a></p>\n')
|
||||
__M_writer(' </div>\n </header>\n')
|
||||
if posts:
|
||||
__M_writer(' <ul class="postlist">\n')
|
||||
for post in posts:
|
||||
__M_writer(' <li><a href="')
|
||||
__M_writer(str(post.permalink()))
|
||||
__M_writer('" class="listtitle">')
|
||||
__M_writer(filters.html_escape(str(post.title())))
|
||||
__M_writer('</a> <time class="listdate" datetime="')
|
||||
__M_writer(str(post.date.isoformat()))
|
||||
__M_writer('" title="')
|
||||
__M_writer(str(post.formatted_date(date_format)))
|
||||
__M_writer('">')
|
||||
__M_writer(str(post.formatted_date(date_format)))
|
||||
__M_writer('</time></li>\n')
|
||||
__M_writer(' </ul>\n')
|
||||
__M_writer('</article>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_extra_head(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
kind = context.get('kind', UNDEFINED)
|
||||
parent = context.get('parent', UNDEFINED)
|
||||
generate_rss = context.get('generate_rss', UNDEFINED)
|
||||
len = context.get('len', UNDEFINED)
|
||||
_link = context.get('_link', UNDEFINED)
|
||||
translations = context.get('translations', UNDEFINED)
|
||||
tag = context.get('tag', UNDEFINED)
|
||||
def extra_head():
|
||||
return render_extra_head(context)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n ')
|
||||
__M_writer(str(parent.extra_head()))
|
||||
__M_writer('\n')
|
||||
if len(translations) > 1 and generate_rss:
|
||||
for language in translations:
|
||||
__M_writer(' <link rel="alternate" type="application/rss+xml" type="application/rss+xml" title="RSS for ')
|
||||
__M_writer(str(kind))
|
||||
__M_writer(' ')
|
||||
__M_writer(str(tag))
|
||||
__M_writer(' (')
|
||||
__M_writer(str(language))
|
||||
__M_writer(')" href="')
|
||||
__M_writer(str(_link(kind + "_rss", tag, language)))
|
||||
__M_writer('">\n')
|
||||
elif generate_rss:
|
||||
__M_writer(' <link rel="alternate" type="application/rss+xml" type="application/rss+xml" title="RSS for ')
|
||||
__M_writer(str(kind))
|
||||
__M_writer(' ')
|
||||
__M_writer(str(tag))
|
||||
__M_writer('" href="')
|
||||
__M_writer(str(_link(kind + "_rss", tag)))
|
||||
__M_writer('">\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "/usr/lib/python3.4/site-packages/nikola/data/themes/base/templates/tag.tmpl", "uri": "tag.tmpl", "line_map": {"128": 46, "129": 46, "130": 46, "131": 46, "132": 46, "133": 48, "134": 50, "140": 4, "153": 4, "26": 0, "155": 5, "156": 6, "154": 5, "158": 8, "159": 8, "160": 8, "161": 8, "162": 8, "163": 8, "164": 8, "165": 8, "166": 8, "167": 10, "168": 11, "169": 11, "170": 11, "171": 11, "172": 11, "173": 11, "174": 11, "157": 7, "48": 2, "180": 174, "53": 13, "58": 51, "64": 16, "82": 16, "83": 19, "84": 19, "85": 20, "86": 21, "87": 21, "88": 21, "89": 23, "90": 24, "91": 24, "92": 24, "93": 26, "94": 27, "95": 27, "96": 27, "97": 27, "98": 27, "99": 29, "100": 31, "101": 32, "102": 33, "103": 34, "104": 35, "105": 35, "106": 35, "107": 35, "108": 35, "109": 35, "110": 35, "111": 35, "112": 38, "113": 39, "114": 39, "115": 39, "116": 39, "117": 39, "118": 41, "119": 43, "120": 44, "121": 45, "122": 46, "123": 46, "124": 46, "125": 46, "126": 46, "127": 46}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
95
cache/.mako.tmp/tags.tmpl.py
vendored
Normal file
95
cache/.mako.tmp/tags.tmpl.py
vendored
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
# -*- 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 = 1433908197.9183095
|
||||
_enable_loop = True
|
||||
_template_filename = 'themes/bootstrap/templates/tags.tmpl'
|
||||
_template_uri = 'tags.tmpl'
|
||||
_source_encoding = 'utf-8'
|
||||
_exports = ['content']
|
||||
|
||||
|
||||
def _mako_get_namespace(context, name):
|
||||
try:
|
||||
return context.namespaces[(__name__, name)]
|
||||
except KeyError:
|
||||
_mako_generate_namespaces(context)
|
||||
return context.namespaces[(__name__, name)]
|
||||
def _mako_generate_namespaces(context):
|
||||
pass
|
||||
def _mako_inherit(template, context):
|
||||
_mako_generate_namespaces(context)
|
||||
return runtime._inherit_from(context, 'base.tmpl', _template_uri)
|
||||
def render_body(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
__M_locals = __M_dict_builtin(pageargs=pageargs)
|
||||
def content():
|
||||
return render_content(context._locals(__M_locals))
|
||||
cat_items = context.get('cat_items', UNDEFINED)
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
title = context.get('title', UNDEFINED)
|
||||
items = context.get('items', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n\n')
|
||||
if 'parent' not in context._data or not hasattr(context._data['parent'], 'content'):
|
||||
context['self'].content(**pageargs)
|
||||
|
||||
|
||||
__M_writer('\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
def render_content(context,**pageargs):
|
||||
__M_caller = context.caller_stack._push_frame()
|
||||
try:
|
||||
def content():
|
||||
return render_content(context)
|
||||
cat_items = context.get('cat_items', UNDEFINED)
|
||||
messages = context.get('messages', UNDEFINED)
|
||||
title = context.get('title', UNDEFINED)
|
||||
items = context.get('items', UNDEFINED)
|
||||
__M_writer = context.writer()
|
||||
__M_writer('\n<h1>')
|
||||
__M_writer(str(title))
|
||||
__M_writer('</h1>\n')
|
||||
if cat_items:
|
||||
__M_writer(' <h2>')
|
||||
__M_writer(str(messages("Categories")))
|
||||
__M_writer('</h2>\n <ul class="unstyled">\n')
|
||||
for text, link in cat_items:
|
||||
if text:
|
||||
__M_writer(' <li><a class="reference badge" href="')
|
||||
__M_writer(str(link))
|
||||
__M_writer('">')
|
||||
__M_writer(str(text))
|
||||
__M_writer('</a></li>\n')
|
||||
__M_writer(' </ul>\n')
|
||||
if items:
|
||||
__M_writer(' <h2>')
|
||||
__M_writer(str(messages("Tags")))
|
||||
__M_writer('</h2>\n')
|
||||
if items:
|
||||
__M_writer(' <ul class="list-inline">\n')
|
||||
for text, link in items:
|
||||
__M_writer(' <li><a class="reference badge" href="')
|
||||
__M_writer(str(link))
|
||||
__M_writer('">')
|
||||
__M_writer(str(text))
|
||||
__M_writer('</a></li>\n')
|
||||
__M_writer(' </ul>\n')
|
||||
return ''
|
||||
finally:
|
||||
context.caller_stack._pop_frame()
|
||||
|
||||
|
||||
"""
|
||||
__M_BEGIN_METADATA
|
||||
{"filename": "themes/bootstrap/templates/tags.tmpl", "uri": "tags.tmpl", "line_map": {"64": 7, "65": 9, "66": 10, "67": 11, "68": 11, "69": 11, "70": 11, "71": 11, "72": 14, "73": 15, "74": 16, "75": 16, "76": 16, "77": 19, "78": 20, "79": 21, "80": 22, "81": 22, "82": 22, "83": 22, "84": 22, "85": 24, "26": 0, "91": 85, "37": 2, "42": 26, "48": 4, "58": 4, "59": 5, "60": 5, "61": 6, "62": 7, "63": 7}, "source_encoding": "utf-8"}
|
||||
__M_END_METADATA
|
||||
"""
|
||||
1
cache/lastdeploy
vendored
Normal file
1
cache/lastdeploy
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
2015-06-10T03:00:08.292906
|
||||
19
cache/posts/200606what-do-i-use.html
vendored
Normal file
19
cache/posts/200606what-do-i-use.html
vendored
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<html><body><h1>What do I Use?</h1>
|
||||
|
||||
<p>Software</p>
|
||||
|
||||
<p>So,<br>
|
||||
What major apps do I use daily? Well, this is the list of apps that<br>
|
||||
I currently use daily:</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="http://cnswww.cns.cwru.edu/%7Echet/bash/bashtop.html">bash</a> - my shell of choice</li>
|
||||
<li><a href="http://www.gnu.org/software/screen">screen</a> - a schell multiplexer and more</li>
|
||||
<li>mitt-ng - a mua on steriods</li>
|
||||
<li>centericq - IM. How do you stay in touch?</li>
|
||||
<li><a href="http://home.kcore.de/%7Ekiza/software/snownews">snownews</a> - an RSS feed reader</li>
|
||||
<li>calcurse - a calendar/todo manger</li>
|
||||
<li>bashblogger - the CMS for this site</li>
|
||||
</ul>
|
||||
|
||||
<p>There are a few more, but I need to find URLs for them.</p></body></html>
|
||||
23
cache/posts/200607window-managers.html
vendored
Normal file
23
cache/posts/200607window-managers.html
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<html><body><h1>Window Managers?</h1>
|
||||
|
||||
<p>Why would a web site dedicated to the CLI have a section on Window<br>
|
||||
Managers? Well, simple.</p>
|
||||
|
||||
<p>Some times, you just have to have X running. Some web sites I have to<br>
|
||||
do research at use Flash, or photo editing/managing, or my iPod (none<br>
|
||||
of the CLI tools let me manage play lists very easily).</p>
|
||||
|
||||
<p>Plus, I cannot get the same resolution on the console as I can under<br>
|
||||
X.</p>
|
||||
|
||||
<p>So, what is a CLI user to do? Why, get a Window Manager (wm) that is<br>
|
||||
meant for us!</p>
|
||||
|
||||
<p>The features I look for include small footprint and full keyboard<br>
|
||||
integration. The current one I use is wmi-10, but it is no longer<br>
|
||||
under active development. The group working on it has moved to on to<br>
|
||||
<a href="http://www.wmi.de/wmii">wmii</a>, but I do not like the changes,<br>
|
||||
so I am off looking for a new one to use.</p>
|
||||
|
||||
<p>From time to time, I will post how my search is going so you can see<br>
|
||||
what is out there.</p></body></html>
|
||||
10
cache/posts/200611another-rss-reader.html
vendored
Normal file
10
cache/posts/200611another-rss-reader.html
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<html><body><h1>Another RSS reader?</h1>
|
||||
|
||||
<p>Well, it seems that someone is reading this after all.</p>
|
||||
|
||||
<p>So, tonight I have been given a pointer to raggle (<a href="http://www.raggle.org">http://www.raggle.org). I guess I need<br>
|
||||
to install ruby to try it out…</a></p>
|
||||
|
||||
<p>Thanks to Philip McClure for the pointer.</p>
|
||||
|
||||
<p>Updates after I try it out some…</p></body></html>
|
||||
11
cache/posts/200611disconnected-imap.html
vendored
Normal file
11
cache/posts/200611disconnected-imap.html
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<html><body><h1>Disconnected IMAP</h1>
|
||||
|
||||
<p>So, in an effort to get to the office earlier, I decided to try to<br>
|
||||
figure out how to do disconnected IMAP. Well, the route I took was to<br>
|
||||
use a tool called <a<br>
|
||||
<a href="http://mailsync.sourceforge.net/">mailsync</a> which is a cool<br>
|
||||
tool to allow you to sync IAMP mailboxes. So, my tack is to sync it<br>
|
||||
down to my laptop, and read the email on the bus. I sync email down<br>
|
||||
in the morning, and then in the evening, sync again. So far, so good.</p>
|
||||
|
||||
<p>More updates later…</p></body></html>
|
||||
14
cache/posts/200611rss-reader-raggle.html
vendored
Normal file
14
cache/posts/200611rss-reader-raggle.html
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<html><body><h1>RSS Reader: Raggle</h1>
|
||||
|
||||
<p>Well, after getting some time over the US holiday to try to get raggle<br>
|
||||
built, I gave up. I am guessing that Fedora Core 5/6 are not very<br>
|
||||
ruby friendly yet, as I could not find everything I needed very<br>
|
||||
easily. I was able to get it almost all the way there, but I could<br>
|
||||
not get the ruby-Ncurses rpm to build, and I am very strict about<br>
|
||||
using the native package management system (ie RPM on a RPM based<br>
|
||||
system, portage on Gentoo, apt on a Debian deviant), so I will not be<br>
|
||||
trying this until I can get the RPMS.</p>
|
||||
|
||||
<p>In other news, I have found some more PIM type things to play with.<br>
|
||||
Does anyone know of a good CLI Palm Pilot sync package? <a href="http://www.coldsync.org/">Cold Sync seems to be dead, and I am<br>
|
||||
not sure if it will talk to modern Pilots.</a></p></body></html>
|
||||
19
cache/posts/200611screen-saver-yes.html
vendored
Normal file
19
cache/posts/200611screen-saver-yes.html
vendored
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<html><body><h1>Screen Saver? Yes!</h1>
|
||||
|
||||
<p>So, a while back I found a screensaver which is meant for the command<br>
|
||||
line. It is called <a href="http://www.pulia.nu/tss/">tss</a>. The<br>
|
||||
latest version is 0.8.1, and it is looking pretty cool.</p>
|
||||
|
||||
<p>Under screen 4.0 or higher, there is a command called idle which is<br>
|
||||
set in seconds. By default, it uses screen’s built in lockscreen<br>
|
||||
function, but if you define the environment variable LOCKPGR, then you<br>
|
||||
can call something else. I have it call a the following script:</p>
|
||||
|
||||
<pre><code>#!/bin/bash
|
||||
|
||||
tss -r
|
||||
exec vlock -a
|
||||
</code></pre>
|
||||
|
||||
<p>This will lock my screen after a set time, and give me a nice thing to<br>
|
||||
look at. <img alt=":)" src="http://www.duckland.org/wp-includes/images/smilies/icon_smile.gif"></p></body></html>
|
||||
30
cache/posts/200701window-manager-for-tty.html
vendored
Normal file
30
cache/posts/200701window-manager-for-tty.html
vendored
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<html><body><h1>Window Manager for tty?</h1>
|
||||
|
||||
<p>The package <a href="http://www.gnu.org/software/screen">screen</a> is<br>
|
||||
something that has been around for a long time.</p>
|
||||
|
||||
<p>With screen, you can have many session running on on tty, and you can<br>
|
||||
switch to another session with out touching a mouse. With the proper<br>
|
||||
configuration, you can get notified if there is some change (like if<br>
|
||||
you have a IM client up) or if there is no output (say, if you are<br>
|
||||
watching a compile session).</p>
|
||||
|
||||
<p>You are in the zone working, and then you notice the time, and you<br>
|
||||
have to log out and go home. Is this a problem? No, with a simple<br>
|
||||
d, you can disconnect the screen session, log out, go home,<br>
|
||||
log back into that machine, and resume your session just where you<br>
|
||||
left off.</p>
|
||||
|
||||
<p>One of the other really feature is cut and paste between sessions.<br>
|
||||
The is very handy when adapting code (or articles) into a new file.</p>
|
||||
|
||||
<h3>Screen References</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="http://www.sun.com/bigadmin/features/articles/gnu_screen.html">BigAdmin Feature Article: Installing and Using GNU Screen</a></li>
|
||||
<li><a href="http://www.google.com/search?num=100&hl=en&safe=off&client=firefox&rls=org.mozilla:en-US:unofficial&q=gnu+screen+howto&spell=1">Google Search: gnu screen howto</a></li>
|
||||
<li><a href="http://www.sun.com/bigadmin/features/articles/gnu_screen.html">BigAdmin Feature Article: Installing and Using GNU Screen</a></li>
|
||||
<li><a href="http://aperiodic.net/screen/start">GNU screen: start</a></li>
|
||||
<li><a href="http://aperiodic.net/screen/tutorial">GNU screen: tutorial</a></li>
|
||||
<li>[GNU Screen: an introduction and beginner's t utorial</li>
|
||||
</ul></body></html>
|
||||
23
cache/posts/200703cli-bugissuetask-tracking-system.html
vendored
Normal file
23
cache/posts/200703cli-bugissuetask-tracking-system.html
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<html><body><h1>cli bug/issue/task tracking system?</h1>
|
||||
|
||||
<p>Fresh from freshmeat:</p>
|
||||
|
||||
<p>http://www.ditrack.org/</p>
|
||||
|
||||
<pre><code>What is DITrack?
|
||||
|
||||
DITrack is a free, open source, lightweight, distributed issue (bug,
|
||||
defect, ticket) tracking system using a [Subversion](http://subversion.tigris.org/) repository instead
|
||||
of a backend database. It is written in Python and runs in UNIX
|
||||
environment (*BSD, Linux, MacOS X).
|
||||
|
||||
The project is inspired by the idea of [Subissue](http://subissue.tigris.org/) issue tracking system.
|
||||
|
||||
However, while Subissue aims in merely replacing the traditional
|
||||
database storage with Subversion repository, DITrack is a major
|
||||
rethought of the issue tracking system paradigm. The main difference
|
||||
is that instead of sticking to the centralized model (one database,
|
||||
one web interface, one mail integration machinery), DITrack treats
|
||||
underlying Subversion storage as a versioned distributed file system
|
||||
which enables benefits of truly distributed operation mode.
|
||||
</code></pre></body></html>
|
||||
9
cache/posts/200703cli-magic-linux-troubleshooting-tools-101.html
vendored
Normal file
9
cache/posts/200703cli-magic-linux-troubleshooting-tools-101.html
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<html><body><h1>CLI Magic: Linux troubleshooting tools 101</h1>
|
||||
|
||||
<p>When something goes wrong with your Linux-based system, you can try to<br>
|
||||
diagnose it yourself with the many troubleshooting tools bundled with<br>
|
||||
the operating system. Knowing about these tools, and how to<br>
|
||||
effectively use them, can help you overcome many…</p>
|
||||
|
||||
<p><a href="http://rss.slashdot.org/~r/linux/KhmQ/~3/92841427/article.pl">Read<br>
|
||||
More…</a></p></body></html>
|
||||
15
cache/posts/200703strayed-from-the-path.html
vendored
Normal file
15
cache/posts/200703strayed-from-the-path.html
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
<html><body><h1>Strayed from the path</h1>
|
||||
|
||||
<p>In two ways…first, I have not updated the site in a while, and I<br>
|
||||
need to get back to updating it.</p>
|
||||
|
||||
<p>Second, because I have not been true to my cli roots. I have moved<br>
|
||||
from my default MUA of the last, oh, 8 years, and flirted with a GUI<br>
|
||||
MUA, <a href="http://www.mozillia.org">thunderbird</a>. It was pretty.<br>
|
||||
It was sexy. It let me see everything then and now. It tried to<br>
|
||||
seduce me into using a GUI for more…</p>
|
||||
|
||||
<p>But, then I got behind in my email, and it was taking longer and<br>
|
||||
longer to catch up. <em>sigh</em> Two days ago, I switched back, and now, I<br>
|
||||
am fully caught up on my inbox, and making headway on my actionable<br>
|
||||
items.</p></body></html>
|
||||
34
cache/posts/200705bins-photo-album.html
vendored
Normal file
34
cache/posts/200705bins-photo-album.html
vendored
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
<html><body><h1>BINS Photo Album</h1>
|
||||
|
||||
<p>The <a href="http://bins.sautret.org/">BINS Photo Album</a> is a package to generate static web pages from the command line. Why would you want to do this? Well, most of the dynamic web photo albums require that the server do all the work when the client requests the images, thus either slowing it down, or requiring a very beefy server. Also, you introduce the chance for a script-kiddie from hacking your site. Not good.</p>
|
||||
|
||||
<p>Enter BINS. Some of its features include [<a href="http://bins.sautret.org/intro.html">from the web page</a>]:</p>
|
||||
|
||||
<ul>
|
||||
<li>generated album is <strong>static</strong> : it’s just plain HTML/CSS/Javascript files (Javascript is not mandatory to view the album), no need of any dynamic language (php, asp, etc.) nor database on server side. Album can be burned on CD or DVD.</li>
|
||||
<li>album can contains other albums (<strong>sub albums</strong>): the album can have a tree structure ;</li>
|
||||
<li>generation of a <strong>thumbnail</strong> and of <strong>scaled images</strong> for each picture ;</li>
|
||||
<li>generated album appearance is <strong>fully customizable</strong> by using <strong>HTML templates</strong> (5 different templates sets are currently provided) and <strong>configuration parameters</strong>: colors, number and size of thumbnails per page, number and size of scaled pictures (in pixels or percentage of the original image for the size), fields to display, etc. Those parameters can be <strong>set globally</strong> (system wide or per user), <strong>per album</strong> or sub album or <strong>per picture</strong> (for example, you can change the colors of one sub album or one just one picture page in an album by editing its description file) ;</li>
|
||||
<li>several <strong>description fields</strong> (date, location, etc…) can be associated with the pictures (in text or HTML format). You can easily add or customize these fields ;</li>
|
||||
<li>description fields can be set or modified via a <strong>command line interface</strong> or a <strong>GTK+/GNOME-based GUI</strong> ;</li>
|
||||
<li>A <strong>search engine</strong> is included in the album : you can find some pictures by searching keywords in their description fields.</li>
|
||||
<li>Album can be generated from pictures managed by <a href="http://www.nother.net/zoph/">Zoph</a>.</li>
|
||||
<li><strong>speed up</strong> album browsing by performing a clean up of HTML code to reduce its size and by <strong>pre-loading</strong> thumbnails in browser cache using <em>JavaScript</em> code ;</li>
|
||||
<li><p>Exif information and <strong>Digital camera support</strong> :</p>
|
||||
|
||||
<ul>
|
||||
<li>use the EXIF data structure found on some image files (usually, those produced by digital cameras) to fill automatically some fields (date and time for example).</li>
|
||||
<li>BINS use the Orientation EXIF tag (which is normally set when you rotate a image on you DigiCam) to <strong>rotate the picture to correct orientation</strong>.</li>
|
||||
<li>For each image, a page provides all information available on the picture and the <strong>DigiCam settings</strong> when the photo was taken.</li>
|
||||
<li>Additional information are provided for <strong>Canon DigiCams</strong>.</li>
|
||||
<li>Tooltips provide information about the meaning of some of the fields.</li>
|
||||
<li>All EXIF information is saved in the XML description file, preventing they disappear when the image is modified ;</li>
|
||||
</ul></li>
|
||||
<li><strong>internationalization</strong> (generation of album in different languages) using gettext. Current languages supported are Catalan, Dutch, English, Esperanto, Finish, French, German, Hungarian, Italian, Japanese, Polish, Russian, Spanish and Traditional Chinese ;</li>
|
||||
<li><strong>customizable charset encoding</strong> for HTML generation, including <strong>UTF-8 (Unicode)</strong> support by default. Generation of the Apache <code>.htaccess</code> file for correct encoding charset in HTTP headers ;</li>
|
||||
<li>use of <strong>XML files</strong> to save user description of pictures and albums/subalbums and Exif data from image file ;</li>
|
||||
<li>handle correctly file and directory names with spaces or other odd characters (excepted ‘/’), and create <strong>valid escaped URLs</strong> ;</li>
|
||||
<li>generate <strong>valid HTML/XHTML</strong> code. The level of HTML depends of the style used. Some of the styles are valid, table free XHTML.</li>
|
||||
</ul>
|
||||
|
||||
<p>The web site has some great <a href="http://bins.sautret.org/examples.html">example.</a> Go check them out.</p></body></html>
|
||||
5
cache/posts/200705ikog-the-simple-todo-list.html
vendored
Normal file
5
cache/posts/200705ikog-the-simple-todo-list.html
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<html><body><h1>iKog - the simple todo list</h1>
|
||||
|
||||
<p><a href="http://www.henspace.co.uk/ikog/index.html">iKog - the simple todo list</a></p>
|
||||
|
||||
<p>So I am looking for a good to-to list manager, and I stumbled across ikog. ikog stands for “It Keeps On Growing”, and it is a pretty nice todo manager which has been influenced by the GTD school of thought. Currently, I am using it for my daily todo manager, and using the python gtd tool for my long term list management. Give it a whirl, you might like it!</p></body></html>
|
||||
6
cache/posts/200706pacman-for-console.html
vendored
Normal file
6
cache/posts/200706pacman-for-console.html
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<html><body><h1>Pacman for Console</h1>
|
||||
|
||||
<p>You are tired of hearing your GUI friends talking about their games? Tired of playing simple <a href="http://en.wikipedia.org/wiki/Colossal_Cave_Adventure">Adventure</a>? Why not try <a href="http://doctormike.googlepages.com/pacman.html">Pacman for Console</a>?</p>
|
||||
|
||||
<p>The game play is just like the old quarter game you played long ago, and the best part, you can develop your own maps! Check out the screen shot:<br>
|
||||
<img alt="" src="http://doctormike.googlepages.com/pacman-1-1.png/pacman-1-1-full.jpg"></p></body></html>
|
||||
21
cache/posts/200706screen-terminal-multiplexer.html
vendored
Normal file
21
cache/posts/200706screen-terminal-multiplexer.html
vendored
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<html><body><h1>Screen - terminal multiplexer</h1>
|
||||
|
||||
<p>I usually have one screen running at all time, and in that screen session, I ssh to various hosts that I am working, and have screen running on those hosts.</p>
|
||||
|
||||
<h3>Additional Links</h3>
|
||||
|
||||
<p><a href="http://www.google.com/search?q=gnu+screen&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a">gnu screen - Google Search</a>
|
||||
<a href="http://www.gnu.org/software/screen/">GNU Screen - GNU Project - Free Software Foundation (FSF)</a>
|
||||
<a href="http://savannah.gnu.org/projects/screen/">GNU Screen - Summary [Savannah]</a>
|
||||
<a href="http://en.wikipedia.org/wiki/GNU_Screen">GNU Screen - Wikipedia, the free encyclopedia</a>
|
||||
<a href="http://jmcpherson.org/screen.html">GNU Screen - Jonathan McPherson</a>
|
||||
<a href="http://www.delorie.com/gnu/docs/screen/screen_toc.html">Screen User’s Manual</a>
|
||||
<a href="http://aperiodic.net/screen/">start [GNU screen]</a>
|
||||
<a href="http://www.deadman.org/sshscreen.html">Deadman.org: SSH-Agent Forwarding and GNU Screen</a>
|
||||
<a href="http://www4.informatik.uni-erlangen.de/~jnweiger/screen-faq.html">http://www4.informatik.uni-erlangen.de/~jnweiger/screen-faq.html</a>
|
||||
<a href="http://www.pixelbeat.org/docs/screen/">Remote terminal session management using screen</a>
|
||||
How to use screen to detach from and share terminal sessions
|
||||
<a href="http://www.zorg.org/linux/screen.php">z o r g . o r g - A Brief Introduction to Screen</a>
|
||||
<a href="http://www.zorg.org">www.zorg.org</a>! Linux, Home Automation, VoIP, Radio Scanning, PMR446, CB Radio, Cryptography, Handspring Visor, Psion Series 3 and much more.
|
||||
<a href="http://www.bangmoney.org/presentations/screen.html">screen - The Terminal Multiplexer</a>
|
||||
[Power Sessions with Screen</p></body></html>
|
||||
3
cache/posts/200804dvtm-dynamic-virtual-terminal-manager.html
vendored
Normal file
3
cache/posts/200804dvtm-dynamic-virtual-terminal-manager.html
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<html><body><h1>dvtm - dynamic virtual terminal manager</h1>
|
||||
|
||||
<p>He’s back! And with with something new/cool:[dvtm</p></body></html>
|
||||
43
cache/posts/200805command-line-blog-posts.html
vendored
Normal file
43
cache/posts/200805command-line-blog-posts.html
vendored
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
<html><body><h1>Command-Line blog posts</h1>
|
||||
|
||||
<p>So, it only seems fitting that I should talk about a command-line interface to posting on this blog. No, I do not mean using <a href="http://links.twibright.com"> links</a> or the like, but a way to post from the command line.</p>
|
||||
|
||||
<p>So, this post is being typed up in <a href="http://www.vim.org">vim</a> on my <a href="http://www.fedoraproject.org">Fedora 8</a> laptop. I will use this great little tool I found called <em>wppost</em> to post. <em>wwpost</em> is part of the <a href="http://www.perl.org">perl</a> module <a href="http://search.cpan.org/~leocharre/WordPress-Post-1.04">WordPress::Post</a>.</p>
|
||||
|
||||
<p>A brief summary of its commands are bellow:</p>
|
||||
|
||||
<pre><code> -c category, can be a list separated by commas, no spaces
|
||||
-t title
|
||||
-i description, main body of post, if it has a slash, it is interpreted as a file to slurp
|
||||
like a text or html file
|
||||
-D iso formatted date for post, can be left out
|
||||
-T if there are image attachments, place them as thumbnails only, with link, not just resized
|
||||
</code></pre>
|
||||
|
||||
<p>Some usage examples taken from the man page:</p>
|
||||
|
||||
<pre><code> Most basic of usage, (provided you have a ~/.wppost file)
|
||||
|
||||
wppost -t 'hi everyone' -i 'i just wanted to say hello'
|
||||
|
||||
If you want to specify two different categories:
|
||||
|
||||
wppost -t 'Another Apple' -i 'Apples are really great. I do love them so.' -c food,rant -D 20071231
|
||||
|
||||
If the body of the post is in a file
|
||||
|
||||
wppost -t 'title here' -i ./content.txt
|
||||
|
||||
If the content of the post is in a file and you want to use the file
|
||||
name as the title
|
||||
|
||||
wppost -i ./Title_Here.txt
|
||||
|
||||
If you want to have file attachments:
|
||||
|
||||
wppost -t 'recent photos' -i 'these are recent pictures i took' ./*jpg
|
||||
</code></pre>
|
||||
|
||||
<p>Pretty cool, huh? <img alt=":)" src="http://www.duckland.org/wp-includes/images/smilies/icon_smile.gif"></p>
|
||||
|
||||
<p>Peace out!</p></body></html>
|
||||
5
cache/posts/200808pizza-party-command-line-pizza-ordering-program.html
vendored
Normal file
5
cache/posts/200808pizza-party-command-line-pizza-ordering-program.html
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<html><body><h1>Pizza Party - Command Line Pizza ordering program</h1>
|
||||
|
||||
<p>Want a pizza, and do not want to fire up that pesky GUI? We have the solution for you: <a href="http://www.beigerecords.com/cory/pizza_party/">Pizza Party - Command Line Pizza ordering program</a></p>
|
||||
|
||||
<p>Currently, only from Dominos, so if you do not have one near you who accepts on-line orders (<em>sigh</em>, mine does not), then you are out of luck.</p></body></html>
|
||||
11
cache/posts/200808so-you-need-a-calendar.html
vendored
Normal file
11
cache/posts/200808so-you-need-a-calendar.html
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<html><body><h1>So you need a calendar?</h1>
|
||||
|
||||
<p>So, one of the things we have been using computers for is to keep track of our lives. And this means a scheduling or calendaring tool. Some tools out there do this fine, and some do it very well.</p>
|
||||
|
||||
<p>I have to keep track of a lot of appointments. From conference calls for work, to each member of the family’s schedules, to random, but highly important reminders. Most calendaring programs out there will let you set up a reoccurring event by day of the month, or the date. But, what if you need to do something two days before the end of the month, every month? Or, you need to do something every full moon, but not on <a href="http://en.wikipedia.org/wiki/Blue_moon">the blue moon</a>? Or, you have a standing meeting with your boss every other Monday morning, execpt when Monday is a holiday, then the meeting shifts to Tuesday? Oh, and you want something that you can run over an ssh session, while on your smart phone, or you friend’s smart phone?</p>
|
||||
|
||||
<p>The answer is simple: <a href="http://www.roaringpenguin.com/products/remind/">remind</a>. remind can do this, and more. Need to set something up by the Hebrew Calendar? Check. Want your calendar to run a shell command for you on a holiday, specific day of the month, or phase of the moon? Check.</p>
|
||||
|
||||
<p>Most modern Linux distrobutions include remind nowdays, as it is so darn usefull. In addition, it runs just fine under Solaris, and the BSDs, including MacOS X. If fact, over at <a href="http://www.43Folders.com">43Folders</a>, they have a whole section their wiki for <a href="http://wiki.43folders.com/index.php/Remind">remind</a>. The wiki has many tips and tricks on how to use remind to its fullest.</p>
|
||||
|
||||
<p>In my next post, I will share some tips on how I get remind to remind me of events.</p></body></html>
|
||||
27
cache/posts/200811alerting-with-remind.html
vendored
Normal file
27
cache/posts/200811alerting-with-remind.html
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<html><body><h1>Alerting with Remind</h1>
|
||||
|
||||
<p>Back in my <a href="http://www.duckland.org/archives/2008/08/05/so-you-need-a-calendar/">article on Remind</a>, I talked about the simple power of remind to power your scheduling needs. That is all fine and good, but how to you get it to tell you when you have an event?</p>
|
||||
|
||||
<p>In its simplest form, when you run _remind _ from the command line, it will not only display the current day’s reminders, but it will run in the background and wake up to tell you about other reminders on the screen while you work.</p>
|
||||
|
||||
<p>This is fine, but what happens if you do not have that termial open in front of you? Well, I have two ways I approach that issue.</p>
|
||||
|
||||
<p>First, when I run under X (<a href="http://www.duckland.org/archives/2006/12/31/what-do-i-use/">yeah, yeah, I know, but I use cli tools under X</a>), I have this added to my .xinitrc:</p>
|
||||
|
||||
<blockquote>
|
||||
<p>remind -z -k’xmessage -buttons okay:0 -default okay %s&’ ~/.reminders &</p>
|
||||
</blockquote>
|
||||
|
||||
<p>Let’s look at the command line:</p>
|
||||
|
||||
<ul>
|
||||
<li>The <strong>-z</strong> tells remind to wake up every 5 minutes and reread the .reminders file.</li>
|
||||
<li>The <strong>-k</strong> tells remind to run a command instead of simply printing the reminder to the screen</li>
|
||||
<li><strong>xmessage -buttons okay:0 -default okay %s&</strong> is the secret sauce of this. This is the command run when there is an alarm. This command line calls xmessage (which is on pretty much any box with X) to display the alert. You could use zenity or kmessage, or winpopup, or whatever. This is what puts the alert in your face when you are not looking at the screen. The <strong>&</strong> is needed to make this command non-blocking by putting it in the background.</li>
|
||||
</ul>
|
||||
|
||||
<p>That all good if you are setting at your computer. But, what do you do when <em>gasp</em> you leave to computer? This is a little tricker. For this, my solution needs two things: 1) a computer which is always on and 2) a way to send messages to your cell phone/pager (sms or email). I have a cron job which checks to make sure remind is running, and restarts it if it is not (I use a hosting provider which does not like long running processes). The command line is similar to the one for X, but with a difference:</p>
|
||||
|
||||
<blockquote>
|
||||
<p>TZ=CDT6CST ~/bin/remind -z -k”echo %s</p>
|
||||
</blockquote></body></html>
|
||||
9
cache/posts/200812googles-calendar-on-the-command-line.html
vendored
Normal file
9
cache/posts/200812googles-calendar-on-the-command-line.html
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<html><body><h1>Google’s Calendar on the Command Line!</h1>
|
||||
|
||||
<p>You love your comfortable command line, but all the cool kids are playing in the Web 2.0 web space, and you want to stay true to your roots? Want a Web 2.0 calendar, but still love (or need) command line access?</p>
|
||||
|
||||
<p>I just found the answer: <a href="http://code.google.com/p/gcalcli/">gcalcli</a>. This little tool will let you list your appointments, get an list your events, get an agenda, print ascii rendering of your calendar for the week or month. You can even add events to the calendar.</p>
|
||||
|
||||
<p>I like the fact that I can easly get at my gcalendar from anywhere (even my cell phone), and now I can do it from my shell.</p>
|
||||
|
||||
<p>The only downsides so far? The code has not been updated since October of 2007, and the speed can be a little slow sometimes. I am going to play with it for a while to see if I like it enough to replace remind.</p></body></html>
|
||||
19
cache/posts/200901cmus-a-music-manager-for-the-terminal.html
vendored
Normal file
19
cache/posts/200901cmus-a-music-manager-for-the-terminal.html
vendored
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<html><body><h1>C*MUS - A music manager for the terminal</h1>
|
||||
|
||||
<p><a href="http://cmus.sf.net/">C*mus</a> is an advanced music juke-box for *inx and Window operating systems. It can handle the modern audio file formats: FLAC, Ogg/Vorbis, MP3 , Wav, AAC , MP4, .mod, .s3m, .mpc, mpp, .mp+, .wma, and .wv . It also can deal with many different types of audio output systems: ALSA, libao, ARTS, OSS, Sun, and WaveOut on Windows. The typical features of an electronic juke-box are supported like play lists and random/shuffle play, in addition to easily switching between playing from the library, an artist, or a single album with a simple keystroke.</p>
|
||||
|
||||
<p>C*Mus is pretty painless to install from source. The website lists the build dependencies with links. There is no RPM .SPEC file on the web site, but you can use this <a href="http://www.duckland.org/files/cmus.spec">one</a>.</p>
|
||||
|
||||
<h2>En-queuing</h2>
|
||||
|
||||
<p>One of the features I really enjoy and use is the en-queue function. I tend to use this two ways. The first is when I am listening to a song, and want to listen to similar songs, I go find them in my library, and I queue them up with a simple keystroke. A dynamic play-list, if you will. Then, I can simply create a more permanent playlist from this temporary list.</p>
|
||||
|
||||
<p>The second way is using the helper program cmus-remote to be able to queue up tracks from a different terminal, or from a script. My podcatcher program (bashpodder) will queue up the podcasts it just downloaded for me, so I can listen to them first thing in the morning.</p>
|
||||
|
||||
<h2>Keystroke and CLI</h2>
|
||||
|
||||
<p>C<em>Mus is developed to be driven via keystrokes. The default mapping is set up to be comfortable for those use are familiar with VI but, it is very easy to remap the keys to make it more comfortable. C</em>Mus will automatically save the current settings on a clean exit. The default mappings for selecting and updating views, moving through songs forward and backwards in small and large increments, adding to play list and queue lists.</p>
|
||||
|
||||
<h2>Filters</h2>
|
||||
|
||||
<p>One of the very powerful features is simple filters. You can set a filter for your 80’s Metal Bands or your Classical music. Many of the common tags can be used for filter on. Things like filename, artist, album, title, genre, discnumber, tracknumber, date (year), duration (seconds), and tag.</p></body></html>
|
||||
18
cache/posts/200904wifiroamd-intel-prowireless-3945abg-and-fedora.html
vendored
Normal file
18
cache/posts/200904wifiroamd-intel-prowireless-3945abg-and-fedora.html
vendored
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
<html><body><h1>wifiroamd, Intel PRO/Wireless 3945ABG, and Fedora</h1>
|
||||
|
||||
<p>One of the things that has annoyed me about Fedora has been the decision to switch over to using <a href="http://www.gnome.org/projects/NetworkManager/">NetworkManager</a> to manage all network connections.</p>
|
||||
|
||||
<p>Now, on the service this has a lot of advantages. A lot of work has gone into it, and it just works for a vast majority of the installations out there. They have made it so the move from wired to wireless and back can be done without the user doing anything. They have also seamlessly tied in Dial-Up Networking if you still need a modem or use a wireless modem. They even have two-click access to your VPN which is pretty cool.</p>
|
||||
|
||||
<p>All these are things which are very good for Linux users. The biggest drawback to all this? The need for a user-space program to manage the non-hardwired connections. Which means that in order to be able to have any network running besides the good old twisted-pair copper, you have to have a little applet running as you, and it has to have a systray somewhere to display. Which means you have to be a) logged into the system and b) you have to be running a window manager which supports having a system tray. Now, Fedora gives you lots of choices for the second part now days. You have <a href="http://www.gnome.org">Gnome</a>, <a href="http://www.kde.org">KDE</a>, <a href="http://www.xfce.org">XFCE</a>, and <a href="http://lxde.sf.net">LXDE</a>. All are perfectly usable window managers. But, they still require you to be logged in to X. And, <a href="http://www.duckland.org/archives/2006/07/31/window-managers/">I do not use any of them</a>.</p>
|
||||
|
||||
<p>So, what is a cli-loving Fedora user to do? Well, there is this great program called <a href="http://www.tummy.com/Community/software/wifiroamd/">wifiroamd</a>. It will handle the same basic tasks that NetworkManager handles. It will automatically configure your wifi interface and connect to the wifi networks or the locate hardwired NIC if it cannot. You can configure it to run scripts per connection, so for example, you can change your firewall rules for different networks (shields down at home or the office, but up full at the coffee house), or you could bring up your VPN connection when you start using a given wireless network.</p>
|
||||
|
||||
<p>One tip I picked up from the author was that if you have multiple AP’s in range, an you want to select once AP over the other, is under the <em>/etc/wifiroamd/connections</em> directory, simply link the AP info you do not want to the one you want:</p>
|
||||
|
||||
<pre><code>ln essid:my_home_ap essid:bad_ap
|
||||
</code></pre>
|
||||
|
||||
<p>where <strong>essid:my_home_ap</strong> is your AP with the keys and other information you want, and <strong>essid:bad_ap</strong> is the one you do not want to connect to. My neighbors have some very powerful AP’s which have a habit of showing up high than mine, but I have no problem with them now.</p>
|
||||
|
||||
<p>I have been using this set up under Fedora since FC6 days, but when I upgraded to F10, this stopped working. wifiroamd would try to scan for an AP, and not find anything. The change, it turns out, is that when I switched from using the iw3945 driver to the native iwl3945, wifiroamd could no longer see the wireless NIC due to the wpa_supplicant process, but NetworkManager could. Simply stopping and disabling wp_supplicant and NetworkManager, and wifiroamd started working again! I am a happy camper again.</p></body></html>
|
||||
94
cache/posts/200905search-your-email.html
vendored
Normal file
94
cache/posts/200905search-your-email.html
vendored
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
<html><body><h1>Search your email!</h1>
|
||||
|
||||
<p>One of the features that most of the pretty GUI mailers offer you is the ability to search your email. While this is not a feature I use regularly, it is one which when you need it, you really need it. I have used <a href="http://grepmail.sf.net">grepmail</a> in the past, but it slow for me (it scans the mail files every time) and the big thing for me is that is only supports <a href="http://en.wikipedia.org/wiki/Mbox">mbox</a> files, and I use <a href="http://en.wikipedia.org/wiki/Maildir">maildir</a> since I use <a href="http://software.complete.org/software/projects/show/offlineimap">offlineimap</a>.</p>
|
||||
|
||||
<p>I recently found <a href="http://www.rpcurnow.force9.co.uk/mairix/">mairix</a>. While I have not been using it long, so far I am very impressed with it. It uses an index to speed up the search process, and it smartly adds only new or changed files to the index. The first indexing run was only a few seconds on my archive of almost 15,000 mail messages. I have it scheduled to update the index every 15 minutes, and I never notice the load this will put on the system.</p>
|
||||
|
||||
<p>To integrated mairix with mutt, I wrote a quick little script to search from within (or without) mutt:</p>
|
||||
|
||||
<pre><code>#!/bin/bash
|
||||
#===============================================================================
|
||||
#
|
||||
# FILE: mailsearch.sh
|
||||
#
|
||||
# USAGE: ./mailsearch.sh
|
||||
#
|
||||
# DESCRIPTION: search mail stuff
|
||||
#
|
||||
# OPTIONS: ---
|
||||
# REQUIREMENTS: ---
|
||||
# BUGS: ---
|
||||
# NOTES: ---
|
||||
# AUTHOR: Don Harper (), duck@duckland.org
|
||||
# COMPANY: Don Harper
|
||||
# VERSION: 1.0
|
||||
# CREATED: 05/25/2009 07:03:30 PM CST
|
||||
# REVISION: ---
|
||||
#===============================================================================
|
||||
|
||||
rm -rf $HOME/Maildir/mfolder
|
||||
echo " t::word
|
||||
Match word in the To: header.
|
||||
c::word
|
||||
Match word in the Cc: header.
|
||||
f::word
|
||||
Match word in the From: header.
|
||||
s::word
|
||||
Match word in the Subject: header.
|
||||
m::word
|
||||
Match word in the Message-ID: header.
|
||||
b::word
|
||||
Match word in the message body.
|
||||
d::[start-datespec]--[end-datespec]
|
||||
Match messages with Date: headers lying in the specific range.
|
||||
z::[low-size]--[high-size]
|
||||
Match messages whose size lies in the specified range.
|
||||
n::word
|
||||
Match word occurring as the name of an attachment in the mes-
|
||||
sage. Since attachment names are usually long, this option
|
||||
F::flags
|
||||
Match messages with particular flag settings.
|
||||
s meaning seen,
|
||||
r meaning replied
|
||||
f meaning flags
|
||||
prefixed by a - to negate its sense.
|
||||
|
||||
The a:: search pattern is an abbreviation for tcf:
|
||||
|
||||
Match words
|
||||
The word argument to the search strings can take various forms.
|
||||
~word
|
||||
Match messages not containing the word.
|
||||
word1,word2
|
||||
This matches if both the words are matched in the specified message part.
|
||||
word1/word2
|
||||
This matches if either of the words are matched in the specified message part.
|
||||
substring=
|
||||
Match any word containing substring as a substring
|
||||
substring=N
|
||||
Match any word containing substring, allowing up to N errors in
|
||||
the match. For example, if N is 1, a single error is allowed,
|
||||
where an error can be
|
||||
* a missing letter
|
||||
* an extra letter
|
||||
* a different letter.
|
||||
^substring=
|
||||
Match any word containing substring as a substring, with the
|
||||
requirement that substring occurs at the beginning of the
|
||||
matched word.
|
||||
d::start-end
|
||||
Specify both start and end explicitly
|
||||
"
|
||||
echo -n "Enter your search string: "
|
||||
read string
|
||||
mairix $string
|
||||
mutt -f=mfolder
|
||||
rm -rf $HOME/Maildir/mfolder
|
||||
</code></pre>
|
||||
|
||||
<p>Then, I bound this to “S'’ from within mutt:</p>
|
||||
|
||||
<pre><code> macro index,pager S "!mailsearch\n"
|
||||
</code></pre>
|
||||
|
||||
<p>This will give me a reminder of the search command, run the search, and then give me the search results in a new mutt session.</p></body></html>
|
||||
27
cache/posts/200912making-life-easy-over-flaky-links.html
vendored
Normal file
27
cache/posts/200912making-life-easy-over-flaky-links.html
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<html><body><h1>Making life easy over flaky links</h1>
|
||||
|
||||
<p>I tend to work over VPN, which we know can be flaky at times, Since I work on server, I spend a lot of time ssh’ed into hosts. I was getting tired of the lost time having to restart what I was working on every time the VPN dropped (which could be as much as every 15 minutes on a bad day). While I already used screen to handle the lack of terminals (Alas, I am forced to use a Windows laptop to VPN in with), I thought there could be an easier way to do this.</p>
|
||||
|
||||
<p>The way I tend to work is that I ssh into a jump server, fire up screen, then ssh into the hosts I need to work on, and fire up screen on those hosts.</p>
|
||||
|
||||
<p>Now, this is nice, but it can get a bit tiring to do it all over
|
||||
again. So, I found a tool called
|
||||
<a href="http://www.harding.motd.ca/autossh/">autossh</a> which will automatically restart your ssh session if it drops for any reason but a graceful disconnect. (Well, there are others, but this is basically it). Combine this with your ssh-agent, and you can re-attach with easy. I also use <a href="http://www.funtoo.org/Keychain">keychain</a> to help manage my ssh-agent when I log in.</p>
|
||||
|
||||
<p>Now that the connection will come back, I need a way to re-attach to my screen session, or if there is not one, to start one for me. To do<br>
|
||||
that, I have this is my .bashrc file:</p>
|
||||
|
||||
<pre><code>test -x $STY && screen -xR
|
||||
</code></pre>
|
||||
|
||||
<p>This will check to make sure that we are not already inside a screen session on the local host (<em>test -x $STY</em>), and if we are not, then either attach to an existing screen session or start a new one (<em>screen -xR</em>)</p>
|
||||
|
||||
<p>I have define this function in my .bashrc to spawn a new ssh connection in a separate screen window:</p>
|
||||
|
||||
<pre><code>function ss ()
|
||||
{
|
||||
screen -t $1 ssh $*
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<p>Easy stuff</p></body></html>
|
||||
7
cache/posts/201002cmus-project-restarted.html
vendored
Normal file
7
cache/posts/201002cmus-project-restarted.html
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<html><body><h1>cmus project restarted</h1>
|
||||
|
||||
<p>Just a quick note. The cmus project has been restarted recently, and they are working on a new release. This one should have better integration with things like PulseAudio.</p>
|
||||
|
||||
<p>Good news!</p>
|
||||
|
||||
<p>Go check out <a href="http://cmus.sourceforge.net/">http://cmus.sourceforge.net/</a> for more details.</p></body></html>
|
||||
29
cache/posts/201112an-update-to-window-managers.html
vendored
Normal file
29
cache/posts/201112an-update-to-window-managers.html
vendored
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
<html><body><h1>An Update to 'Window Managers?'</h1>
|
||||
|
||||
<p>Way back, I wrote a quick blurb on <a href="http://www.duckland.org/index.php/2006/07/31/window-managers/">Windows Managers</a> for running under X.</p>
|
||||
|
||||
<p>Well, a while back I switched to <a href="http://www.ubuntu.com">Ubuntu</a> for my OS of choice. As you may know, the fine folks at Ubuntu switch the default window manager to something called <strong>Unity</strong>, which cause a stir. I tried it for a while, but decided that it was too heavy, and to mouse-centric.</p>
|
||||
|
||||
<p>So, what to do? Well, I went back to my old standby <a href="http://wmfs.info">wmfs</a>, Window Manager From Scratch. This is a modern WM with systray support, full Ximirama and Xrandr support, tiles, and is mainly driven from the keyboard. Life is good.</p>
|
||||
|
||||
<p>To install (same steps as for Fedora, RHEL, or Ubuntu), download the source, and install the needed development libraries for: <strong>X11, Xft, freetype, Xinerama, Xrandr, and Imlib2</strong>. I used the native packages from the OS. Then, simple do a</p>
|
||||
|
||||
<pre><code>make
|
||||
sudo make install
|
||||
</code></pre>
|
||||
|
||||
<p>(you do build software as a normal user, right?)</p>
|
||||
|
||||
<p>This will install all the needed bits and configs into the correct place. Under Ubuntu 11.10, there was an entry from the login screen to let me chose wmfs.</p>
|
||||
|
||||
<p>Config is handled in <em>$HOME/.config/wmfs/wmfsrc</em> which you can copy from <em>/etc/xdg/wmfs/wmfsrc</em>.</p>
|
||||
|
||||
<p>The <a href="http://wmfs.info">wmfs website</a> has very nice documentation as well as likes to some people’s configs with screen shots.</p>
|
||||
|
||||
<p>It runs very fast, and very lean:</p>
|
||||
|
||||
<pre><code> Private + Shared = RAM used Program
|
||||
3.9 MiB + 310.0 KiB = 4.2 MiB wmfs
|
||||
</code></pre>
|
||||
|
||||
<p>Check it out, I am sure you will like what you see.</p></body></html>
|
||||
10
cache/posts/201311clickable-urls-links-in-rxvt.html
vendored
Normal file
10
cache/posts/201311clickable-urls-links-in-rxvt.html
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<html><body><p>So, I use <a href="http://rxvt.sf.net">rxvt</a> as my daily interface to my computers. I also use <a href="http://www.mutt.org">mutt</a> for my email reading pleasure. Sometimes, I get URLs in email and I want to read them in a browser. If I was using a GUI based mail reader, I would just click the URL to open it. Well, there is an easy way to set up rxvt to do that!</p>
|
||||
|
||||
<p>Using the fine <a href="http://wiki.archlinux.org">Arch Linux wiki</a> entry for <a href="https://wiki.archlinux.org/index.php/rxvt-unicode#Clickable_URLs">rxvt unicode</a>, the solution is quite easy. In the file <strong>~/.Xdefaults</strong>, add:</p>
|
||||
|
||||
<pre><code>URxvt.perl-ext-common: default,matcher
|
||||
URxvt.url-launcher: /usr/bin/firefox
|
||||
URxvt.matcher.button: 1
|
||||
</code></pre>
|
||||
|
||||
<p>And either do a <strong>xrdb --merge ~/.Xdefaults</strong> or log out/log in. And start a new rxvt, and you are good to go.</p></body></html>
|
||||
9
cache/posts/201311dd-with-progress.html
vendored
Normal file
9
cache/posts/201311dd-with-progress.html
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<html><body><p>I needed to write an iso image to a USB key, and the typical way is
|
||||
with just dd(8), but I wanted a progress bar. A quick google later,
|
||||
and I get:</p>
|
||||
|
||||
<pre><code>pv -tpreb isoname | sudo dd of=/dev/sdd bs=1024</code></pre>
|
||||
|
||||
<p>Which will write the iso image to the USB stick sdd, and give me a
|
||||
progress bar, tell me how fast it is writing, and give me an eta when
|
||||
finished. Perfect.</p></body></html>
|
||||
5
cache/posts/201311rebooting-ducklandorg.html
vendored
Normal file
5
cache/posts/201311rebooting-ducklandorg.html
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<html><body><p>Today is <a href="http://en.wikipedia.org/wiki/All_Saints%27_Day">All Saints Day</a>, so it seems natural to let duckland.org start new again.</p>
|
||||
|
||||
<p>As is popular in Hollywood, I have decided to reboot this web site after 6 1/2 years. I have not decided about the old content.</p>
|
||||
|
||||
<p>I am planning on using this as a technical notebook. <em>Shrug</em> I hope to make it worth while.</p></body></html>
|
||||
12
cache/posts/201311tale-of-install.html
vendored
Normal file
12
cache/posts/201311tale-of-install.html
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<html><body><p>So, I am starting a new personal project at the house, and I need a new server. As I was wanting to learn more about the *BSD, I started looking around at things like <a href="http://www.freebsd.org">FreeBSD</a>, <a href="http://www.netBSD.org">NetBSD</a>, or <a href="http://www.openbsd.org">OpenBSD</a>.</p>
|
||||
|
||||
<p>Since there was a security part, I started with <strong>OpenBSD</strong>. One of
|
||||
the things I noticed quickly while doing my research is that while
|
||||
there is a lot of documentation, they do not really seem to care about
|
||||
making it easy for new folks to join the project, nor are the trying
|
||||
to support new-fangled hardware, like <a href="http://openbsd.7691.n7.nabble.com/bootable-OpenBSD-USB-stick-from-windows-td223393.html">bootable USB
|
||||
drives</a>.
|
||||
This strikes me odd, as FreeBSD has <a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/bsdinstall-pre.html">instructions (see
|
||||
2.3.5)</a>.</p>
|
||||
|
||||
<p>Since I want to use pf, I am going to stay with OpenBSD for now.</p></body></html>
|
||||
9
cache/posts/201401cli-added.html
vendored
Normal file
9
cache/posts/201401cli-added.html
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<html><body><p>I have not updated <a href="http://cli.donharper.org">cli.donharper.org - forget the
|
||||
GUI</a> in a very long time, and I did have
|
||||
some nice tricks and tips there, so I decided to bring it over here.</p>
|
||||
|
||||
<p>It is all tagged with
|
||||
<a href="http://www.duckland.org/tag/cli" title="cli">cli</a>
|
||||
for easy searching, plus I added a whole mess of other tags.</p>
|
||||
|
||||
<p>Enjoy.</p></body></html>
|
||||
3
cache/posts/201401tale-of-install-2.html
vendored
Normal file
3
cache/posts/201401tale-of-install-2.html
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<html><body><p>Well, as I <a href="http://www.duckland.org/archive/2013/11/Tale_of_Installs.html">mentioned</a>, I was trying to install OpenBSD. Well, my main workstation died, so I have to re-purposed the OpenBSD box as my workstation running <a href="http://www.archlinux.org">ArchLinux</a>. I am hunting for a suitable replacement.</p>
|
||||
|
||||
<p>Oh, and Happy New Year!</p></body></html>
|
||||
14
cache/posts/201402travels.html
vendored
Normal file
14
cache/posts/201402travels.html
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<html><body><p>Found this site, and since I had someone ask, I thought I would share.</p>
|
||||
|
||||
<div style="width:550px; position: relative;">
|
||||
<object width="550" height="293" type="application/x-shockwave-flash" data="http://static.travbuddy.com/flash/countries_map.swf?id=6299186" height="293" width="550">
|
||||
<param name="movie" value="http://static.travbuddy.com/flash/countries_map.swf?id=6299186" />
|
||||
<param name="quality" value="high" /><param name="bgcolor" value="#372060" />
|
||||
<embed src="http://static.travbuddy.com/flash/countries_map.swf?id=6299186" quality="high" bgcolor="#372060" width="550" height="293" type="application/x-shockwave-flash"></embed>
|
||||
</object>
|
||||
<div style="background-color: #38235b; padding: 5px 0px 5px 0px; text-align: center; width: 549px; border-left: 1px solid #372060; font-size: 11px; color: #EEE; line-height: 1.4em;">
|
||||
<a style="font-size: 14px; color: #FFBF42" href="http://www.travbuddy.com/travel-widgets"><strong>Create your own travel map</strong></a> - <a style="font-size: 14px; color: #FFBF42" href="http://www.travbuddy.com"><strong>TravBuddy</strong></a><br/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
45
cache/posts/201403back-to-freebsd-aka-day-1.html
vendored
Normal file
45
cache/posts/201403back-to-freebsd-aka-day-1.html
vendored
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
<html><body><p>So, a long time ago, I had a box which was running FreeBSD 4, running
|
||||
on a Pentium. This housed my public server, website, and mail server.
|
||||
After I while, I had to rebuild it, and went back to Linux.</p>
|
||||
|
||||
<p>14 years later, I have decided to get back into FreeBSD, now at
|
||||
FreeBSD 10. I have it running headless on two boxes, and I have
|
||||
decided to take the '30 Day Challenge'. You know, all the bloggers
|
||||
tell you to try something for 30 days before you give up on it.</p>
|
||||
|
||||
<p>I am going to try to give FreeBSD a go as my daily driver for 30 (or
|
||||
so) days. I cannot do this full time, as I so Linux support in my day
|
||||
job, so I cannot change over the work laptop (yet). I have installed
|
||||
<a href="http://www.pcbsd.org" title="PCBSD">PCBSD10</a> on one of my spare laptops. Why PCBSD and not pure
|
||||
FreeBSD? Well, I do not know enough yet to get past UEFI boot and the
|
||||
NVidia/Intel dual graphics, so I cheated. I imagine that I before
|
||||
the end, I will either reload this laptop or start from scratch on my
|
||||
current daily personal driver.</p>
|
||||
|
||||
<p>So, most of my cli tools came over very cleanly, with the exception of
|
||||
abook. On Linux, I track the git repo, and the version in the
|
||||
ports tree is a bit older, so I will need to either compile it from
|
||||
git, or change my config to use the older version. But the rest,
|
||||
mutt, tmux, newsbeauter, irssi, and such, all work out of the box.</p>
|
||||
|
||||
<p>In the X department, PCBSD has my current favorite window-manager, i3,
|
||||
so that is all good. The only issue I hit is the version of firefox
|
||||
in the PCBSD port tree is broken, and I am going to stay away from the
|
||||
PBI as much as I can. I feel that PBI are too much like installing
|
||||
something under windows, i.e. install the app, and all the libraries
|
||||
it needs to run. In my option, a waste of space, and un-patched
|
||||
libraries on my system. Thank you, I will pass. I ended up enabling
|
||||
the normal FreeBSD ports tree to install it.</p>
|
||||
|
||||
<p>I have ported most of my custom scripts over. Most of the work is in
|
||||
the fact that bash lives somewhere different (/usr/local/bin vs /bin).
|
||||
There are a few commands either missing or I have not installed them
|
||||
yet, and a couple of core commands have very different syntax.</p>
|
||||
|
||||
<p>I figure for most of what I do, this will be very easy to switch over,
|
||||
but the main area I am unsure of at this point is in photo editing and
|
||||
photo management. I use a commercial Linux package, and I will need
|
||||
to figure out how to make it work under the Linux compatibility layer.</p>
|
||||
|
||||
<p>I do not promise daily updates, but I will try to keep a journal of my
|
||||
progress.</p></body></html>
|
||||
13
cache/posts/201403freebsd-challenge-day-12-15.html
vendored
Normal file
13
cache/posts/201403freebsd-challenge-day-12-15.html
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<html><body><p>Half-way point.</p>
|
||||
|
||||
<p>Much progress made in the world of a bootable USB stick to get my new-fangled WiFi chip working. I was able to make a new image, wrote it to a new USB stick, booted it, and was able to successfully scan for my Access Points! W00t!</p>
|
||||
|
||||
<p>Tomorrow, I will take the second laptop (HP EliteBook Revolve 810), and load it with 10-Release (slightly patched). I do not expect everything to work (it has a touch screen), but enough should work that I can start using it for the daily driver. Having real wifi will help a lot.</p>
|
||||
|
||||
<p>My updates have been a bit slow due to craziness at work. I am taking a trip, and the departure date has been reset many times. I am on my 5th set of airline tickets. With things settled, I need to decide if I am going to bring the second laptop (the R180) with me or not. Weight issues and all.</p>
|
||||
|
||||
<p>How do I think this is going? Well, the two major issues I thought I would have going in, WiFi and Photo editing/management, are for the most part solved. Can I use this for my daily non-work driver? Yes. Can I use it for my work daily driver? Maybe. I have set up a few jails on the FreeNAS box (btsync, dns/dhcp, <a href="http://taskwarrior.org/docs/server_setup.html">taskwarrior's taskd</a>, and Plex), and they are mainly working well together (the Plex will not play nice with btsync, yet), but I need to figure out a bit more, and set it up as a target to backup my laptop's ZFS snapshots.</p>
|
||||
|
||||
<p>Next steps are to find those performance monitoring tools/docs, and to look at something like puppet/chef/salt.</p>
|
||||
|
||||
<p>Thanks for reading....</p></body></html>
|
||||
5
cache/posts/201403freebsd-challenge-day-16.html
vendored
Normal file
5
cache/posts/201403freebsd-challenge-day-16.html
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<html><body><p>Busy day with other things than play computers, but I found a little time. I have FreeBSD 10-STABLE loaded with the custom WiFi hack on my <a href="http://notebookplanet.blogspot.com/2013/04/hp-elitebook-revolve-810-g1-tablet.html">Elitebook Revolve 810</a>. I would have to let it try to boot off the USB stick. After multiple tries, it would finally run the installer. I tried ZFS a few times, but if I did not select MBR format for the partition table, then it would not boot (no OS error). With MBR and ZFS, it would fail to mount the ZFS filesystem with <strong>error 2</strong>. After trying the various fixes listed on-line, I gave up and went with MBR and UFS.</p>
|
||||
|
||||
<p>Once installed, it was fairly easy to get going. I have not configured it to take on the role of daily driver yet. If I have time tomorrow, then I will do it then, otherwise, it will have to wait a bit as I am getting on a plane this weekend, and I will not have room for the second computer. I will try to get it as far as I can with ssh.</p>
|
||||
|
||||
<p>The neat thing I found based on <a href="http://lists.freebsd.org/pipermail/freebsd-questions/2005-April/083317.html">this email post from 2005</a> and <a href="http://www.freebsdonline.com/content/view/829/524/">this blog post</a> is that I can have a fancy screensaver at the console! Pretty rad. :) Next steps will be improving the screen resolution in text-mode.</p></body></html>
|
||||
7
cache/posts/201403freebsd-challenge-day-2.html
vendored
Normal file
7
cache/posts/201403freebsd-challenge-day-2.html
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<html><body><p>Just a quick update. Yesterday, I got abook working. Kind of a hack, though. I used gcc to compile it, vs. clang. I will have to revisit this and offer up some patches to the abook project.</p>
|
||||
|
||||
<p>I have also been playing with <strong>x11/xpra</strong> which bills itself as 'screen for X11'. That, combined with <strong><a href="https://github.com/apenwarr/sshuttle">sshuttle</a></strong>, lets me get in from work and do some work during lunch. It may also give me a tempory way to use <strong><a href="http://www.corel.com/corel/product/index.jsp?pid=prod4670071&cid=catalog20038&segid=6000006">AfterShotPro</a></strong> until I get the whole Linux compatability layer thing figured out.</p>
|
||||
|
||||
<p>Next up is learing how to use <em>ports(7)</em> working to be able to install <strong>10-STABLE</strong> while the host is <strong>10-RELEASE</strong>.</p>
|
||||
|
||||
<p>Yes, my issues are not normal. :)</p></body></html>
|
||||
1
cache/posts/201403freebsd-challenge-day-3.html
vendored
Normal file
1
cache/posts/201403freebsd-challenge-day-3.html
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
<html><body><p>No major work on the laptop today because I set up a FreeNAS box. I was able to get 4 x 3T drives, and set it up. Pretty easy. I am now busy moving my media over to it.</p></body></html>
|
||||
7
cache/posts/201403freebsd-challenge-day-4-6.html
vendored
Normal file
7
cache/posts/201403freebsd-challenge-day-4-6.html
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<html><body><p>Sorry...busy time at work and with the family.</p>
|
||||
|
||||
<p>Small updates: I have the external VGA dongle working. No config needed, just plug it in and it works. I really need to fix the WiFi so I can stop using the USB dongle on it. Also, I have updated mutt to 1.5.23, and that upgrade went smoothly. Since I am not using the default build, it was a matter of <em>portsnap fetch && portsnap update && cd /usr/ports/mail/mutt && pkg remove mutt && make install clean</em> and all is good!</p>
|
||||
|
||||
<p>My biggest update is that I got AfterShotPro working! It as a simple as reading the pages in the <a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/linuxemu-lbc-install.html">manual</a>, and changing the path to bash in the launcher script, and all is good! I should really look into what it takes to make a port so when I set up the next few computers, I will not have to do this by hand again.</p>
|
||||
|
||||
<p>Next thing to figure out is how to get the sound to come out of my headphones instead of the the speakers. Since I did not have to do anything to get sound, I figure this is just a bit of RTFM'ing on my part.</p></body></html>
|
||||
5
cache/posts/201403freebsd-challenge-day-7.html
vendored
Normal file
5
cache/posts/201403freebsd-challenge-day-7.html
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<html><body><p>AKA Fight with Thunderbird and Lightning.</p>
|
||||
|
||||
<p>I broke down and installed a PBI for now. I could not get Lightning, the calendaring AddOn for Thunderbird to work using the native FreeBSD pkg or the linux-thunderbird one. The linux-thunderbird package actually refused to start for me. I need to go figure out how to generate a PR.</p>
|
||||
|
||||
<p>The other thing I am playing with is building a memstick image after patching the kernel using this <a href="https://forums.freebsd.org/viewtopic.php?t=35467">post</a> in the FreeBSD Forums. This is for the <strong>Intel Centrino Advanced-N 6235 WiFi Driver</strong> which I have in all my laptops. The data wants to be free! from wires. Since it is chunking away, I will test tomorrow.</p></body></html>
|
||||
5
cache/posts/201403freebsd-challenge-day-8.html
vendored
Normal file
5
cache/posts/201403freebsd-challenge-day-8.html
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<html><body><p>Again, work is dragging, so not much to update.</p>
|
||||
|
||||
<p>I have install btsync and I am now syncing home dirs between the laptop, desktop, and the FreeNAS.</p>
|
||||
|
||||
<p>My attempt to build a custom kernel to deal with the new WiFi was mixed. I was able to build the kernel and world just fine and it made a USB image for me. But, it would not boot...I do need to figure out how to debug this. :)</p></body></html>
|
||||
9
cache/posts/201403freebsd-challenge-day-9-11.html
vendored
Normal file
9
cache/posts/201403freebsd-challenge-day-9-11.html
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<html><body><p>Ah, life with kids...not enough spare time with soccer and volleyball practices and games.</p>
|
||||
|
||||
<p>Things are going well. Found a few more small utilities that I use under Linux and added them via pkgng, and all is good.</p>
|
||||
|
||||
<p>Next up: system debugging. The system will slow down at random points, so I need to go find a good performance debug guide. The only thing changed was I imported my music library (~60G), but my drive is still plenty empty (~37% used), so I do not think it is ZFS, but I am not sure.</p>
|
||||
|
||||
<p>The other is the custom boot stick I made does not work. The initial loader will start, but then it stops. So, I need to find the docs on the boot process there.</p>
|
||||
|
||||
<p>Oh, and welcome to all the folks from <a href="http://bsdnow.tv">BSDNow</a>, which is an awesome video/audio podcast on all things BSD.</p></body></html>
|
||||
3
cache/posts/201403new-cms-again.html
vendored
Normal file
3
cache/posts/201403new-cms-again.html
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<html><body><p>Still not going with a database on the back-end, but this one has a cool real-time visualization editor.</p>
|
||||
|
||||
<p>It is called <a href="http://www.htmly.com/" title="HTMLy">HTMLy</a>. This should let me update this a bit more. But, I have said that before.</p></body></html>
|
||||
5
cache/posts/201404freebsd-challenge-day-17.html
vendored
Normal file
5
cache/posts/201404freebsd-challenge-day-17.html
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<html><body><p>Today, I got my new laptop <strong><em>dragon</em></strong> up on wireless with a little <a href="http://www.amazon.com/gp/product/B003MTTJOY/ref=ox_sc_act_title_1?ie=UTF8&psc=1&smid=A2N1S6D8VVCNZ3">Edimax EW-7811Un 150 Mbps Wireless 11n Nano Size USB Adapter</a>. Now, setup begins in ernest. I have disabled the on-board wireless NIC in the BIOS, and started to set up shop on it.</p>
|
||||
|
||||
<p>Next major task. Configure X. :)</p>
|
||||
|
||||
<p>d</p></body></html>
|
||||
21
cache/posts/201404freebsd-challenge-final-for-now.html
vendored
Normal file
21
cache/posts/201404freebsd-challenge-final-for-now.html
vendored
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<html><body><p>Well,
|
||||
Something broke on the main computer. The speed when trying to run
|
||||
a few terminal apps, firefox, and thunderbird at the same time was
|
||||
appalling. I never had that sort of performance issues under
|
||||
ArchLinix on the same kit. I would love to take the time to debug it,
|
||||
but I am almost four weeks behind in dealing with my photos, including
|
||||
those from my trip to England, and I am getting ready to do run some
|
||||
training courses for work which will suck up all my free time.</p>
|
||||
|
||||
<p>I am re-installing Arch on the two laptops. I should have restored
|
||||
working configs in a day or two, and then I can start working on my
|
||||
backlog of photo and other projects.</p>
|
||||
|
||||
<p>Also, since my laptops are not supported under 10-RELEASE, I want to
|
||||
wait until 10.1 to see if my WLAN NICs are supported.</p>
|
||||
|
||||
<p>I still need to rebuild my server which has a failing drive (backed up
|
||||
the data already, just need time). I may go ahead and put 10-RELEASE
|
||||
on it since the NICs are fully supported.</p>
|
||||
|
||||
<p>d</p></body></html>
|
||||
6
cache/posts/201404freebsd-challenge-update.html
vendored
Normal file
6
cache/posts/201404freebsd-challenge-update.html
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<html><body><p>Hey,
|
||||
Sorry about the lack of updates over the last two weeks, but my job sent me out of country for two weeks, and I had no time to work on this project. Once I unbury myself, I will return to this with a vengence. I am planning on <em>upgrading</em> my two servers to FreeBSD10 from Linux. One will involve a major disk reworking as one of the disks is about dead.</p>
|
||||
|
||||
<p>Stay tuned, and thanks for coming back!</p>
|
||||
|
||||
<p>d</p></body></html>
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue