{% 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 %}