Add commento.io support (#564)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
This commit is contained in:
parent
a1bff16050
commit
a50f947384
10 changed files with 107 additions and 94 deletions
|
@ -157,26 +157,13 @@
|
|||
<hr />
|
||||
|
||||
<!----- Add comment support ----->
|
||||
{{ with site.Params.features.comment }}
|
||||
{{ if .enable }}
|
||||
<!-- Add Disqus forum -->
|
||||
{{ if .disqus.shortName }}
|
||||
{{ partial "disqus.html" . }}
|
||||
<!-- Add valine -->
|
||||
{{ else if .valine }}
|
||||
{{ partial "valine.html" . }}
|
||||
<!-- Add utteranc -->
|
||||
{{ else if .utteranc }}
|
||||
{{ partial "utteranc.html" . }}
|
||||
<!-- Add giscus -->
|
||||
{{ else if .giscus }}
|
||||
{{ partial "giscus.html" . }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if site.Params.features.comment.enable }}
|
||||
{{ partial "comments.html" site.Params.features.comment }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Keep backward compatibility with old config.yaml -->
|
||||
{{ if site.DisqusShortname }}
|
||||
{{ partial "disqus.html" . }}
|
||||
{{ partial "comments/disqus.html" (dict (slice "disqus" "shortName") site.DisqusShortname) }}
|
||||
{{ end }}
|
||||
|
||||
</div>
|
||||
|
|
11
layouts/partials/comments.html
Normal file
11
layouts/partials/comments.html
Normal file
|
@ -0,0 +1,11 @@
|
|||
{{ if .disqus.shortName }}
|
||||
{{ partial "comments/disqus.html" . }}
|
||||
{{ else if .valine }}
|
||||
{{ partial "comments/valine.html" . }}
|
||||
{{ else if .utteranc }}
|
||||
{{ partial "comments/utteranc.html" . }}
|
||||
{{ else if .giscus }}
|
||||
{{ partial "comments/giscus.html" . }}
|
||||
{{ else if .commento }}
|
||||
{{ partial "comments/commento.html" . }}
|
||||
{{ end }}
|
12
layouts/partials/comments/commento.html
Normal file
12
layouts/partials/comments/commento.html
Normal file
|
@ -0,0 +1,12 @@
|
|||
{{ with .commento }}
|
||||
{{ $serverURL := .serverURL }}
|
||||
{{ $autoInit := .autoInit | default "true"}}
|
||||
{{ $hideDeleted := .hideDeleted | default "false"}}
|
||||
|
||||
<script defer
|
||||
src="http://{{ $serverURL }}/js/commento.js"
|
||||
data-auto-init="{{ $autoInit }}"
|
||||
data-hide-deleted="{{ $hideDeleted }}"
|
||||
></script>
|
||||
<div id="commento"></div>
|
||||
{{ end }}
|
29
layouts/partials/comments/disqus.html
Normal file
29
layouts/partials/comments/disqus.html
Normal file
|
@ -0,0 +1,29 @@
|
|||
{{ with .disqus }}
|
||||
<div id="disqus_thread"></div>
|
||||
<script type="text/javascript">
|
||||
(function () {
|
||||
// Don't ever inject Disqus on localhost--it creates unwanted
|
||||
// discussions from 'localhost:1313' on your Disqus account...
|
||||
if (window.location.hostname == "localhost") return;
|
||||
|
||||
var dsq = document.createElement("script");
|
||||
dsq.type = "text/javascript";
|
||||
dsq.async = true;
|
||||
var disqus_shortname = "{{ .shortName }}";
|
||||
dsq.src = "//" + disqus_shortname + ".disqus.com/embed.js";
|
||||
(
|
||||
document.getElementsByTagName("head")[0] ||
|
||||
document.getElementsByTagName("body")[0]
|
||||
).appendChild(dsq);
|
||||
})();
|
||||
</script>
|
||||
<noscript
|
||||
>{{ i18n "comments_javascript" }}
|
||||
<a href="https://disqus.com/?ref_noscript"
|
||||
>{{ i18n "comments_by" }} Disqus.</a
|
||||
></noscript
|
||||
>
|
||||
<a href="https://disqus.com/" class="dsq-brlink"
|
||||
>{{ i18n "comments_by" }} <span class="logo-disqus">Disqus</span></a
|
||||
>
|
||||
{{ end }}
|
28
layouts/partials/comments/giscus.html
Normal file
28
layouts/partials/comments/giscus.html
Normal file
|
@ -0,0 +1,28 @@
|
|||
{{ with .giscus }}
|
||||
{{ $repo := .repo }}
|
||||
{{ $repoID := .repoID }}
|
||||
{{ $category := .category | default "General" }}
|
||||
{{ $categoryID := .categoryID }}
|
||||
{{ $theme := .theme | default "light" }}
|
||||
{{ $map := .map | default "url" }}
|
||||
{{ $reaction := .reaction | default "1" }}
|
||||
{{ $metadata := .metadata | default "0" }}
|
||||
{{ $inputPosition := .inputPosition | default "bottom" }}
|
||||
{{ $crossOrigin := .crossOrigin | default "anonymous" }}
|
||||
|
||||
<script src="https://giscus.app/client.js"
|
||||
data-repo="{{ $repo }}"
|
||||
data-repo-id="{{ $repoID }}"
|
||||
data-category="{{ $category }}"
|
||||
data-category-id="{{ $categoryID }}"
|
||||
data-mapping="{{ $map }}"
|
||||
data-reactions-enabled="{{ $reaction }}"
|
||||
data-emit-metadata="{{ $metadata }}"
|
||||
data-input-position="{{ $inputPosition }}"
|
||||
data-theme="{{ $theme }}"
|
||||
data-lang="{{ .Site.Language.Lang }}"
|
||||
crossorigin="{{ $crossOrigin }}"
|
||||
async>
|
||||
</script>
|
||||
{{ end }}
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
{{ $repo := site.Params.features.comment.utteranc.repo }}
|
||||
{{ $issueTerm := site.Params.features.comment.utteranc.issueTerm }}
|
||||
{{ $theme := site.Params.features.comment.utteranc.theme }}
|
||||
{{ with .utteranc }}
|
||||
{{ $repo := .repo }}
|
||||
{{ $issueTerm := .issueTerm }}
|
||||
{{ $theme := .theme }}
|
||||
|
||||
<div id="utteranc_thread"></div>
|
||||
<div id="comments" class="comments">
|
||||
|
@ -20,3 +21,4 @@
|
|||
document.getElementById('comments-container').appendChild(utterances);
|
||||
})();
|
||||
</script>
|
||||
{{ end }}
|
18
layouts/partials/comments/valine.html
Normal file
18
layouts/partials/comments/valine.html
Normal file
|
@ -0,0 +1,18 @@
|
|||
{{ with .valine }}
|
||||
<div id="vcomments"></div>
|
||||
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
|
||||
<script src="//unpkg.com/valine/dist/Valine.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
new Valine({
|
||||
el: "#vcomments",
|
||||
appId: "{{ .appId }}",
|
||||
appKey: "{{ .appKey }}",
|
||||
avatar: "{{ .avatar }}",
|
||||
placeholder: "{{ .placeholder }}",
|
||||
visitor: "{{ .visitor }}",
|
||||
lang: "{{ .lang }}",
|
||||
recordIP: "{{ .recordIP }}",
|
||||
enableQQ: "{{ .enableQQ }}",
|
||||
});
|
||||
</script>
|
||||
{{ end }}
|
|
@ -1,32 +0,0 @@
|
|||
{{ $disqusShortName := site.DisqusShortname }}
|
||||
{{ if site.Params.features.comment.disqus.shortName }}
|
||||
{{ $disqusShortName = site.Params.features.comment.disqus.shortName }}
|
||||
{{ end }}
|
||||
|
||||
<div id="disqus_thread"></div>
|
||||
<script type="text/javascript">
|
||||
(function () {
|
||||
// Don't ever inject Disqus on localhost--it creates unwanted
|
||||
// discussions from 'localhost:1313' on your Disqus account...
|
||||
if (window.location.hostname == "localhost") return;
|
||||
|
||||
var dsq = document.createElement("script");
|
||||
dsq.type = "text/javascript";
|
||||
dsq.async = true;
|
||||
var disqus_shortname = "{{ $disqusShortName }}";
|
||||
dsq.src = "//" + disqus_shortname + ".disqus.com/embed.js";
|
||||
(
|
||||
document.getElementsByTagName("head")[0] ||
|
||||
document.getElementsByTagName("body")[0]
|
||||
).appendChild(dsq);
|
||||
})();
|
||||
</script>
|
||||
<noscript
|
||||
>{{ i18n "comments_javascript" }}
|
||||
<a href="https://disqus.com/?ref_noscript"
|
||||
>{{ i18n "comments_by" }} Disqus.</a
|
||||
></noscript
|
||||
>
|
||||
<a href="https://disqus.com/" class="dsq-brlink"
|
||||
>{{ i18n "comments_by" }} <span class="logo-disqus">Disqus</span></a
|
||||
>
|
|
@ -1,25 +0,0 @@
|
|||
{{ $repo := site.Params.features.comment.giscus.repo }}
|
||||
{{ $repoID := site.Params.features.comment.giscus.repoID }}
|
||||
{{ $category := site.Params.features.comment.giscus.category | default "General" }}
|
||||
{{ $categoryID := site.Params.features.comment.giscus.categoryID }}
|
||||
{{ $theme := site.Params.features.comment.giscus.theme | default "light" }}
|
||||
{{ $map := site.Params.features.comment.giscus.map | default "url" }}
|
||||
{{ $reaction := site.Params.features.comment.giscus.reaction | default "1" }}
|
||||
{{ $metadata := site.Params.features.comment.giscus.metadata | default "0" }}
|
||||
{{ $inputPosition := site.Params.features.comment.giscus.inputPosition | default "bottom" }}
|
||||
{{ $crossOrigin := site.Params.features.comment.giscus.crossOrigin | default "anonymous" }}
|
||||
|
||||
<script src="https://giscus.app/client.js"
|
||||
data-repo="{{ $repo }}"
|
||||
data-repo-id="{{ $repoID }}"
|
||||
data-category="{{ $category }}"
|
||||
data-category-id="{{ $categoryID }}"
|
||||
data-mapping="{{ $map }}"
|
||||
data-reactions-enabled="{{ $reaction }}"
|
||||
data-emit-metadata="{{ $metadata }}"
|
||||
data-input-position="{{ $inputPosition }}"
|
||||
data-theme="{{ $theme }}"
|
||||
data-lang="{{ .Site.Language.Lang }}"
|
||||
crossorigin="{{ $crossOrigin }}"
|
||||
async>
|
||||
</script>
|
|
@ -1,17 +0,0 @@
|
|||
<!-- valine -->
|
||||
<div id="vcomments"></div>
|
||||
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
|
||||
<script src="//unpkg.com/valine/dist/Valine.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
new Valine({
|
||||
el: "#vcomments",
|
||||
appId: "{{ .valine.appId }}",
|
||||
appKey: "{{ .valine.appKey }}",
|
||||
avatar: "{{ .valine.avatar }}",
|
||||
placeholder: "{{ .valine.placeholder }}",
|
||||
visitor: "{{ .valine.visitor }}",
|
||||
lang: "{{ .valine.lang }}",
|
||||
recordIP: "{{ .valine.recordIP }}",
|
||||
enableQQ: "{{ .valine.enableQQ }}",
|
||||
});
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue