article.html 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. {% extends "base.html" %}
  2. {% block head %}
  3. {{ super() }}
  4. {% if article.description %}
  5. <meta name="description" content="{{ article.description }}" />
  6. {% endif %}
  7. {% for tag in article.tags %}
  8. <meta name="tags" content="{{tag}}" />
  9. {% endfor %}
  10. {% endblock %}
  11. {% block twittercard %}
  12. {% if article.cover_image %}
  13. <meta name="twitter:card" content="summary_large_image">
  14. <meta name="twitter:image" content="{{ SITEURL }}/images/{{ article.cover_image }}">
  15. <meta name="twitter:creator" content="{{ TWITTER_USERNAME }}">
  16. {% elif GRAVATAR %}
  17. <meta name="twitter:card" content="summary">
  18. <meta name="twitter:image" content="{{ GRAVATAR }}">
  19. {% elif LOGO %}
  20. <meta name="twitter:card" content="summary">
  21. <meta name="twitter:image" content="{{ SITEURL }}/images/{{ LOGO }}">
  22. {% endif %}
  23. <meta name="twitter:site" content="{{ TWITTER_USERNAME }}">
  24. <meta name="twitter:title" content="{{ article.title }}">
  25. <meta name="twitter:description" content="{{ article.description }}">
  26. {% endblock twittercard %}
  27. <!-- OG Tags -->
  28. {% block ogtags %}
  29. <meta property="og:url" content="{{ SITEURL }}/{{ article.url }}"/>
  30. <meta property="og:title" content="{{ SITENAME }} | {{ article.title }}" />
  31. <meta property="og:description" content="{{ article.description }}" />
  32. {% if article.cover_image %}
  33. <meta property="og:image" content="{{ SITEURL }}/images/{{ article.cover_image }}" />
  34. {% endif %}
  35. {% endblock ogtags %}
  36. {% block content %}
  37. <div class="article" role="article">
  38. <article>
  39. <header>
  40. <h1>
  41. {{ article.title }}
  42. </h1>
  43. </header>
  44. <div class="content">
  45. {{ article.content|safe }}
  46. </div>
  47. <div class="back-to-top">
  48. <a href="#top">back to top</a>
  49. </div>
  50. {% if DISQUS_SITENAME %}
  51. <div id="disqus_thread"></div>
  52. {% if SITEURL %}
  53. <script>
  54. var disqus_config = function () {
  55. this.page.url = "{{ SITEURL }}/{{ article.url }}"; // Replace PAGE_URL with your page's canonical URL variable
  56. this.page.identifier = "{{ article.slug }}"; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
  57. };
  58. </script>
  59. {% endif %}
  60. <script>
  61. (function() {
  62. var d = document, s = d.createElement('script');
  63. s.src = 'https://{{ DISQUS_SITENAME }}.disqus.com/embed.js';
  64. s.setAttribute('data-timestamp', +new Date());
  65. (d.head || d.body).appendChild(s);
  66. })();
  67. </script>
  68. <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
  69. {% endif %}
  70. </article>
  71. </div>
  72. <!-- end article -->
  73. {% endblock content %}