1
0

giscus.html 1.7 KB

123456789101112131415161718192021222324252627282930313233
  1. {{- if isset .Site.Params "giscus" -}}
  2. {{- if and (isset .Site.Params.giscus "repo") (not (eq .Site.Params.giscus.repo "" )) (eq (.Params.disableComments | default false) false) -}}
  3. <div class="comments">
  4. <script>
  5. let getTheme = window.localStorage && window.localStorage.getItem("colorscheme");
  6. getTheme = getTheme == null ? '{{$.Site.Params.giscus.theme}}' : getTheme;
  7. let s = document.createElement('script');
  8. s.src = 'https://giscus.app/client.js';
  9. s.setAttribute('data-repo', '{{ .Site.Params.giscus.repo }}');
  10. s.setAttribute('data-repo-id', '{{ .Site.Params.giscus.repoID }}');
  11. s.setAttribute('data-category', '{{ .Site.Params.giscus.category }}');
  12. s.setAttribute('data-category-id', '{{ .Site.Params.giscus.categoryID }}');
  13. s.setAttribute('data-mapping', '{{ default "pathname" .Site.Params.giscus.mapping }}');
  14. s.setAttribute('data-term', '{{ .Site.Params.giscus.term }}');
  15. s.setAttribute('data-strict', '{{ default "0" .Site.Params.giscus.strict }}');
  16. s.setAttribute('data-reactions-enabled', '{{ default "1" .Site.Params.giscus.reactionsEnabled }}');
  17. s.setAttribute('data-emit-metadata', '{{ default "0" .Site.Params.giscus.emitMetadata }}');
  18. s.setAttribute('data-input-position', '{{ default "bottom" .Site.Params.giscus.inputPosition }}');
  19. s.setAttribute('data-theme', getTheme);
  20. s.setAttribute('data-lang', '{{ default "en" .Site.Params.giscus.lang }}');
  21. s.setAttribute('data-loading', '{{ .Site.Params.giscus.loading }}');
  22. s.setAttribute('crossorigin', 'anonymous');
  23. s.setAttribute('async', '');
  24. document.querySelector('div.comments').innerHTML = '';
  25. document.querySelector('div.comments').appendChild(s);
  26. </script>
  27. </div>
  28. {{- end -}}
  29. {{- end -}}