Adding gravatar support and nice time display, and classes and div's for
customizing comment formatting.
This commit is contained in:
		
							parent
							
								
									43a70fe64a
								
							
						
					
					
						commit
						94134e2575
					
				
					 2 changed files with 151 additions and 122 deletions
				
			
		| 
						 | 
				
			
			@ -1,114 +1,143 @@
 | 
			
		|||
{% if grav.twig.enable_comments_plugin %}
 | 
			
		||||
    {% set scope = scope ?: 'data.' %}
 | 
			
		||||
	{% set scope = scope ?: 'data.' %}
 | 
			
		||||
 | 
			
		||||
    {% if grav.twig.pingbacks_enabled %}
 | 
			
		||||
        {% if grav.twig.pingbacks|length %}
 | 
			
		||||
                {% set comments_visible = false %}
 | 
			
		||||
                {% for pingback in grav.twig.pingbacks %}
 | 
			
		||||
                    {% if pingback.approved == "true" %}
 | 
			
		||||
                        {% set comments_visible = true %}
 | 
			
		||||
                    {% endif %}
 | 
			
		||||
                {% endfor %}
 | 
			
		||||
	{% if grav.twig.pingbacks_enabled %}
 | 
			
		||||
		{% if grav.twig.pingbacks|length %}
 | 
			
		||||
				{% set comments_visible = false %}
 | 
			
		||||
				{% for pingback in grav.twig.pingbacks %}
 | 
			
		||||
					{% if pingback.approved == "true" %}
 | 
			
		||||
						{% set comments_visible = true %}
 | 
			
		||||
					{% endif %}
 | 
			
		||||
				{% endfor %}
 | 
			
		||||
 | 
			
		||||
                {% if comments_visible %}
 | 
			
		||||
                    <h3>{{'PLUGIN_COMMENTS.COMMENTS_PINGBACKS'|t}}</h3>
 | 
			
		||||
				{% if comments_visible %}
 | 
			
		||||
					<h3>{{'PLUGIN_COMMENTS.COMMENTS_PINGBACKS'|t}}</h3>
 | 
			
		||||
 | 
			
		||||
                    <table>
 | 
			
		||||
                        {% for pingback in grav.twig.pingbacks %}
 | 
			
		||||
                            {% if pingback.approved == "true" %}
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td>
 | 
			
		||||
                                        {{pingback.text}}
 | 
			
		||||
                                        <br />
 | 
			
		||||
                                        {{'PLUGIN_COMMENTS.WRITTEN_ON'|t}} {{pingback.date|e}} {{'PLUGIN_COMMENTS.BY'|t}}
 | 
			
		||||
                                        {% if pingback.site %}
 | 
			
		||||
                                            <a href="{{pingback.site}}">{{pingback.author}}</a>
 | 
			
		||||
                                        {% else %}
 | 
			
		||||
                                            {{pingback.author}}
 | 
			
		||||
                                        {% endif %}
 | 
			
		||||
                                    </td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                            {% endif %}
 | 
			
		||||
                        {% endfor %}
 | 
			
		||||
                    </table
 | 
			
		||||
                {% endif %}
 | 
			
		||||
            </table>
 | 
			
		||||
        {% endif %}
 | 
			
		||||
    {% endif %}
 | 
			
		||||
					<table>
 | 
			
		||||
						{% for pingback in grav.twig.pingbacks %}
 | 
			
		||||
							{% if pingback.approved == "true" %}
 | 
			
		||||
								<tr>
 | 
			
		||||
									<td>
 | 
			
		||||
										<article id="pingback-{{loop.index0}}" class="pingback" itemtype="http://schema.org/UserComments">
 | 
			
		||||
											<header class="pingback-meta">
 | 
			
		||||
													<span class="pingback-author" itemprop="author" itemscope itemtype="http://schema.org/Person">
 | 
			
		||||
														{{'PLUGIN_COMMENTS.BY'|t}}
 | 
			
		||||
														<span itemprop="name">
 | 
			
		||||
															{% if pingback.site %}
 | 
			
		||||
																<a href="{{pingback.site}}">{{pingback.author}}</a>
 | 
			
		||||
															{% else %}
 | 
			
		||||
																{{pingback.author}}
 | 
			
		||||
															{% endif %}
 | 
			
		||||
														</span>
 | 
			
		||||
													</span>
 | 
			
		||||
													<a href="{{uri.url(true)}}#pingback-{{loop.index0}}" title="Link to this pingback" itemprop="url">
 | 
			
		||||
														<time class="pingback-date" datetime="{{pingback.date|e}}" itemprop="commentTime">
 | 
			
		||||
															{{pingback.date|nicetime(false)}}
 | 
			
		||||
														</time>
 | 
			
		||||
													</a>
 | 
			
		||||
											</header>
 | 
			
		||||
											<div class="pingback-content" itemprop="commentText">
 | 
			
		||||
												{{pingback.text}}
 | 
			
		||||
											</div>
 | 
			
		||||
										</article>
 | 
			
		||||
									</td>
 | 
			
		||||
								</tr>
 | 
			
		||||
							{% endif %}
 | 
			
		||||
						{% endfor %}
 | 
			
		||||
					</table
 | 
			
		||||
				{% endif %}
 | 
			
		||||
			</table>
 | 
			
		||||
		{% endif %}
 | 
			
		||||
	{% endif %}
 | 
			
		||||
 | 
			
		||||
    {% if grav.twig.commenting_enabled %}
 | 
			
		||||
        <h3>{{'PLUGIN_COMMENTS.ADD_COMMENT'|t}}</h3>
 | 
			
		||||
	{% if grav.twig.commenting_enabled %}
 | 
			
		||||
		<h3>{{'PLUGIN_COMMENTS.ADD_COMMENT'|t}}</h3>
 | 
			
		||||
 | 
			
		||||
        <form name="{{ grav.config.plugins.comments.form.name }}"
 | 
			
		||||
              action="{{ grav.config.plugins.comments.form.action ?  base_url ~ grav.config.plugins.comments.form.action : page.url }}"
 | 
			
		||||
              method="{{ grav.config.plugins.comments.form.method|upper|default('POST') }}">
 | 
			
		||||
		<form name="{{ grav.config.plugins.comments.form.name }}"
 | 
			
		||||
			  action="{{ grav.config.plugins.comments.form.action ?  base_url ~ grav.config.plugins.comments.form.action : page.url }}"
 | 
			
		||||
			  method="{{ grav.config.plugins.comments.form.method|upper|default('POST') }}">
 | 
			
		||||
 | 
			
		||||
            {% for field in grav.config.plugins.comments.form.fields %}
 | 
			
		||||
                {% set value = form.value(field.name) %}
 | 
			
		||||
                {% if field.evaluateDefault %}
 | 
			
		||||
                    {% set value = evaluate(field.evaluateDefault) %}
 | 
			
		||||
                {% endif %}
 | 
			
		||||
                {% if config.plugins.login.enabled and grav.user.authenticated %}
 | 
			
		||||
                    {% if field.name == 'name' %}
 | 
			
		||||
                        <input type="hidden" name="{{ (scope ~ field.name)|fieldName }}" value="{{grav.user.fullname}}">
 | 
			
		||||
                    {% elseif field.name == 'email' %}
 | 
			
		||||
                        <input type="hidden" name="{{ (scope ~ field.name)|fieldName }}" value="{{grav.user.email}}">
 | 
			
		||||
                    {% else %}
 | 
			
		||||
                        <div>
 | 
			
		||||
                            {% include "forms/fields/#{field.type}/#{field.type}.html.twig" %}
 | 
			
		||||
                        </div>
 | 
			
		||||
                    {% endif %}
 | 
			
		||||
                {% else %}
 | 
			
		||||
                    <div>
 | 
			
		||||
                        {% include "forms/fields/#{field.type}/#{field.type}.html.twig" %}
 | 
			
		||||
                    </div>
 | 
			
		||||
                {% endif %}
 | 
			
		||||
            {% endfor %}
 | 
			
		||||
            {% include "forms/fields/formname/formname.html.twig" %}
 | 
			
		||||
			{% for field in grav.config.plugins.comments.form.fields %}
 | 
			
		||||
				{% set value = form.value(field.name) %}
 | 
			
		||||
				{% if field.evaluateDefault %}
 | 
			
		||||
					{% set value = evaluate(field.evaluateDefault) %}
 | 
			
		||||
				{% endif %}
 | 
			
		||||
				{% if config.plugins.login.enabled and grav.user.authenticated %}
 | 
			
		||||
					{% if field.name == 'name' %}
 | 
			
		||||
						<input type="hidden" name="{{ (scope ~ field.name)|fieldName }}" value="{{grav.user.fullname}}">
 | 
			
		||||
					{% elseif field.name == 'email' %}
 | 
			
		||||
						<input type="hidden" name="{{ (scope ~ field.name)|fieldName }}" value="{{grav.user.email}}">
 | 
			
		||||
					{% else %}
 | 
			
		||||
						<div>
 | 
			
		||||
							{% include "forms/fields/#{field.type}/#{field.type}.html.twig" %}
 | 
			
		||||
						</div>
 | 
			
		||||
					{% endif %}
 | 
			
		||||
				{% else %}
 | 
			
		||||
					<div>
 | 
			
		||||
						{% include "forms/fields/#{field.type}/#{field.type}.html.twig" %}
 | 
			
		||||
					</div>
 | 
			
		||||
				{% endif %}
 | 
			
		||||
			{% endfor %}
 | 
			
		||||
			{% include "forms/fields/formname/formname.html.twig" %}
 | 
			
		||||
 | 
			
		||||
            <div class="buttons">
 | 
			
		||||
            {% for button in grav.config.plugins.comments.form.buttons %}
 | 
			
		||||
                <button class="button" type="{{ button.type|default('submit') }}">{{ button.value|t|default('Submit') }}</button>
 | 
			
		||||
            {% endfor %}
 | 
			
		||||
            </div>
 | 
			
		||||
			<div class="buttons">
 | 
			
		||||
			{% for button in grav.config.plugins.comments.form.buttons %}
 | 
			
		||||
				<button class="button" type="{{ button.type|default('submit') }}">{{ button.value|t|default('Submit') }}</button>
 | 
			
		||||
			{% endfor %}
 | 
			
		||||
			</div>
 | 
			
		||||
 | 
			
		||||
            {{ nonce_field('form', 'form-nonce')|raw }}
 | 
			
		||||
        </form>
 | 
			
		||||
			{{ nonce_field('form', 'form-nonce')|raw }}
 | 
			
		||||
		</form>
 | 
			
		||||
 | 
			
		||||
        <div class="alert">{{ form.message }}</div>
 | 
			
		||||
    {% endif %}
 | 
			
		||||
		<div class="alert">{{ form.message }}</div>
 | 
			
		||||
	{% endif %}
 | 
			
		||||
 | 
			
		||||
    {% if grav.twig.comments|length %}
 | 
			
		||||
	{% if grav.twig.comments|length %}
 | 
			
		||||
 | 
			
		||||
        <h3>{{'PLUGIN_COMMENTS.COMMENTS'|t}}</h3>
 | 
			
		||||
		<h3>{{'PLUGIN_COMMENTS.COMMENTS'|t}}</h3>
 | 
			
		||||
 | 
			
		||||
        <table>
 | 
			
		||||
            {% set comments_visible = false %}
 | 
			
		||||
            {% for comment in grav.twig.comments %}
 | 
			
		||||
                {% if comment.approved == "true" %}
 | 
			
		||||
                    {% set comments_visible = true %}
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            {{comment.text}}
 | 
			
		||||
                            <br />
 | 
			
		||||
                            {{'PLUGIN_COMMENTS.WRITTEN_ON'|t}} {{comment.date|e}} {{'PLUGIN_COMMENTS.BY'|t}}
 | 
			
		||||
                            {% if comment.site %}
 | 
			
		||||
                                <a href="{{comment.site}}">{{comment.author}}</a>
 | 
			
		||||
                            {% else %}
 | 
			
		||||
                                {{comment.author}}
 | 
			
		||||
                            {% endif %}
 | 
			
		||||
                        </td>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                {% endif %}
 | 
			
		||||
            {% endfor %}
 | 
			
		||||
		<table class="comments">
 | 
			
		||||
			{% set comments_visible = false %}
 | 
			
		||||
			{% for comment in grav.twig.comments %}
 | 
			
		||||
				{% if comment.approved == "true" %}
 | 
			
		||||
					{% set comments_visible = true %}
 | 
			
		||||
					<tr>
 | 
			
		||||
						<td>
 | 
			
		||||
							<article id="comment-{{loop.index0}}" class="comment" itemtype="http://schema.org/UserComments">
 | 
			
		||||
								<header class="comment-meta">
 | 
			
		||||
										<span class="comment-author" itemprop="author" itemscope itemtype="http://schema.org/Person">
 | 
			
		||||
											<img class="comment-avatar" itemprop="image" src="https://www.gravatar.com/avatar/{{comment.email|ltrim()|rtrim()|md5}}?size=30&d=identicon">
 | 
			
		||||
											{{'PLUGIN_COMMENTS.BY'|t}}
 | 
			
		||||
											<span itemprop="name">
 | 
			
		||||
												{% if comment.site %}
 | 
			
		||||
													<a href="{{comment.site}}">{{comment.author}}</a>
 | 
			
		||||
												{% else %}
 | 
			
		||||
													{{comment.author}}
 | 
			
		||||
												{% endif %}
 | 
			
		||||
											</span>
 | 
			
		||||
										</span>
 | 
			
		||||
										<a href="{{uri.url(true)}}#comment-{{loop.index0}}" title="Link to this comment" itemprop="url">
 | 
			
		||||
											<time class="comment-date" datetime="{{comment.date|e}}" itemprop="commentTime">
 | 
			
		||||
												{{comment.date|nicetime(false)}}
 | 
			
		||||
											</time>
 | 
			
		||||
										</a>
 | 
			
		||||
								</header>
 | 
			
		||||
								<div class="comment-content" itemprop="commentText">
 | 
			
		||||
									{{comment.text}}
 | 
			
		||||
								</div>
 | 
			
		||||
							</article>
 | 
			
		||||
						</td>
 | 
			
		||||
					</tr>
 | 
			
		||||
				{% endif %}
 | 
			
		||||
			{% endfor %}
 | 
			
		||||
 | 
			
		||||
            {% if not comments_visible %}
 | 
			
		||||
                <tr>
 | 
			
		||||
                    <td>
 | 
			
		||||
                        {{'PLUGIN_COMMENTS.COMMENTS_NONE'|t}}
 | 
			
		||||
                    </td>
 | 
			
		||||
                </tr>
 | 
			
		||||
            {% endif %}
 | 
			
		||||
        </table>
 | 
			
		||||
    {% endif %}
 | 
			
		||||
			{% if not comments_visible %}
 | 
			
		||||
				<tr>
 | 
			
		||||
					<td>
 | 
			
		||||
						{{'PLUGIN_COMMENTS.COMMENTS_NONE'|t}}
 | 
			
		||||
					</td>
 | 
			
		||||
				</tr>
 | 
			
		||||
			{% endif %}
 | 
			
		||||
		</table>
 | 
			
		||||
	{% endif %}
 | 
			
		||||
{% endif %}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue