mirror of
https://github.com/CaiJimmy/hugo-theme-stack.git
synced 2024-11-23 10:21:46 +01:00
feat(comments): add support for Beaudar(表达)comment system (#931)
https://beaudar.lipk.org/
This commit is contained in:
parent
9bb3165ff0
commit
f398fb9dd1
3 changed files with 58 additions and 0 deletions
|
@ -51,6 +51,12 @@ params:
|
|||
issueTerm: pathname
|
||||
label:
|
||||
|
||||
beaudar:
|
||||
repo:
|
||||
issueTerm: pathname
|
||||
label:
|
||||
theme:
|
||||
|
||||
remark42:
|
||||
host:
|
||||
site:
|
||||
|
|
|
@ -93,6 +93,12 @@ params:
|
|||
issueTerm: pathname
|
||||
label:
|
||||
|
||||
beaudar:
|
||||
repo:
|
||||
issueTerm: pathname
|
||||
label:
|
||||
theme:
|
||||
|
||||
remark42:
|
||||
host:
|
||||
site:
|
||||
|
|
46
layouts/partials/comments/provider/beaudar.html
Normal file
46
layouts/partials/comments/provider/beaudar.html
Normal file
|
@ -0,0 +1,46 @@
|
|||
<script
|
||||
src="https://beaudar.lipk.org/client.js"
|
||||
repo="{{ .Site.Params.comments.beaudar.repo }}"
|
||||
issue-term="{{ .Site.Params.comments.beaudar.issueTerm }}"
|
||||
{{ with .Site.Params.comments.beaudar.label }}
|
||||
label="{{ . }}"
|
||||
{{ end }}
|
||||
theme="{{ .Site.Params.comments.beaudar.theme }}"
|
||||
crossorigin="anonymous"
|
||||
async
|
||||
></script>
|
||||
|
||||
<style>
|
||||
.beaudar {
|
||||
max-width: unset;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
let beaudarLoaded = false;
|
||||
|
||||
function setBeaudarTheme(theme) {
|
||||
let beaudar = document.querySelector(".beaudar iframe");
|
||||
if (beaudar) {
|
||||
beaudar.contentWindow.postMessage(
|
||||
{
|
||||
type: "set-theme",
|
||||
theme: `github-${theme}`,
|
||||
},
|
||||
"https://beaudar.lipk.org"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
addEventListener("message", (event) => {
|
||||
if (event.origin !== "https://beaudar.lipk.org") return;
|
||||
/// Called when Beaudar is ready
|
||||
beaudarLoaded = true;
|
||||
setBeaudarTheme(document.documentElement.dataset.scheme);
|
||||
});
|
||||
|
||||
window.addEventListener("onColorSchemeChange", (e) => {
|
||||
if (!beaudarLoaded) return;
|
||||
setBeaudarTheme(e.detail);
|
||||
});
|
||||
</script>
|
Loading…
Reference in a new issue