1- ---
2- import config from ' ../site.config'
3-
4- const { class : className } = Astro .props
5- ---
6-
7- {
8- config .integ .giscus .enable && (
9- <div id = " giscus-container" class = { className } ></div >
10- )
11- }
12-
13- <script >
14- import config from '../site.config'
15-
16- // Only load if giscus is enabled
17- if (config.integ.giscus?.enable) {
18- const giscusConfig = config.integ.giscus;
19-
20- // Create script element
21- const script = document.createElement('script');
22- script.src = "https://giscus.app/client.js";
23- script.setAttribute("data-repo", giscusConfig.repo);
24- script.setAttribute("data-repo-id", giscusConfig.repoId);
25- script.setAttribute("data-category", giscusConfig.category);
26- script.setAttribute("data-category-id", giscusConfig.categoryId);
27- script.setAttribute("data-mapping", giscusConfig.mapping);
28- script.setAttribute("data-strict", "0");
29- script.setAttribute("data-reactions-enabled", giscusConfig.reactionsEnabled);
30- script.setAttribute("data-emit-metadata", giscusConfig.emitMetadata);
31- script.setAttribute("data-input-position", giscusConfig.inputPosition);
32- script.setAttribute("data-theme", document.documentElement.classList.contains('dark') ? 'dark' : 'light');
33- script.setAttribute("data-lang", giscusConfig.lang);
34- script.setAttribute("data-loading", "lazy");
35- script.setAttribute("crossorigin", "anonymous");
36- script.async = true;
37-
38- // Add script to container
39- const container = document.getElementById('giscus-container');
40- if (container) {
41- container.appendChild(script);
42- }
43- }
44- </script >
0 commit comments