mirror of
https://git.adityakumar.xyz/hugo-theme-even.git
synced 2024-11-08 14:39:44 +00:00
feat: add LiveRe and busuanzi (#17)
* LiveRe: commenting system * busuanzi: count web traffic
This commit is contained in:
parent
1bb6eea8a8
commit
5ec874d64e
10 changed files with 132 additions and 12 deletions
|
@ -40,3 +40,8 @@ categories = "分类"
|
|||
[counter.categories]
|
||||
zero = "暂无分类"
|
||||
other = "共计 %d 个分类"
|
||||
|
||||
[traffic]
|
||||
siteUV = "本站总访客数 %s 人"
|
||||
sitePV = "本站总访问量 %s 次"
|
||||
pagePV = "%s 次阅读"
|
||||
|
|
|
@ -40,3 +40,8 @@ categories = "Categories"
|
|||
[counter.categories]
|
||||
zero = "No Categories"
|
||||
other = "%d Categories In Total"
|
||||
|
||||
[traffic]
|
||||
siteUV = "site uv: %s"
|
||||
sitePV = "site pv: %s"
|
||||
pagePV = "%s times read"
|
||||
|
|
|
@ -40,3 +40,8 @@ categories = "分类"
|
|||
[counter.categories]
|
||||
zero = "暂无分类"
|
||||
other = "共计 %d 个分类"
|
||||
|
||||
[traffic]
|
||||
siteUV = "本站总访客数 %s 人"
|
||||
sitePV = "本站总访问量 %s 次"
|
||||
pagePV = "%s 次阅读"
|
||||
|
|
|
@ -73,6 +73,7 @@ copyright = "" # default: author.name ↓ # 默认为下面配
|
|||
|
||||
changyanAppid = "" # Changyan app id # 畅言
|
||||
changyanAppkey = "" # Changyan app key
|
||||
livereUID = "" # LiveRe UID # 来必力
|
||||
baidu_push = false # baidu push # 百度
|
||||
baidu_analytics = "" # Baidu Analytics
|
||||
baidu_verification = "" # Baidu Verification
|
||||
|
@ -85,6 +86,12 @@ copyright = "" # default: author.name ↓ # 默认为下面配
|
|||
fancyboxJs = '<script src="https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@3.1.20/dist/jquery.fancybox.min.js" integrity="sha256-XVLffZaxoWfGUEbdzuLi7pwaUJv1cecsQJQqGLe7axY=" crossorigin="anonymous"></script>'
|
||||
fancyboxCss = '<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@3.1.20/dist/jquery.fancybox.min.css" integrity="sha256-7TyXnr2YU040zfSP+rEcz29ggW4j56/ujTPwjMzyqFY=" crossorigin="anonymous">'
|
||||
|
||||
[params.busuanzi] # count web traffic by busuanzi # 是否使用不蒜子统计站点访问量
|
||||
enable = false
|
||||
siteUV = true
|
||||
sitePV = true
|
||||
pagePV = true
|
||||
|
||||
[params.reward] # 文章打赏
|
||||
enable = false
|
||||
wechat = "/path/to/your/wechat-qr-code.png" # 微信二维码
|
||||
|
|
|
@ -40,3 +40,8 @@ categories = "Categories"
|
|||
[counter.categories]
|
||||
zero = "No Categories"
|
||||
other = "%d Categories In Total"
|
||||
|
||||
[traffic]
|
||||
siteUV = "site uv: %s"
|
||||
sitePV = "site pv: %s"
|
||||
pagePV = "%s times read"
|
||||
|
|
|
@ -4,18 +4,17 @@
|
|||
<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;
|
||||
// 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 = '{{ .Site.DisqusShortname }}';
|
||||
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
|
||||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
||||
var disqus_shortname = '{{ .Site.DisqusShortname }}';
|
||||
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
|
||||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||
})();
|
||||
</script>
|
||||
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
||||
<a href="http://disqus.com/" class="dsq-brlink" target="_blank">comments powered by <span class="logo-disqus">Disqus</span></a>
|
||||
{{- end }}
|
||||
|
||||
<!-- changyan -->
|
||||
|
@ -32,4 +31,24 @@
|
|||
})();
|
||||
</script>
|
||||
{{- end }}
|
||||
|
||||
<!-- LiveRe -->
|
||||
{{- if .Site.Params.livereUID -}}
|
||||
<div id="lv-container" data-id="city" data-uid="{{ .Site.Params.livereUID }}">
|
||||
<script type="text/javascript">
|
||||
(function(d, s) {
|
||||
var j, e = d.getElementsByTagName(s)[0];
|
||||
|
||||
if (typeof LivereTower === 'function') { return; }
|
||||
|
||||
j = d.createElement(s);
|
||||
j.src = 'https://cdn-city.livere.com/js/embed.dist.js';
|
||||
j.async = true;
|
||||
|
||||
e.parentNode.insertBefore(j, e);
|
||||
})(document, 'script');
|
||||
</script>
|
||||
<noscript>Please enable JavaScript to view the comments powered by <a href="https://livere.com/">LiveRe.</a></noscript>
|
||||
</div>
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -1,3 +1,4 @@
|
|||
{{ $lang := .Site.Data.even.default -}}
|
||||
<div class="social-links">
|
||||
{{- range $name, $path := .Site.Params.social }}
|
||||
{{- if $path }}
|
||||
|
@ -10,14 +11,29 @@
|
|||
|
||||
<div class="copyright">
|
||||
<span class="power-by">
|
||||
{{ (printf .Site.Data.even.default.footer.powered `<a class="hexo-link" href="https://gohugo.io">Hugo</a>`) | safeHTML }}
|
||||
{{ (printf $lang.footer.powered `<a class="hexo-link" href="https://gohugo.io">Hugo</a>`) | safeHTML }}
|
||||
</span>
|
||||
<span class="division">|</span>
|
||||
<span class="theme-info">
|
||||
{{ .Site.Data.even.default.footer.theme }} -
|
||||
{{ $lang.footer.theme }} -
|
||||
<a class="theme-link" href="https://github.com/olOwOlo/hugo-theme-even">Even</a>
|
||||
</span>
|
||||
|
||||
{{ if .Site.Params.busuanzi.enable -}}
|
||||
<div class="busuanzi-footer">
|
||||
{{ $spinner := "img/spinner.svg" | relURL -}}
|
||||
{{ if and .Site.Params.busuanzi.enable .Site.Params.busuanzi.sitePV -}}
|
||||
{{ $valueSpan := printf `<span id="busuanzi_value_site_pv"><img src="%s" alt="spinner.svg"/></span>` $spinner -}}
|
||||
<span id="busuanzi_container_site_pv"> {{ printf $lang.traffic.sitePV $valueSpan | safeHTML }} </span>
|
||||
{{ if .Site.Params.busuanzi.siteUV }}<span class="division">|</span>{{ end }}
|
||||
{{- end }}
|
||||
{{ if and .Site.Params.busuanzi.enable .Site.Params.busuanzi.siteUV -}}
|
||||
{{ $valueSpan := printf `<span id="busuanzi_value_site_uv"><img src="%s" alt="spinner.svg"/></span>` $spinner -}}
|
||||
<span id="busuanzi_container_site_uv"> {{ printf $lang.traffic.siteUV $valueSpan | safeHTML }} </span>
|
||||
{{- end }}
|
||||
</div>
|
||||
{{- end }}
|
||||
|
||||
<span class="copyright-year">
|
||||
{{- $current := now.Format "2006" }}
|
||||
©
|
||||
|
|
|
@ -56,6 +56,11 @@
|
|||
<script>eruda.init();</script>
|
||||
{{- end }}
|
||||
|
||||
<!-- busuanzi -->
|
||||
{{ if .Site.Params.busuanzi.enable -}}
|
||||
<script async src="//dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js"></script>
|
||||
{{- end }}
|
||||
|
||||
<!-- Styles -->
|
||||
<link href="{{ "dist/even.min.css?v=2.7.0" | relURL }}" rel="stylesheet">
|
||||
{{ if .Site.Params.bootcdn -}}
|
||||
|
|
|
@ -18,6 +18,10 @@
|
|||
<span class="more-meta"> {{ printf $lang.posts.header.wordCount .WordCount }} </span>
|
||||
<span class="more-meta"> {{ printf $lang.posts.header.readingTime .ReadingTime }} </span>
|
||||
{{- end }}
|
||||
{{ if and .Site.Params.busuanzi.enable .Site.Params.busuanzi.pagePV -}}
|
||||
{{ $valueSpan := printf `<span id="busuanzi_value_page_pv"><img src="%s" alt="spinner.svg"/></span>` ("img/spinner.svg" | relURL) -}}
|
||||
<span id="busuanzi_container_page_pv" class="more-meta"> {{ printf $lang.traffic.pagePV $valueSpan | safeHTML }} </span>
|
||||
{{- end }}
|
||||
</div>
|
||||
</header>
|
||||
|
||||
|
|
49
static/img/spinner.svg
Normal file
49
static/img/spinner.svg
Normal file
|
@ -0,0 +1,49 @@
|
|||
<svg class="lds-spinner" width="16px" height="16px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" style="background: none;"><g transform="rotate(0 50 50)">
|
||||
<rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="#c05b4d">
|
||||
<animate attributeName="opacity" values="1;0" times="0;1" dur="1s" begin="-0.9166666666666666s" repeatCount="indefinite"></animate>
|
||||
</rect>
|
||||
</g><g transform="rotate(30 50 50)">
|
||||
<rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="#c05b4d">
|
||||
<animate attributeName="opacity" values="1;0" times="0;1" dur="1s" begin="-0.8333333333333334s" repeatCount="indefinite"></animate>
|
||||
</rect>
|
||||
</g><g transform="rotate(60 50 50)">
|
||||
<rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="#c05b4d">
|
||||
<animate attributeName="opacity" values="1;0" times="0;1" dur="1s" begin="-0.75s" repeatCount="indefinite"></animate>
|
||||
</rect>
|
||||
</g><g transform="rotate(90 50 50)">
|
||||
<rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="#c05b4d">
|
||||
<animate attributeName="opacity" values="1;0" times="0;1" dur="1s" begin="-0.6666666666666666s" repeatCount="indefinite"></animate>
|
||||
</rect>
|
||||
</g><g transform="rotate(120 50 50)">
|
||||
<rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="#c05b4d">
|
||||
<animate attributeName="opacity" values="1;0" times="0;1" dur="1s" begin="-0.5833333333333334s" repeatCount="indefinite"></animate>
|
||||
</rect>
|
||||
</g><g transform="rotate(150 50 50)">
|
||||
<rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="#c05b4d">
|
||||
<animate attributeName="opacity" values="1;0" times="0;1" dur="1s" begin="-0.5s" repeatCount="indefinite"></animate>
|
||||
</rect>
|
||||
</g><g transform="rotate(180 50 50)">
|
||||
<rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="#c05b4d">
|
||||
<animate attributeName="opacity" values="1;0" times="0;1" dur="1s" begin="-0.4166666666666667s" repeatCount="indefinite"></animate>
|
||||
</rect>
|
||||
</g><g transform="rotate(210 50 50)">
|
||||
<rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="#c05b4d">
|
||||
<animate attributeName="opacity" values="1;0" times="0;1" dur="1s" begin="-0.3333333333333333s" repeatCount="indefinite"></animate>
|
||||
</rect>
|
||||
</g><g transform="rotate(240 50 50)">
|
||||
<rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="#c05b4d">
|
||||
<animate attributeName="opacity" values="1;0" times="0;1" dur="1s" begin="-0.25s" repeatCount="indefinite"></animate>
|
||||
</rect>
|
||||
</g><g transform="rotate(270 50 50)">
|
||||
<rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="#c05b4d">
|
||||
<animate attributeName="opacity" values="1;0" times="0;1" dur="1s" begin="-0.16666666666666666s" repeatCount="indefinite"></animate>
|
||||
</rect>
|
||||
</g><g transform="rotate(300 50 50)">
|
||||
<rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="#c05b4d">
|
||||
<animate attributeName="opacity" values="1;0" times="0;1" dur="1s" begin="-0.08333333333333333s" repeatCount="indefinite"></animate>
|
||||
</rect>
|
||||
</g><g transform="rotate(330 50 50)">
|
||||
<rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="#c05b4d">
|
||||
<animate attributeName="opacity" values="1;0" times="0;1" dur="1s" begin="0s" repeatCount="indefinite"></animate>
|
||||
</rect>
|
||||
</g></svg>
|
After Width: | Height: | Size: 3.2 KiB |
Loading…
Reference in a new issue