最近在Github Pages上使用Jekyll搭建了個(gè)人博客( jacobpan3g.github.io/cn ),當(dāng)需要添加評論系統(tǒng)時(shí),找了一下國內(nèi)的幾個(gè)第三方評論系統(tǒng),如“多說”,“暢言”,“友言”,“新浪云跟貼”:

  1. 多說,曾經(jīng)較火的評論系統(tǒng),網(wǎng)上介紹文章比較多,但已關(guān)閉,無法再用了

  2. 暢言,sohu旗下的,但是需要個(gè)人博客備案后才能使用,但github pages個(gè)人博客感覺備案比較難

  3. 友言,jiaThis旗下的,由于時(shí)http請求,github pages現(xiàn)在都是https了, 在https站點(diǎn)無法調(diào)用http請求,故也無法使用

  4. 網(wǎng)易云跟貼,曾被當(dāng)作“多說”的替代品,可惜官方通報(bào)說也將在2017.08.01關(guān)閉了

再看看disqus,國外比較火的評論系統(tǒng),但在國內(nèi)墻了,故也不考慮。

綜上,國內(nèi)幾個(gè)比較主流的評論系統(tǒng)目前都無法在Github Pages上的個(gè)人博客使用, 后面我發(fā)現(xiàn)了gitment,一款由國內(nèi)大神imsun開發(fā)的基于github issues的評論系統(tǒng), 具體介紹請看項(xiàng)目主頁( github.com/imsun/gitment )

目前我已經(jīng)成功把gitment應(yīng)用到了自己的Github pages個(gè)人博客里,過程中碰了一些壁, 同時(shí)發(fā)現(xiàn)網(wǎng)上關(guān)于gitment的介紹并不多,故寫一篇總結(jié),希望可以幫助到大家。

1. 申請一個(gè)Github OAuth Application

Github頭像下拉菜單 > Settings > 左邊Developer settings下的OAuth Application > Register a new application,填寫相關(guān)信息:

  1. Application nameHomepage URLApplication description 都可以隨意填寫

  2. Authorization callback URL 一定要寫自己Github Pages的URL
    (ps: 之前我自己就是在這里碰壁了,調(diào)試半天才發(fā)現(xiàn))

  3. 填寫完上述信息后按Register application按鈕,得到Client IDClient Secret

2. 在jekyll博客調(diào)用gitment

如gitment項(xiàng)目頁Readme所示,在你需要添加評論系統(tǒng)的地方,一般是_layout/目錄下的 post.html, 添加一下代碼

<div id="gitmentContainer"></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({
    owner: 'Your GitHub username',
    repo: 'The repo to store comments',
    oauth: {
        client_id: 'Your client ID',
        client_secret: 'Your client secret',
    },});gitment.render('gitmentContainer');</script>

需要修改的有4個(gè)地方

  1. Your GitHub username:填寫你的Github Pages博客所在的github賬戶名

  2. The repo to store comments:填寫用來存放評論的github倉庫,由于評論是 通過issues來存放的,個(gè)人建議這里可以直接填Github Pages個(gè)人博客所在的倉庫

  3. Your client ID:第1步所申請到的應(yīng)用的Client ID

  4. Your client secret:第1步所申請到的應(yīng)用的Client Secret

填寫完這4項(xiàng)把代碼保存上傳到github就可以了。

3. 為每篇博文初始化評論系統(tǒng)

由于gitment的原理是為每一遍博文以其URL作為標(biāo)識創(chuàng)建一個(gè)github issue, 對該篇博客的評論就是對這個(gè)issue的評論。因此,我們需要為每篇博文初始化一下評論系統(tǒng), 初始化后,你可以在你的github上會創(chuàng)建相對應(yīng)的issue。

接下來,介紹一下如何初始化評論系統(tǒng)

  1. 上面第2步代碼添加成功并上傳后,你就可以在你的博文頁下面看到一個(gè)評論框,還 有看到以下錯(cuò)誤Error: Comments Not Initialized,提示該篇博文的評論系統(tǒng)還沒初始化

  2. 點(diǎn)擊Login with GitHub后,使用自己的github賬號登錄后,就可以在上面錯(cuò)誤信息 處看到一個(gè)Initialize Comments的按鈕
    (ps: 由于要求回調(diào)URL和當(dāng)前地址一樣,故第2步不能在本地調(diào)試, 需把代碼先上傳再調(diào)試)

  3. 點(diǎn)擊Initialize Comments按鈕后,就可以開始對該篇博文開始評論了, 同時(shí)也可以在對應(yīng)的github倉庫看到相應(yīng)的issue

4. 一些問題

  • 安全問題

有些讀者擔(dān)心github oauth application的client secret這樣明文寫在頁面上會不會有安全 隱患,我也考慮到這個(gè)問題,目前我能想到比較好的解決方法是:注冊一個(gè)github小號, 在小號里注冊oauth application,使用小號app的client secret

  • 回調(diào)URL

有些讀者反映登錄不成功,請大家一定要確認(rèn)github oauth application里的回調(diào)URL一定要 填寫要使用gitment的博客的URL,這一點(diǎn)十分重要


好了,gitment使用介紹到這里,大家若遇到什么問題盡管在下面留言,或者在我的個(gè)人博客 ( jacobpan3g.github.io/cn )留言,上面使用的評論系統(tǒng)就是gitment,我會抽空 一一作出回答。

最近在Github Pages上使用Jekyll搭建了個(gè)人博客( jacobpan3g.github.io/cn ),當(dāng)需要添加評論系統(tǒng)時(shí),找了一下國內(nèi)的幾個(gè)第三方評論系統(tǒng),如“多說”,“暢言”,“友言”,“新浪云跟貼”:

  1. 多說,曾經(jīng)較火的評論系統(tǒng),網(wǎng)上介紹文章比較多,但已關(guān)閉,無法再用了

  2. 暢言,sohu旗下的,但是需要個(gè)人博客備案后才能使用,但github pages個(gè)人博客感覺備案比較難

  3. 友言,jiaThis旗下的,由于時(shí)http請求,github pages現(xiàn)在都是https了, 在https站點(diǎn)無法調(diào)用http請求,故也無法使用

  4. 網(wǎng)易云跟貼,曾被當(dāng)作“多說”的替代品,可惜官方通報(bào)說也將在2017.08.01關(guān)閉了

再看看disqus,國外比較火的評論系統(tǒng),但在國內(nèi)墻了,故也不考慮。

綜上,國內(nèi)幾個(gè)比較主流的評論系統(tǒng)目前都無法在Github Pages上的個(gè)人博客使用, 后面我發(fā)現(xiàn)了gitment,一款由國內(nèi)大神imsun開發(fā)的基于github issues的評論系統(tǒng), 具體介紹請看項(xiàng)目主頁( github.com/imsun/gitment )。

目前我已經(jīng)成功把gitment應(yīng)用到了自己的Github pages個(gè)人博客里,過程中碰了一些壁, 同時(shí)發(fā)現(xiàn)網(wǎng)上關(guān)于gitment的介紹并不多,故寫一篇總結(jié),希望可以幫助到大家。

1. 申請一個(gè)Github OAuth Application

Github頭像下拉菜單 > Settings > 左邊Developer settings下的OAuth Application > Register a new application,填寫相關(guān)信息:

  1. Application nameHomepage URLApplication description 都可以隨意填寫

  2. Authorization callback URL 一定要寫自己Github Pages的URL
    (ps: 之前我自己就是在這里碰壁了,調(diào)試半天才發(fā)現(xiàn))

  3. 填寫完上述信息后按Register application按鈕,得到Client IDClient Secret

2. 在jekyll博客調(diào)用gitment

如gitment項(xiàng)目頁Readme所示,在你需要添加評論系統(tǒng)的地方,一般是_layout/目錄下的 post.html, 添加一下代碼

<div id="gitmentContainer"></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({
    owner: 'Your GitHub username',
    repo: 'The repo to store comments',
    oauth: {
        client_id: 'Your client ID',
        client_secret: 'Your client secret',
    },});gitment.render('gitmentContainer');</script>

需要修改的有4個(gè)地方

  1. Your GitHub username:填寫你的Github Pages博客所在的github賬戶名

  2. The repo to store comments:填寫用來存放評論的github倉庫,由于評論是 通過issues來存放的,個(gè)人建議這里可以直接填Github Pages個(gè)人博客所在的倉庫

  3. Your client ID:第1步所申請到的應(yīng)用的Client ID

  4. Your client secret:第1步所申請到的應(yīng)用的Client Secret

填寫完這4項(xiàng)把代碼保存上傳到github就可以了。

3. 為每篇博文初始化評論系統(tǒng)

由于gitment的原理是為每一遍博文以其URL作為標(biāo)識創(chuàng)建一個(gè)github issue, 對該篇博客的評論就是對這個(gè)issue的評論。因此,我們需要為每篇博文初始化一下評論系統(tǒng), 初始化后,你可以在你的github上會創(chuàng)建相對應(yīng)的issue。

接下來,介紹一下如何初始化評論系統(tǒng)

  1. 上面第2步代碼添加成功并上傳后,你就可以在你的博文頁下面看到一個(gè)評論框,還 有看到以下錯(cuò)誤Error: Comments Not Initialized,提示該篇博文的評論系統(tǒng)還沒初始化

  2. 點(diǎn)擊Login with GitHub后,使用自己的github賬號登錄后,就可以在上面錯(cuò)誤信息 處看到一個(gè)Initialize Comments的按鈕
    (ps: 由于要求回調(diào)URL和當(dāng)前地址一樣,故第2步不能在本地調(diào)試, 需把代碼先上傳再調(diào)試)

  3. 點(diǎn)擊Initialize Comments按鈕后,就可以開始對該篇博文開始評論了, 同時(shí)也可以在對應(yīng)的github倉庫看到相應(yīng)的issue

4. 一些問題

  • 安全問題

有些讀者擔(dān)心github oauth application的client secret這樣明文寫在頁面上會不會有安全 隱患,我也考慮到這個(gè)問題,目前我能想到比較好的解決方法是:注冊一個(gè)github小號, 在小號里注冊oauth application,使用小號app的client secret

  • 回調(diào)URL

有些讀者反映登錄不成功,請大家一定要確認(rèn)github oauth application里的回調(diào)URL一定要 填寫要使用gitment的博客的URL,這一點(diǎn)十分重要


好了,gitment使用介紹到這里,大家若遇到什么問題盡管在下面留言,或者在我的個(gè)人博客 ( jacobpan3g.github.io/cn )留言,上面使用的評論系統(tǒng)就是gitment,我會抽空 一一作出回答。

http://www.cnblogs.com/jacobpan/p/7200512.html