From 39d85cc63387f940dcfd6cef1a6d43d2cc4ebdf1 Mon Sep 17 00:00:00 2001
From: amzrk2
Date: Thu, 23 Apr 2020 19:36:26 +0800
Subject: Support in-post or global APlayer

---
 layouts/_default/baseof.html    |  5 +++++
 layouts/_default/single.html    |  3 +++
 layouts/partials/head.html      | 12 +++++++++++-
 layouts/partials/post-meta.html |  6 +++---
 layouts/partials/scripts.html   | 35 +++++++++++++++++++++++++++++++++++
 5 files changed, 57 insertions(+), 4 deletions(-)

(limited to 'layouts')

diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index d6e53f4..6df6ad6 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -15,9 +15,14 @@
             <div class="col-md-3 col-12 float-left" id="sidebar">
                 {{ partial "sidebar.html" . }}
             </div>
+            {{ if .Site.Params.playerURL }}
+            <div id="aplayer"></div>
+            {{ end }}
+            {{ if .Site.Params.scrollTop }}
             <div id="scroll-top">
                 <i class="fas fa-chevron-up"></i>
             </div>
+            {{ end }}
         </div>
     </main>
 
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
index 04d016c..7bd92e8 100644
--- a/layouts/_default/single.html
+++ b/layouts/_default/single.html
@@ -6,6 +6,9 @@
     <div id="post-meta">
         {{ partial "post-meta.html" . }}
     </div>
+    {{ with .Params.playerURL }}
+    <div id="post-aplayer"></div>
+    {{ end }}
     <div class="markdown-body" id="post-content">
         {{ .Content }}
     </div>
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index 305106d..5b6de37 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -33,6 +33,10 @@
 <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.0/dist/jquery.min.js" integrity="sha256-xNzN2a4ltkB44Mc/Jz3pT4iU1cmeR0FkXs4pru/JxaQ=" crossorigin="anonymous"></script>
 <script src="https://cdn.jsdelivr.net/npm/lazysizes@5.2.0/lazysizes.min.js" integrity="sha256-h2tMEmhemR2IN4wbbdNjj9LaDIjzwk2hralQwfJmBOE=" crossorigin="anonymous"></script>
 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.13.0/css/all.min.css" integrity="sha256-h20CPZ0QyXlBuAw7A+KluUYx/3pK+c7lYEpqLTlxjYQ=" crossorigin="anonymous">
+{{ if or (.Site.Params.playerURL) (.Params.playerURL) }}
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer@1.10.1/dist/APlayer.min.css" integrity="sha256-uqQQGnDcmRKvhKwc5Vm4XT1GQ2oV6t1U0NR2N9tV+BQ=" crossorigin="anonymous">
+<script src="https://cdn.jsdelivr.net/npm/aplayer@1.10.1/dist/APlayer.min.js" integrity="sha256-6Y7CJDaltoeNgk+ZftgCD9jLgmGv4xKUo8nQ0HgAwVo=" crossorigin="anonymous"></script>
+{{ end }}
 {{ else }}
 <!-- global dependency -->
 {{ $jquery := resources.Get "js/jquery.min.js" }}
@@ -41,10 +45,16 @@
 <script src="{{ $lazysizes.Permalink }}"></script>
 {{ $fontawesome := resources.Get "css/all.min.css" }}
 <link rel="stylesheet" href="{{ $fontawesome.Permalink }}" />
+{{ if or (.Site.Params.playerURL) (.Params.playerURL) }}
+{{ $aplayerCSS := resources.Get "css/APlayer.min.css" }}
+<link rel="stylesheet" href="{{ $aplayerCSS.Permalink }}" />
+{{ $aplayerJS := resources.Get "js/APlayer.min.js" }}
+<script src="{{ $aplayerJS.Permalink }}"></script>
+{{ end }}
 {{ end }}
 
 <!-- optional katex math -->
-{{ if or .Params.math .Site.Params.math }}
+{{ if or (.Params.math) (.Site.Params.math) }}
 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous" />
 <script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script>
 <script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
diff --git a/layouts/partials/post-meta.html b/layouts/partials/post-meta.html
index 0164619..7e5b47b 100644
--- a/layouts/partials/post-meta.html
+++ b/layouts/partials/post-meta.html
@@ -1,10 +1,10 @@
-<span class="post-meta-item post-meta-date">
+<span>
     <time datetime="{{ .Date }}">{{ .Date.Format "2006-01-02" }}</time> |
 </span>
-<span class="post-meta-item post-meta-count">
+<span>
     <span>{{ .WordCount }}{{ i18n "postMetaWordCount" }}</span> |
 </span>
-<span class="post-meta-item post-meta-tags">
+<span>
     {{ if .Params.tags }}
     {{ range .Params.tags }}
     <a href="{{ $.Site.BaseURL }}/tags/{{ . | urlize }}/">{{ . }}</a>
diff --git a/layouts/partials/scripts.html b/layouts/partials/scripts.html
index 48a056e..cd47e6f 100644
--- a/layouts/partials/scripts.html
+++ b/layouts/partials/scripts.html
@@ -25,6 +25,41 @@
     });
 </script>
 {{ end }}
+{{ with .Params.playerURL }}
+<script>
+    $(function () {
+        const postAPlayer = new APlayer({
+            container: document.getElementById("post-aplayer"),
+            theme: "#8F82BC",
+            volume: 0.25,
+            audio: [{
+                name: "{{ $.Params.playerName }}",
+                artist: "{{ $.Params.playerArtist }}",
+                url: "{{ . }}",
+                cover: "{{ $.Params.playerCover }}"
+            }]
+        });
+    });
+</script>
+{{ end }}
+{{ with .Site.Params.playerURL }}
+<script>
+    $(function () {
+        const siteAPlayer = new APlayer({
+            container: document.getElementById("aplayer"),
+            fixed: true,
+            theme: "#8F82BC",
+            volume: 0.25,
+            audio: [{
+                name: "{{ $.Site.Params.playerName }}",
+                artist: "{{ $.Site.Params.playerArtist }}",
+                url: "{{ . }}",
+                cover: "{{ $.Site.Params.playerCover }}"
+            }]
+        });
+    });
+</script>
+{{ end }}
 {{ if .Site.Params.scrollTop }}
 <!-- scroll to top button -->
 <script>
-- 
cgit v1.2.3