|
@@ -0,0 +1,162 @@
|
|
|
|
+{% macro comments_styles() %}
|
|
|
|
+{% if PELICAN_COMMENT_SYSTEM %}
|
|
|
|
+{# NOTE:
|
|
|
|
+ # Instead of using this macro copy these styles in your main css file
|
|
|
|
+ # This marco is only here to allow a quickstart with nice styles
|
|
|
|
+ #}
|
|
|
|
+<style>
|
|
|
|
+#pcs-comment-form input,
|
|
|
|
+#pcs-comment-form textarea {
|
|
|
|
+ width: 100%;
|
|
|
|
+}
|
|
|
|
+#pcs-comment-form-display-replyto {
|
|
|
|
+ border: solid 1px black;
|
|
|
|
+ padding: 2px;
|
|
|
|
+}
|
|
|
|
+#pcs-comment-form-display-replyto p {
|
|
|
|
+ margin-top: 0.5em;
|
|
|
|
+ margin-bottom: 0.5em;
|
|
|
|
+}
|
|
|
|
+#pcs-comments ul {
|
|
|
|
+ list-style: none;
|
|
|
|
+}
|
|
|
|
+#pcs-comments .comment-left {
|
|
|
|
+ display: table-cell;
|
|
|
|
+ padding-right: 10px;
|
|
|
|
+}
|
|
|
|
+#pcs-comments .comment-body {
|
|
|
|
+ display: table-cell;
|
|
|
|
+ vertical-align: top;
|
|
|
|
+ width: 100%;
|
|
|
|
+}
|
|
|
|
+</style>
|
|
|
|
+{% endif %}
|
|
|
|
+{% endmacro %}
|
|
|
|
+
|
|
|
|
+{% macro comments_form() %}
|
|
|
|
+{% if PELICAN_COMMENT_SYSTEM %}
|
|
|
|
+<section>
|
|
|
|
+ <form id="pcs-comment-form" action="#">
|
|
|
|
+ <legend>Add a Comment</legend>
|
|
|
|
+ <input type="hidden" id="pcs-comment-form-input-replyto">
|
|
|
|
+ <fieldset>
|
|
|
|
+ <label for="pcs-comment-form-input-name">Name</label>
|
|
|
|
+ <input id="pcs-comment-form-input-name" type="text" placeholder="Enter your name or nickname" />
|
|
|
|
+ </fieldset>
|
|
|
|
+ <fieldset>
|
|
|
|
+ <label for="pcs-comment-form-input-website">Website</label>
|
|
|
|
+ <input id="pcs-comment-form-input-website" type="text" placeholder="Enter your website (optional)" />
|
|
|
|
+ </fieldset>
|
|
|
|
+ <fieldset>
|
|
|
|
+ <label for="pcs-comment-form-input-textarea">Your Comment</label>
|
|
|
|
+ <textarea id="pcs-comment-form-input-textarea" rows="5" style="resize:vertical;" placeholder="Your comment"></textarea>
|
|
|
|
+ <p>You can use the <a href="https://en.wikipedia.org/wiki/Markdown">Markdown</a> syntax to format your comment.</p>
|
|
|
|
+ <div style="display: none; " id="pcs-comment-form-display-replyto"></div>
|
|
|
|
+ </fieldset>
|
|
|
|
+
|
|
|
|
+ <button type="submit"
|
|
|
|
+ id="pcs-comment-form-button-submit"
|
|
|
|
+ {# Piwik Track click on comment button
|
|
|
|
+ onclick="javascript:_paq.push(['trackEvent', 'comment', '{{ article.title }}', document.getElementById('pcs-comment-form-input-textarea').value]);" #}
|
|
|
|
+ >Post via email</button>
|
|
|
|
+
|
|
|
|
+ {% if PELICAN_COMMENT_SYSTEM_FEED and article %}
|
|
|
|
+ <a href="{{ SITEURL }}/{{ PELICAN_COMMENT_SYSTEM_FEED|format(article.slug) }}">
|
|
|
|
+ Comment Atom Feed
|
|
|
|
+ </a>
|
|
|
|
+ {% endif %}
|
|
|
|
+ </form>
|
|
|
|
+</section>
|
|
|
|
+{% endif %}
|
|
|
|
+{% endmacro %}
|
|
|
|
+
|
|
|
|
+{% macro comments_with_form() %}
|
|
|
|
+{% if PELICAN_COMMENT_SYSTEM %}
|
|
|
|
+<section id="pcs-comments">
|
|
|
|
+ <header>
|
|
|
|
+ <h2>Comments</h2>
|
|
|
|
+ <hr/>
|
|
|
|
+ </header>
|
|
|
|
+ {% if article.comments %}
|
|
|
|
+ <ul>
|
|
|
|
+ {% for comment in article.comments recursive %}
|
|
|
|
+ <li id="comment-{{comment.slug}}">
|
|
|
|
+ <div class="comment-left">
|
|
|
|
+ <img src="{{ SITEURL }}/{{ comment.avatar }}"
|
|
|
|
+ alt="Avatar"
|
|
|
|
+ height="{{ PELICAN_COMMENT_SYSTEM_IDENTICON_SIZE }}"
|
|
|
|
+ width="{{ PELICAN_COMMENT_SYSTEM_IDENTICON_SIZE }}">
|
|
|
|
+ </div>
|
|
|
|
+ <div class="comment-body">
|
|
|
|
+ <div style="float:right;">
|
|
|
|
+ <a role="button" href="{{ SITEURL }}/{{ article.url }}#comment-{{comment.slug}}" rel="bookmark" title="Permalink to this comment">Permalink</a>
|
|
|
|
+ <button onclick="CommentSystem.setReply('{{comment.slug | urlencode}}', '{{comment.author | urlencode}}');">Reply</button>
|
|
|
|
+ </div>
|
|
|
|
+ <h4>
|
|
|
|
+ {% if comment.metadata['website'] %}
|
|
|
|
+ <a href="{{comment.metadata['website']}}">{{ comment.author }}</a>
|
|
|
|
+ {% else %}
|
|
|
|
+ {{ comment.author }}
|
|
|
|
+ {% endif %}
|
|
|
|
+ </h4>
|
|
|
|
+ <p>
|
|
|
|
+ Posted on
|
|
|
|
+ <time datetime="{{ comment.date.isoformat() }}" title="{{ comment.date.isoformat() }}">{{ comment.locale_date }}</time>
|
|
|
|
+ </p>
|
|
|
|
+ <div class="pcs-comment-content" {# class used as id in comments.js#}>
|
|
|
|
+ {{ comment.content }}
|
|
|
|
+ </div>
|
|
|
|
+ {% if comment.replies %}
|
|
|
|
+ <hr>
|
|
|
|
+ <ul>
|
|
|
|
+ {{ loop(comment.replies) }}
|
|
|
|
+ </ul>
|
|
|
|
+ {% endif %}
|
|
|
|
+ </div>
|
|
|
|
+ </li>
|
|
|
|
+ {% endfor %}
|
|
|
|
+ </ul>
|
|
|
|
+ {% else %}
|
|
|
|
+ <p>There are no comments yet.</p>
|
|
|
|
+ {% endif %}
|
|
|
|
+ {{ comments_form() }}
|
|
|
|
+</section>
|
|
|
|
+{% endif %}
|
|
|
|
+{% endmacro %}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+{% macro comments_js(user, domain, includeJquery=True) %}
|
|
|
|
+{% if PELICAN_COMMENT_SYSTEM %}
|
|
|
|
+ {% if includeJquery %}
|
|
|
|
+ <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
|
|
|
|
+ {% endif %}
|
|
|
|
+ <script type="text/javascript" src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/js/comments.js"></script>
|
|
|
|
+ <script type="text/javascript">
|
|
|
|
+ $(document).ready(function() {
|
|
|
|
+ CommentSystem.email_user = "{{ user }}";
|
|
|
|
+ CommentSystem.email_domain = "{{ domain }}";
|
|
|
|
+ CommentSystem.display_replyto_html = function(comment_content, article_slug, author) {
|
|
|
|
+ return ''
|
|
|
|
+ + '<button style="float:right;" onclick="CommentSystem.cancelReply(); return false;" title="Cancel the reply">'
|
|
|
|
+ + '×'
|
|
|
|
+ + '</button>'
|
|
|
|
+ + '<p>This comment will be posted as a reply to \'<a title="'+comment_content+'" href="#comment-'+article_slug+'">'+author+'</a>\'</p>';
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ $('#pcs-comment-form').on("submit",
|
|
|
|
+ function( event )
|
|
|
|
+ {
|
|
|
|
+ event.preventDefault();
|
|
|
|
+ $(location).attr('href', CommentSystem.getMailtoLink("{{ article.slug }}"));
|
|
|
|
+ }
|
|
|
|
+ );
|
|
|
|
+ });
|
|
|
|
+ </script>
|
|
|
|
+{% endif %}
|
|
|
|
+{% endmacro %}
|
|
|
|
+
|
|
|
|
+{% macro comments_quickstart(user, domain) %}
|
|
|
|
+ {{ comments_styles() }}
|
|
|
|
+ {{ comments_with_form() }}
|
|
|
|
+ {{ comments_js(user, domain) }}
|
|
|
|
+{% endmacro %}
|