Gitment:使用GitHub Issues 搭建評論系統

免费SSL证书申请

Gitment是作者實現的一款基於GitHub Issues的評論系統。 支持在前端直接引入,不需要任何後端代碼。 可以在頁面進行登錄、查看、評論、點贊等操作,同時有完整的Markdown / GFM 和代碼高亮支持。 尤為適合各種基於GitHub Pages 的靜態博客或項目頁面。

本博客評論系統已遷移至Gitment。 雖然Gitment 只能使用GitHub 賬號進行評論,但考慮到博客受眾,這是可以接受的。

基礎使用

1. 註冊OAuth Application

點擊此處來註冊一個新的OAuth Application。 其他內容可以隨意填寫,但要確保填入正確的callback URL(一般是評論頁面對應的域名,如https://www.baiduio.ga )。

你會得到一個client ID 和一個client secret,這個將被用於之後的用戶登錄。

2. 引入Gitment

將下面的代碼添加到你的頁面:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
< div id = “container” > </ div >
< link rel = “stylesheet” href = “https://imsun.github.io/gitment/style/default.css” >
< script src = “https://imsun.github.io/gitment/dist/gitment.browser.js” > </ script >
< script >
var gitment = new Gitment({
id: ‘頁面ID’, // 可選。 默認為location.href
owner: ‘你的GitHub ID’,
repo: ‘存儲評論的repo’,
oauth: {
client_id: ‘你的client ID’,
client_secret: ‘你的client secret’,
},
})
gitment.render(‘container’)
</ script >

注意,上述代碼引用的Gitment 將會隨著開髮變動。 如果你希望始終使用最新的界面與特性即可引入上述代碼。

如果你希望引用確定版本的Gitment,則應該使用npm 進行安裝。

1
$ npm install –save gitment

關於構造函數中的更多可用參數請查看Gitment Options

3. 初始化評論

頁面發布後,你需要訪問頁面並使用你的GitHub 賬號登錄(請確保你的賬號是第二步所填repo 的owner),點擊初始化按鈕。

之後其他用戶即可在該頁面發表評論。

自定義

Gitment 很容易進行自定義,你可以寫一份自定義的CSS 或者使用一個新的主題。 (主題可以改變DOM 結構而自定義CSS 不能)

比如你可以通過自定義主題將評論框放在評論列表前面:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const myTheme = {
render(state, instance) {
const container = document .createElement( ‘div’ )
container.lang = “en-US”
container.className = ‘gitment-container gitment-root-container’
container.appendChild(instance.renderHeader(state, instance))
container.appendChild(instance.renderEditor(state, instance))
container.appendChild(instance.renderComments(state, instance))
container.appendChild(instance.renderFooter(state, instance))
return container
},
}
const gitment = new Gitment({
// …
theme: myTheme,
})
gitment.render( ‘container’ )

更多自定義內容請查看文檔 。

其他問題

語言問題

考慮到GitHub 本身使用英文,而本項目面向用戶均為GitHub 用戶,所以作者沒有提供中文支持的打算。 實在有需求的可以通過自定義主題支持中文。

請勿濫用

在開發這個項目時我就一直有一個疑慮:我這樣做有沒有濫用GitHub? 為此我仔細讀了GitHub Terms of Service中API Terms的部分,認為自己並沒有違反協議。 之後我向GitHub 發郵件詢問了這一問題。 GitHub 給出的回復是:

We’re pleased to see you making use of the tools and resources available on GitHub.

因此本項目的確沒有違反GitHub 使用協議。 但我還是想提醒使用本項目的用戶,請保持克制,切勿濫用。

樣式版權

在項目開源前作者曾實現了一個像素級抄襲GitHub Issues樣式的界面,但在閱讀ToS時發現違反了Section F ,並在和GitHub郵件溝通的過程中確認了這一行為是侵權的。 因此便改成了現在的樣式。請其他想要自定義樣式的用戶也留意版權問題。

赞(0)
未经允许不得转载:Baiduio » Gitment:使用GitHub Issues 搭建評論系統

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

Baiduio空间更快、更便利、更安全

联系我们立即注册