162 lines
5.0 KiB
HTML
162 lines
5.0 KiB
HTML
{% 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 %} |