diff options
author | WingLim <643089849@qq.com> | 2021-10-08 12:15:57 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-08 12:15:57 +0300 |
commit | 7bf7c397d76ac728ae2666420b311a006c3e5c6d (patch) | |
tree | a89742311ec00abf57068a192fc55cb53757ea62 | |
parent | 2c54bd43e936f365230616c22593161faecae302 (diff) |
feat(comments): add Giscus support (#50)
* feat(comments) add Giscus support
* feat: default value for reactionsEnabled and emitMetadata
* feat: support custom mapping
* fix: add quote
* style: giscus border and top padding
-rw-r--r-- | assets/sass/base/_scaffolding.scss | 2 | ||||
-rw-r--r-- | assets/sass/components/_comments.scss | 4 | ||||
-rw-r--r-- | layouts/partials/comments/provider/giscus.html | 42 |
3 files changed, 47 insertions, 1 deletions
diff --git a/assets/sass/base/_scaffolding.scss b/assets/sass/base/_scaffolding.scss index 5323c4f..d35685d 100644 --- a/assets/sass/base/_scaffolding.scss +++ b/assets/sass/base/_scaffolding.scss @@ -79,7 +79,7 @@ a.section-button { } .container { - max-width: 825px; + max-width: 830px; padding: 0 1.5rem; margin-left: auto; margin-right: auto; diff --git a/assets/sass/components/_comments.scss b/assets/sass/components/_comments.scss index edbd965..1f1f626 100644 --- a/assets/sass/components/_comments.scss +++ b/assets/sass/components/_comments.scss @@ -4,4 +4,8 @@ #cusdis_thread { padding-top: 2rem; +} + +.giscus { + padding-top: 2rem; }
\ No newline at end of file diff --git a/layouts/partials/comments/provider/giscus.html b/layouts/partials/comments/provider/giscus.html new file mode 100644 index 0000000..cb32518 --- /dev/null +++ b/layouts/partials/comments/provider/giscus.html @@ -0,0 +1,42 @@ +<script src="https://giscus.app/client.js" + data-repo="{{ .Site.Params.comments.giscus.repo }}" + data-repo-id="{{ .Site.Params.comments.giscus.id }}" + {{ with .Site.Params.comments.giscus.category }} + data-category="{{ .name }}" + data-category-id="{{ .id }}" + {{ end }} + data-mapping="{{ .Site.Params.comments.giscus.mapping | default "pathname" }}" + data-reactions-enabled="{{ .Site.Params.comments.giscus.reactionsEnabled | default 1 }}" + data-emit-metadata="{{ .Site.Params.comments.giscus.emitMetadata | default 0 }}" + data-theme="light" + crossorigin="anonymous" + async + > +</script> + +<script> + function setGiscusTeheme(theme) { + let giscus = document.querySelector('.giscus iframe'); + if (giscus) { + giscus.contentWindow.postMessage( + { + giscus: { + setConfig: { + theme: theme + } + } + }, + 'https://giscus.app' + ) + } + } + + addEventListener('message', event => { + if (event.origin !== 'https://giscus.app') return; + setGiscusTeheme(document.documentElement.dataset.userColorScheme) + }); + + window.addEventListener('onColorSchemeChange', (e) => { + setGiscusTeheme(e.detail) + }) +</script>
\ No newline at end of file |