{% extends "base.html" %}
{% block head %}
<meta name="keywords" content="{{ article.tags|join(', ')  }}">
{% endblock %}

{% block title %}{{ article.title }}{% endblock %}

{% block header %}
<p>Posted on {{ article.locale_date }}</p>
{% endblock %}

{% block content %}
<article>
  <div id="article_title">
    <h3><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></h3>
  </div>
  <div id="article_text">
    {{ article.content }}
  </div>
  <div id="article_meta">
    <p>Category: <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a></p>
    {% if article.tags %}
    <p>Tags:
      {% for tag in article.tags %}
      <a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a>{% if not loop.last %},{% endif %}
      {% endfor %}
    </p>
    {% endif %}
  </div>

  {% if DISQUS_SITENAME %}
    <div class="comments">
    <h2>Comments !</h2>
        <div id="disqus_thread"></div>
        <script type="text/javascript">
           var disqus_identifier = "{{ article.url }}";
           (function() {
           var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
           dsq.src = 'http://{{ DISQUS_SITENAME }}.disqus.com/embed.js';
           (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
          })();
        </script>
    </div>
    {% endif %}

</article>
{% endblock %}

{% block footer %}
<p><a href="{{ SITEURL }}/" class="button_accent">&larr; Back to Index</a></p>
{% endblock %}
