master
1---
2import { commentConfig, siteConfig } from '@/config';
3import { CDN } from '@constants/cdn';
4
5const giscusConfig = commentConfig.giscus!;
6
7const giscusConfigData = {
8 'data-repo': giscusConfig.repo,
9 'data-repo-id': giscusConfig.repoId,
10 'data-category': giscusConfig.category,
11 'data-category-id': giscusConfig.categoryId,
12 ...(typeof giscusConfig.mapping === 'string'
13 ? {
14 'data-mapping': giscusConfig.mapping,
15 }
16 : {
17 'data-mapping': giscusConfig.mapping.type,
18 'data-term': giscusConfig.mapping.term,
19 }),
20 'data-strict': '1',
21 'data-theme': giscusConfig.theme || 'preferred_color_scheme',
22 'data-input-position': giscusConfig.inputPosition || 'bottom',
23 'data-reactions-enabled': giscusConfig.reactionsEnabled ? '1' : '0',
24 'data-emit-metadata': giscusConfig.emitMetadata ? '1' : '0',
25 'data-lang': siteConfig.lang.replace('_', '-'),
26 ...(giscusConfig.lazyLoad ? { 'data-loading': 'lazy' } : {}),
27 crossorigin: 'anonymous',
28};
29---
30
31<script is:inline src={CDN.giscus} {...giscusConfigData} data-astro-rerun></script>