Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dillonzq/LoveIt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/assets
diff options
context:
space:
mode:
authorDillon <dillonzq@outlook.com>2022-05-25 20:51:17 +0300
committerDillon <dillonzq@outlook.com>2022-05-25 20:51:17 +0300
commit61eccb2502064ee628d6e1983af9020ed6d1de57 (patch)
tree73d3db70df9c07f963b2902f3ea9e3769f5db9e0 /assets
parent487a77244226bf301d29a004c3f5601b7e6fafc6 (diff)
feat(giscus): standardize configuration, support i18n and add lazyLoading config
Diffstat (limited to 'assets')
-rw-r--r--assets/js/theme.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/assets/js/theme.js b/assets/js/theme.js
index d5175f8b..6f2f730d 100644
--- a/assets/js/theme.js
+++ b/assets/js/theme.js
@@ -865,6 +865,43 @@ var Theme = /*#__PURE__*/function () {
this.switchThemeEventSet.add(this._utterancesOnSwitchTheme);
}
+
+ if (this.config.comment.giscus) {
+ var giscusConfig = this.config.comment.giscus;
+ var giscusScript = document.createElement('script');
+ giscusScript.src = 'https://giscus.app/client.js';
+ giscusScript.type = 'text/javascript';
+ giscusScript.setAttribute('data-repo', giscusConfig.repo);
+ giscusScript.setAttribute('data-repo-id', giscusConfig.repoId);
+ giscusScript.setAttribute('data-category', giscusConfig.category);
+ giscusScript.setAttribute('data-category-id', giscusConfig.categoryId);
+ giscusScript.setAttribute('data-lang', giscusConfig.lang);
+ giscusScript.setAttribute('data-mapping', giscusConfig.mapping);
+ giscusScript.setAttribute('data-reactions-enabled', giscusConfig.reactionsEnabled);
+ giscusScript.setAttribute('data-emit-metadata', giscusConfig.emitMetadata);
+ giscusScript.setAttribute('data-input-position', giscusConfig.inputPosition);
+ if (giscusConfig.lazyLoading) giscusScript.setAttribute('data-loading', 'lazy');
+ giscusScript.setAttribute('data-theme', this.isDark ? giscusConfig.darkTheme : giscusConfig.lightTheme);
+ giscusScript.crossOrigin = 'anonymous';
+ giscusScript.async = true;
+ document.getElementById('giscus').appendChild(giscusScript);
+
+ this._giscusOnSwitchTheme = this._giscusOnSwitchTheme || function () {
+ var message = {
+ setConfig: {
+ theme: _this11.isDark ? giscusConfig.darkTheme : giscusConfig.lightTheme,
+ reactionsEnabled: false
+ }
+ };
+ var iframe = document.querySelector('iframe.giscus-frame');
+ if (!iframe) return;
+ iframe.contentWindow.postMessage({
+ giscus: message
+ }, 'https://giscus.app');
+ };
+
+ this.switchThemeEventSet.add(this._giscusOnSwitchTheme);
+ }
}
}
}, {