diff options
Diffstat (limited to 'layouts/partials/staticman-comments.html')
-rw-r--r-- | layouts/partials/staticman-comments.html | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/layouts/partials/staticman-comments.html b/layouts/partials/staticman-comments.html new file mode 100644 index 0000000..2be5b3d --- /dev/null +++ b/layouts/partials/staticman-comments.html @@ -0,0 +1,123 @@ +<section class="js-comments staticman-comments"> + + {{ $slug := replace .RelPermalink "/" "" }} + + {{ if .Site.Data.comments }} + {{ $comments := index $.Site.Data.comments $slug }} + {{ if $comments }} + {{ if gt (len $comments) 1 }} + <h3>{{ len $comments }} {{ i18n "moreComment" }}</h3> + {{ else }} + <h3>{{ len $comments }} {{ i18n "oneComment" }}</h3> + {{ end }} + {{ else }} + <h3>{{ i18n "noComment" }}</h3> + {{ end }} + + {{ $.Scratch.Set "hasComments" 0 }} + {{ range $comments }} + {{ if not .replyThread }} + {{ $.Scratch.Add "hasComments" 1 }} + {{ $.Scratch.Set "hasReplies" 0 }} + {{ $.Scratch.Set "threadID" ._id }} + <article id="comment-{{ $.Scratch.Get "hasComments" }}" class="static-comment"> + <img class="comment-avatar" src="https://www.gravatar.com/avatar/{{ .email }}?s=48"> + {{ if .website }} + <h4 class="comment-author"><a rel="external nofollow" href="{{ .website }}">{{ .name }}</a></h4> + {{ else }} + <h4 class="comment-author">{{ .name }}</h4> + {{ end }} + <div class="comment-timestamp"><a href="#comment-{{ $.Scratch.Get "hasComments" }}" title="Permalink to this comment"><time datetime="{{ .date }}">{{ dateFormat (default (i18n "shortdateFormat") .Site.Params.dateformat) .date }}</time></a></div> + <div class="comment-content"><p>{{ .comment | markdownify }}</p></div> + <div class="comment-reply-btn"> + <a id="{{ ._id }}" class="btn" href="#comment-form" title="{{ ._id }}">{{ i18n "replyToMsg" }}</a> + </div> + </article> + + {{ range $comments }} + {{ if eq .replyThread ($.Scratch.Get "threadID") }} + {{ $.Scratch.Add "hasReplies" 1 }} + <article id="comment-{{ $.Scratch.Get "hasComments" }}r{{ $.Scratch.Get "hasReplies" }}" class="static-comment static-comment-reply"> + <img class="comment-avatar" src="https://www.gravatar.com/avatar/{{ .email }}?s=48"> + {{ if .website }} + <h4 class="comment-author"><a rel="external nofollow" href="{{ .website }}">{{ .name }}</a></h4> + {{ else }} + <h4 class="comment-author">{{ .name }}</h4> + {{ end }} + <h5 class="comment-reply-target"><a href="#{{ .replyID }}"><i class="fas fa-reply"></i> {{ .replyName }}</a></h5> + <div class="comment-timestamp"><a href="#comment-{{ $.Scratch.Get "hasComments" }}r{{ $.Scratch.Get "hasReplies" }}" title="Permalink to this comment"><time datetime="{{ .date }}">{{ dateFormat (default (i18n "shortdateFormat") .Site.Params.dateformat) .date }}</time></a></div> + <div class="comment-content"><p>{{ .comment | markdownify }}</p></div> + <div class="comment-reply-btn"> + <a id="{{ ._id }}" class="btn" href="#comment-form" title="{{ $.Scratch.Get "threadID" }}">{{ i18n "replyToMsg" }}</a> + </div> + </article> + {{ end }} + {{ end }} + {{ end }} + {{ end }} + {{ end }} + + + +<form id="comment-form" class="js-form form" method="post" action="{{ .Site.Params.staticman.api }}"> + <input type="hidden" name="options[slug]" value="{{ replace .RelPermalink "/" "" }}"> + <input type="hidden" name="options[parent]" value=""> + <input type="hidden" name="fields[replyThread]" value=""> + <input type="hidden" name="fields[replyID]" value=""> + <input type="hidden" name="fields[replyName]" value=""> + + {{ if .Site.Params.staticman.recaptcha }} + <input type="hidden" name="options[reCaptcha][siteKey]" value="{{ .Site.Params.staticman.recaptcha.sitekey }}"> + <input type="hidden" name="options[reCaptcha][secret]" value="{{ .Site.Params.staticman.recaptcha.secret }}"> + {{ end }} + + <fieldset> + <div class="textfield"> + <textarea name="fields[comment]" placeholder="{{ i18n "useMarkdown" }}"></textarea> + </div> + </fieldset> + + <fieldset> + <div class="textfield"> + <input name="fields[name]" type="text" placeholder="{{ i18n "yourName" }}"/> + </div> + </fieldset> + + <fieldset> + <div class="textfield"> + <input type="email" name="fields[email]" placeholder="{{ i18n "yourEmail" }}"/> + </div> + </fieldset> + + <fieldset> + <div class="textfield"> + <input type="text" name="fields[website]" placeholder="{{ i18n "yourWebsite" }}"/> + </div> + </fieldset> + + {{ if .Site.Params.staticman.recaptcha }} + <fieldset> + <div class="g-recaptcha" data-sitekey="{{ .Site.Params.staticman.recaptcha.sitekey }}"></div> + </fieldset> + {{ end }} + + <fieldset> + <button type="submit" class="button"> + Submit + </button> + <button type="reset" value="Reset"> + Reset + </button> + </fieldset> +</form> +</section> + +<article class="modal"> + <div class="title"> + <h2 class="js-modal-title"></h2> + </div> + <div class="js-modal-text"></div> + <div> + <button class="js-close-modal">Close</button> + </div> +</article> |