Skip to content

Commit dd802a8

Browse files
authored
feat: introduce giscus comment system (#292)
1 parent 8a9f15c commit dd802a8

File tree

3 files changed

+38
-3
lines changed

3 files changed

+38
-3
lines changed

.gitattributes

+3-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
*.html linguist-language=java
1+
*.html linguist-language=java
2+
*.css linguist-language=java
3+
*.js linguist-language=java

index.html

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
1111
<link rel="stylesheet" href="https://cdn-doocs.oss-cn-shenzhen.aliyuncs.com/npm/docsify/lib/themes/vue.css" />
1212
<link rel="stylesheet" href="https://cdn-doocs.oss-cn-shenzhen.aliyuncs.com/npm/docsify-darklight-theme@latest/dist/style.min.css" />
13+
<link rel="stylesheet" href="https://cdn-doocs.oss-cn-shenzhen.aliyuncs.com/npm/[email protected]/dist/giscus.css">
1314
<link rel="icon" type="image/png" sizes="32x32" href="images/favicon-32x32.png" />
1415
<link rel="icon" type="image/png" sizes="16x16" href="images/favicon-16x16.png" />
1516
<style>

main.js

+34-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
const giscusTheme = () =>
2+
localStorage.getItem('DARK_LIGHT_THEME') === 'dark' ? 'noborder_dark' : 'light';
3+
14
window.$docsify = {
25
name: 'advanced-java',
36
repo: 'doocs/advanced-java',
4-
lastModifiedText: '最近更新时间:',
57
maxLevel: 3,
68
auto2top: true,
79
coverpage: true,
@@ -11,6 +13,7 @@ window.$docsify = {
1113
'/.*/.*/summary': 'summary.md',
1214
'/.*/summary.md': 'summary.md',
1315
},
16+
lastModifiedText: '最近更新时间:',
1417
pagination: {
1518
previousText: '上一篇',
1619
nextText: '下一篇',
@@ -68,7 +71,7 @@ window.$docsify = {
6871
}
6972

7073
const github = `[GitHub](${url})`;
71-
const gitee = `[Gitee](${url.replace('github', 'gitee' )})`;
74+
const gitee = `[Gitee](${url.replace('github', 'gitee')})`;
7275

7376
const editHtml = en
7477
? `:memo: Edit on ${github} / ${gitee}\n`
@@ -108,6 +111,35 @@ window.$docsify = {
108111
const footer = `<footer><span>Copyright © 2018-${currentYear} <a href="https://github.com/doocs" target="_blank">Doocs</a>. All Rights Reserved.</footer>`;
109112
return html + footer;
110113
});
114+
hook.doneEach(() => {
115+
const giscusScript = document.createElement('script');
116+
giscusScript.type = 'text/javascript';
117+
giscusScript.async = true;
118+
giscusScript.setAttribute('src', 'https://giscus.app/client.js');
119+
giscusScript.setAttribute('data-repo', 'doocs/advanced-java');
120+
giscusScript.setAttribute('data-repo-id', 'MDEwOlJlcG9zaXRvcnkxNTE4MzQwNjI=');
121+
giscusScript.setAttribute('data-mapping', 'number');
122+
giscusScript.setAttribute('data-reactions-enabled', '1');
123+
giscusScript.setAttribute('data-strict', '1');
124+
giscusScript.setAttribute('data-emit-metadata', '0');
125+
giscusScript.setAttribute('data-input-position', 'top');
126+
giscusScript.setAttribute('crossorigin', 'anonymous');
127+
giscusScript.setAttribute('data-term', '9');
128+
giscusScript.setAttribute('data-lang', 'zh-CN');
129+
giscusScript.setAttribute('data-theme', giscusTheme());
130+
131+
document
132+
.getElementById('main')
133+
.insertBefore(giscusScript, document.getElementById('main').lastChild);
134+
135+
document.getElementById('docsify-darklight-theme').addEventListener('click', () => {
136+
const frame = document.querySelector('.giscus-frame');
137+
frame.contentWindow.postMessage(
138+
{ giscus: { setConfig: { theme: giscusTheme() } } },
139+
'https://giscus.app',
140+
);
141+
});
142+
})
111143
},
112144
],
113145
};

0 commit comments

Comments
 (0)