{% extends 'src_base.html' %} {% load typogrify_tags %} {% load comments %} {% block pagetitle %}{{object.title|striptags}} | luxagraf:src{% endblock %} {% block bodyid %}class="src"{% endblock %} {% block metadescription %}{% autoescape on %}{{object.meta_description|striptags|safe}}{% endautoescape %}{% endblock %} {%block extrahead%} <meta property="og:type" content="article" /> <meta property="og:site_name" content="luxagraf:src"/> <meta property="og:title" content="{{object.title|safe}}" /> <meta property="og:url" content="https://luxagraf.net{{object.get_absolute_url}}" /> <meta property="og:image" content=""> <meta property="og:description" content="{{object.meta_description}}" /> <meta property="article:published_time" content="{{object.pub_date|date:'c'}}" /> <meta property="article:author" content="Luxagraf" /> <meta property="og:site_name" content="Luxagraf:src" /> <meta property="og:locale" content="en_US" /> <meta name="twitter:card" content="summary_large_image"/> <meta name="twitter:site" content="@luxagraf"/> <meta name="twitter:creator" content="@luxagraf"/> <link rel="stylesheet" href="/media/src/solarized.css" type="text/css" media="screen"/> {%endblock%} {% block primary %}<ul class="bl" id="breadcrumbs" itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> <li><a href="/" title="luxagraf homepage" itemprop="url"><span itemprop="title">Home</span></a> → </li> <li><a href="/src/"><code>src</code></a></li> </ul> <main role="main"> <article class="hentry post--article{% with object.get_template_name_display as t %}{%if t == "double" or t == "double-dark" %} post--article--double{%endif%}{%endwith%}" itemscope itemType="http://schema.org/Article"> <header id="header" class="post--header {% with object.get_template_name_display as t %}{%if t == "double" or t == "double-dark" %}post--header--double{%endif%}{%endwith%}"> <h1 class="p-name entry-title post--title" itemprop="headline">{%if object.template_name == 1 or object.template_name == 3 %}{{object.title|safe|smartypants}}{%else%}{{object.title|safe|smartypants|widont}}{%endif%}</h1> {% if object.slug != 'about' %}<time class="dt-published published dt-updated post--date" datetime="{{object.pub_date|date:'c'}}" itemprop="datePublished">{{object.pub_date|date:"F"}} <span>{{object.pub_date|date:"j, Y"}}</span></time>{%endif%} {% if object.topics.all %}<span class="src-topics">Topics: {% for topic in object.topics.all%} <a href="/src/topic/{{topic.slug}}">{{topic.name}}</a>{%if forloop.last%}{%else%}, {%endif%}{%endfor%}</span>{%endif%} <p class="p-author author hide" itemprop="author"><span class="byline-author" itemscope itemtype="http://schema.org/Person"><span itemprop="name">Scott Gilbertson</span></span></p> </header> <div id="article" class="e-content entry-content post--body post--body--{% with object.template_name as t %}{%if t == 0 or t == 2 %}single{%endif%}{%if t == 1 or t == 3 %}double{%endif%}{%endwith%}" itemprop="articleBody"> {{object.body_html|safe|smartypants|widont}} </div> </article> {% if object.slug != 'about' %} {% with object.get_next_published as next %} {% with object.get_previous_published as prev %} <nav id="page-navigation"> <ul>{% if prev%} <li id="prev"><span class="bl">Previous:</span> <a href="{{ prev.get_absolute_url }}" rel="prev" title=" {{prev.title}}">{{prev.title|safe}}</a> </li>{%endif%}{% if next%} <li id="next"><span class="bl">Next:</span> <a href="{{ next.get_absolute_url }}" rel="next" title=" {{next.title}}">{{next.title|safe}}</a> </li>{%endif%} </ul> </nav>{%endwith%}{%endwith%} {%endif%} </main> {% if object.slug != 'about' %} {% if object.enable_comments %} {% get_comment_count for object as comment_count %} {%if comment_count > 0 %} <p class="comments--header">{{comment_count}} Comment{{ comment_count|pluralize }}</p> {% render_comment_list for object %} {%endif%} {% render_comment_form for object %} {% else %} <p class="comments--header" style="text-align: center">Sorry, comments have been disabled for this post.</p> {%endif%} {%endif%} {% endblock %} {% block js %} <script type="text/javascript"> window.onload = function() { {% if object.enable_comments %} {% get_comment_count for object as comment_count %} {%if comment_count > 0 %} //delay loading of gravatar images using noscript data-hash attribute dataattr = document.getElementsByClassName("datahashloader"); for(var i=0; i<dataattr.length; i++) { var c = dataattr[i].parentNode; var img = document.createElement("img"); img.src = 'https://images.luxagraf.net/gravcache/' + dataattr[i].getAttribute('data-hash') + '.jpg'; img.className += "gravatar"; c.insertBefore(img, c.childNodes[3]); } {%endif%} {%endif%} {% with object.get_template_name_display as t %}{%if t == "single" or t == "single-dark" %} createMap(); var open = false; {%endif%}{%endwith%} } </script> {% if object.has_code %} {%endif %} {% endblock %}