summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--assets/sass/_list.scss17
-rw-r--r--exampleSite/config.toml12
-rw-r--r--layouts/_default/single.html4
-rw-r--r--layouts/partials/comment-utterances.html6
-rw-r--r--layouts/partials/scripts.html52
5 files changed, 80 insertions, 11 deletions
diff --git a/assets/sass/_list.scss b/assets/sass/_list.scss
index 1394f76..b4c660b 100644
--- a/assets/sass/_list.scss
+++ b/assets/sass/_list.scss
@@ -61,6 +61,23 @@ article {
margin-bottom: 1.5em;
}
+#post-loading {
+ border-top: $spliter;
+ margin: 0 0 1.5em 0;
+ padding-top: 1.5em;
+
+ #container-loading-bar {
+ width: 2em;
+ margin: 0 auto;
+ }
+
+ p {
+ text-align: center;
+ margin: 0.5em 0 0 0;
+ }
+}
+
+
// not show while iframe not loaded
#post-comment .utterances-frame {
border-top: $spliter;
diff --git a/exampleSite/config.toml b/exampleSite/config.toml
index b6d882f..9e7c4d5 100644
--- a/exampleSite/config.toml
+++ b/exampleSite/config.toml
@@ -30,13 +30,15 @@ paginate = 10
# Comments
# utterances, see: https://utteranc.es/
- # cdnUtterancesJS = "https://utteranc.es/client.js"
- # utterancesRepo = "[ENTER REPO HERE]"
- # utterancesIssueTerm = "pathname"
- # utterancesTheme = "github-light"
+ utterancesComment = false
+ cdnUtterancesJS = "https://utteranc.es/client.js"
+ utterancesRepo = "[ENTER REPO HERE]"
+ utterancesIssueTerm = "pathname"
+ utterancesTheme = "github-light"
# Disqus, see: https://disqus.com/admin/install/platforms/universalcode/
- # disqusShortname = "[ENTER YOUR DISQUS SHORTNAME HERE]"
+ disqusComment = false
+ disqusShortname = "[ENTER YOUR DISQUS SHORTNAME HERE]"
# Custom lazyload thumbnail
cdnLazyloadSRC = "https://cdn.jsdelivr.net/gh/amzrk2/poal-jsdelivr/lazyload/dsr_loading.svg"
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
index 78a9148..edd7c70 100644
--- a/layouts/_default/single.html
+++ b/layouts/_default/single.html
@@ -21,10 +21,10 @@
</blockquote>
</div>
{{ end }}
- {{ if .Site.Params.cdnUtterancesJS }}
+ {{ if .Site.Params.utterancesComment }}
{{ partial "comment-utterances.html" . }}
{{ end }}
- {{ if .Site.Params.disqusShortname }}
+ {{ if .Site.Params.disqusComment }}
{{ partial "comment-disqus.html" . }}
{{ end }}
</div>
diff --git a/layouts/partials/comment-utterances.html b/layouts/partials/comment-utterances.html
index 6653661..05b5ba0 100644
--- a/layouts/partials/comment-utterances.html
+++ b/layouts/partials/comment-utterances.html
@@ -1,3 +1,9 @@
+<div id="post-loading">
+ <div id="container-loading-bar">
+ <div id="loading-bar"></div>
+ </div>
+ <p>正在加载评论区</p>
+</div>
<div id="post-comment">
<script src="{{ .Site.Params.cdnUtterancesJS }}" repo="{{ .Site.Params.utterancesRepo }}" issue-term="{{ .Site.Params.utterancesIssueTerm }}" theme="{{ .Site.Params.utterancesTheme }}"
crossorigin="anonymous" async></script>
diff --git a/layouts/partials/scripts.html b/layouts/partials/scripts.html
index de2e018..db67ca5 100644
--- a/layouts/partials/scripts.html
+++ b/layouts/partials/scripts.html
@@ -1,3 +1,45 @@
+<!-- Comment loading indicator -->
+{{ if and (.IsPage) (.Site.Params.utterancesComment) }}
+<script>
+ $(function () {
+ var loadingBar = new ProgressBar.Circle('#loading-bar', {
+ color: '#8AA2D3',
+ strokeWidth: 15,
+ trailColor: '#E5E2E4',
+ trailWidth: 15,
+ fill: '#E5E2E4'
+ });
+ loadingBar.animate(1.0, {
+ duration: 10000
+ });
+
+ var commentStatus;
+ var commentLoadingTime = 0;
+ var commentCheckInterval = self.setInterval(checkUtterances, 500);
+
+ function checkUtterances() {
+ commentStatus = $('#post-comment .utterances').attr('style');
+ if (commentStatus === undefined) {
+ commentLoadingTime += 1;
+ if (commentLoadingTime > 16) {
+ clearInterval(commentCheckInterval);
+ $('#post-comment').hide();
+ $('#post-loading p').text('评论区加载失败');
+ }
+ return;
+ } else {
+ clearInterval(commentCheckInterval);
+ loadingBar.animate(1.0, {
+ duration: 500
+ }, function () {
+ $('#post-loading').hide();
+ });
+ }
+ }
+ });
+</script>
+{{ end }}
+<!-- Scroll to top button -->
{{ if .Site.Params.scrollTop }}
<script>
$(function () {
@@ -7,11 +49,11 @@
trailColor: '#E5E2E4',
trailWidth: 12,
text: {
- value: '<svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z"></path></svg>',
+ value: '<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="angle-up" class="svg-inline--fa fa-angle-up fa-w-10" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z"></path></svg>',
autoStyleContainer: false,
style: null
},
- fill: '#E5E2E4',
+ fill: '#E5E2E4'
});
var scrolled = ($(window).scrollTop() / ($(document).height() - $(window).height() - 1));
bar.animate(scrolled);
@@ -35,7 +77,9 @@
{{ end }}
<!-- Vanilla LazyLoad -->
<script>
- var lazyLoadInstance = new LazyLoad({
- elements_selector: ".lazy"
+ $(function () {
+ var lazyLoadInstance = new LazyLoad({
+ elements_selector: ".lazy"
+ });
});
</script> \ No newline at end of file