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>