diff --git a/assets/js/third-party/others/pageview.js b/assets/js/third-party/others/pageview.js new file mode 100644 index 0000000..c0989d0 --- /dev/null +++ b/assets/js/third-party/others/pageview.js @@ -0,0 +1,21 @@ +/* Waline pageview plugin */ +NexT.plugins.others.pageview = function() { + const busz = NexT.CONFIG.busuanzi; + if (busz != undefined && busz.pageview) return; + + let pageview_js = undefined; + + // Here can append others pageview plugin + const waline = NexT.CONFIG.waline; + if (waline != undefined && waline.cfg.pageview) { + pageview_js = NexT.utils.getCDNResource(NexT.CONFIG.page.pageview.js); + } + + if (pageview_js == undefined) return; + + NexT.utils.getScript(pageview_js, function(){ + Waline.pageviewCount({ + serverURL: waline.cfg.serverurl + }); + }); +} \ No newline at end of file diff --git a/data/resources.yaml b/data/resources.yaml index 68d8b58..1325f46 100644 --- a/data/resources.yaml +++ b/data/resources.yaml @@ -109,5 +109,12 @@ plugins: name: mermaid version: 9.1.7 file: dist/mermaid.min.js + # 文章访问统计 + waline: + js: + name: '@waline/client' + version: 2.11.3 + file: dist/pageview.js + alias: waline diff --git a/layouts/partials/head/config.html b/layouts/partials/head/config.html index 6b559ff..559dd6a 100644 --- a/layouts/partials/head/config.html +++ b/layouts/partials/head/config.html @@ -7,6 +7,14 @@ "title" .Page.Title -}} +{{/* Append waline pageview plugin */}} +{{ if and .Site.Params.waline .Site.Params.waline.pageView }} +{{ $pageview := dict + "js" .Site.Data.resources.plugins.waline.js +}} +{{ $pageCfg = merge $pageCfg (dict "pageview" $pageview) }} +{{ end }} + {{/* Append mermaid plugin */}} {{ if .Params.mermaid }} {{ $mermaid := dict diff --git a/layouts/partials/init.html b/layouts/partials/init.html index ffe97a0..68e54e6 100644 --- a/layouts/partials/init.html +++ b/layouts/partials/init.html @@ -127,6 +127,11 @@ {{ $config = merge $config (dict "lawidget" $lawidget) }} {{ end }} +{{ with .Site.Params.analytics.busuanzi }} +{{ $busz := dict "pageview" .postViews }} +{{ $config = merge $config (dict "busuanzi" $busz) }} +{{ end }} + {{ $globalVars.Set "config" $config }} {{ with .Site.Params.customFilePath }} diff --git a/layouts/partials/post/header.html b/layouts/partials/post/header.html index f78979d..719aa27 100644 --- a/layouts/partials/post/header.html +++ b/layouts/partials/post/header.html @@ -27,6 +27,9 @@ {{ partial "post/header_meta/created_date.html" . }} {{ partial "post/header_meta/update_date.html" . }} {{ partial "post/header_meta/categories.html" . }} + {{ if and $.IsHome (not (isset .Params "extlink")) }} + {{ partial "post/header_meta/views.html" . }} + {{ end }} {{- if not $.IsHome }}
diff --git a/layouts/partials/post/header_meta/views.html b/layouts/partials/post/header_meta/views.html index 303d74c..7a15037 100644 --- a/layouts/partials/post/header_meta/views.html +++ b/layouts/partials/post/header_meta/views.html @@ -2,9 +2,6 @@ {{- if .Site.Params.leancloudVisitors.enable }} {{- $pageViewId = "leancloud-visitors-count" }} {{- end }} -{{- if .Site.Params.waline.pageView }} -{{- $pageViewId = "waline-pageview-count" }} -{{- end }} {{- if .Site.Params.analytics.busuanzi.postViews }} {{- $pageViewId = "busuanzi_value_page_pv" }} {{- end }} @@ -15,5 +12,7 @@ {{ print (T "PostViews") (T "SymbolColon") }} - + + + diff --git a/layouts/partials/scripts/global.html b/layouts/partials/scripts/global.html index 676297c..e687835 100644 --- a/layouts/partials/scripts/global.html +++ b/layouts/partials/scripts/global.html @@ -49,6 +49,10 @@ {{ if isset .Site.Params "waline" }} {{ $walinejs := resources.Get "js/third-party/comments/waline.js" }} {{ $nextjs = $nextjs | append $walinejs }} +{{ if .Site.Params.waline.pageView }} + {{ $pageviewjs := resources.Get "js/third-party/others/pageview.js" }} + {{ $nextjs = $nextjs | append $pageviewjs }} + {{ end }} {{ end }} {{ if isset .Site.Params "giscus" }} {{ $giscusjs := resources.Get "js/third-party/comments/giscus.js" }}