Hexo博客框架下Gitment取代多說評論

前言

以往的兒童節(jié)都會給兒子說:“親愛的兒子析校,不好意思,今年你爹又沒追到你娘铜涉,你再等等吧智玻,提前祝你六一快樂”。今年六一略顯不同芙代,多說正式關(guān)閉服務(wù)吊奢,心塞。曾也想轉(zhuǎn)回Disqus(墻)链蕊,也嘗試注冊了暢言(奈何要備案網(wǎng)站)事甜,最終種種原因不得不放棄了谬泌。
近期滔韵,不經(jīng)意間看到了,imsun實(shí)現(xiàn)的一款基于 GitHub Issues 的評論系統(tǒng)Gitment掌实,作為菜鳥的我看到后陪蜻,還是蠻佩服的。

GitHub授權(quán)接入

Gitment是使用的GitHub Issues作為評論系統(tǒng)贱鼻,在接入Gitment前宴卖,需要獲得GitHub的授權(quán),獲得相應(yīng)的客戶端id和客戶端私鑰邻悬,以備站點(diǎn)使用症昏。具體步驟如下圖所示:
OAuth application注冊接入

GitHub授權(quán)接入.png

GitHub授權(quán)接入0.png

Hexo框架Next主題下添加Gitment

如果您使用的是Hexo框架的Next主題博客,想要添加Gitment的時候父丰,記得將自己的Next主題更新下版本肝谭,開始本人使用的是version 5.1.0的,配置后,會遇到每次打開文章攘烛,都需要重新點(diǎn)擊Initialize comments的情況魏滚,以往評論歷史數(shù)據(jù)獲取也有問題。鑒于此坟漱,我更新了Next主題(當(dāng)前為version 5.1.1)鼠次,現(xiàn)在使用正常,大家可先來本人博客看看效果:仁伯安GitHub主頁芋齿,(首先得謝謝DotaWang11同學(xué)的支持評論O(∩_∩)O~)腥寇,如果您從事iOS工作,還請?jiān)?a target="_blank" rel="nofollow">仁伯安的GitHub給個Star觅捆。

Gitment評論框.png

** Next主題下Gitment配置 **

引自:Gitment - 使用 GitHub Issues 搭建評論系統(tǒng)

<div id="container"></div>
<link rel="stylesheet" >
<script src="https://imsun.github.io/gitment/dist/gitment.browser.js"></script>
<script>
  var gitment = new Gitment({
    id: '頁面 ID', // 可選花颗。默認(rèn)為 location.href
    owner: '你的 GitHub ID', // 可以是你的GitHub用戶名,也可以是github id
    repo: '存儲評論的 github repo',
    oauth: {
      client_id: '你的 client id',
      client_secret: '你的 client secret',
    },
  })
  gitment.render('container')
</script>

在配置owner的時候惠拭,可以在瀏覽器中輸入:https://api.github.com/users/GitHub用戶名扩劝,來獲取對應(yīng)數(shù)據(jù)id。

GitHub id獲取.png

引入Gitment需要將以上引文代碼寫入對應(yīng)的頁面即可职辅,在Hexo框架的Next主題中配置Gitment的步驟如下:

  • 主題文件config.yml配置
    在主題下themes/next/_config.yml文件中添加:
# Gitment
 # Introduction: https://imsun.net/posts/gitment-introduction/
gitment:
  enable: true
  githubID: zonghongyan
  repo: zonghongyan.github.io
  ClientID: ------
  ClientSecret: ------
  lazy: false

其中l(wèi)azy的含義棒呛,是否懶加載相應(yīng)評論框,如果為true域携,文章底部評論是收起狀態(tài)簇秒,提示顯示 Gitment 評論按鈕,單擊展開評論框秀鞭。

  • 懶加載按鈕顯示的文字設(shè)置:

在主題下languages/en.yml文件中添加:

 gitmentbutton: Show comments from Gitment 

在主題下languages/zh-Hans.yml文件中添加:

 gitmentbutton: 顯示 Gitment 評論 

在主題下languages/zh-hk.yml文件中添加:

 gitmentbutton: 顯示 Gitment 評論 

在主題下languages/zh-tw.yml文件中添加:

 gitmentbutton: 顯示 Gitment 評論 
  • 懶加載按鈕div及事件配置

在主題下layout/_partials/comments.swig文件中添加:

        <div id="lv-container" data-id="city" data-uid="{{ theme.livere_uid }}"></div>
      {% elseif theme.changyan.appid and theme.changyan.appkey %}
        <div id="SOHUCS"></div>
     {% elseif theme.gitment.enable %}
       {% if theme.gitment.lazy %}
         <div onclick="ShowGitment()" id="gitment-display-button">{{ __('gitmentbutton') }}</div>
         <div id="gitment-container" style="display:none"></div>
       {% else %}
         <div id="gitment-container"></div>
       {% endif %}
      {% endif %}
    </div>
  {% endif %}
  • 對應(yīng)頁面生成JS代碼配置
    在主題下layout/_third-party/comments/目錄下中添加文件gitment.swig:
{% if theme.gitment.enable %}
     {% set owner = theme.gitment.githubID %}
     {% set repo = theme.gitment.repo %}
     {% set cid = theme.gitment.ClientID %}
     {% set cs = theme.gitment.ClientSecret %}
     <link rel="stylesheet" >
     <script src="https://imsun.github.io/gitment/dist/gitment.browser.js"></script>
     {% if not theme.gitment.lazy %}
         <script type="text/javascript">
             var gitment = new Gitment({
                id: document.location.href, 
                 owner: '{{owner}}',
                 repo: '{{repo}}',
                 oauth: {
                     client_id: '{{cid}}',
                     client_secret: '{{cs}}',
                 }});
             gitment.render('gitment-container');
         </script>
     {% else %}
         <script type="text/javascript">
             function ShowGitment(){
                 document.getElementById("gitment-display-button").style.display = "none";
                 document.getElementById("gitment-container").style.display = "block";
                 var gitment = new Gitment({
                     id: document.location.href, 
                     owner: '{{owner}}',
                     repo: '{{repo}}',
                     oauth: {
                         client_id: '{{cid}}',
                         client_secret: '{{cs}}',
                     }});
                 gitment.render('gitment-container');
             }
         </script>
     {% endif %}
 {% endif %}

添加gitment.swig文件后趋观,在主題下layout/_third-party/comments/index.swig文件中引入gitment.swig文件:

{% include 'gitment.swig' %}
  • 設(shè)置CSS樣式
    在主題下source/css/_common/components/third-party/目錄下添加gitment.styl文件,設(shè)置button的樣式:
#gitment-display-button{
     display: inline-block;
     padding: 0 15px;
     color: #0a9caf;
     cursor: pointer;
     font-size: 14px;
     border: 1px solid #0a9caf;
     border-radius: 4px;
 }
 #gitment-display-button:hover{
     color: #fff;
     background: #0a9caf;
 }

之后锋边,在主題下 source/css/_common/components/third-party/third-party.styl文件中引入相應(yīng)的CSS樣式即可

@import "gitment";

詳見:Add Gitment Support
文有不當(dāng)之處還請見諒V逄场!豆巨!

常見問題:

參考:

本文已在版權(quán)印備案麦到,如需轉(zhuǎn)載請?jiān)诎鏅?quán)印獲取授權(quán)。
獲取版權(quán)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末欠肾,一起剝皮案震驚了整個濱河市瓶颠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌刺桃,老刑警劉巖粹淋,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異瑟慈,居然都是意外死亡桃移,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門葛碧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來借杰,“玉大人,你說我怎么就攤上這事进泼≌岷猓” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵乳绕,是天一觀的道長绞惦。 經(jīng)常有香客問我,道長洋措,這世上最難降的妖魔是什么济蝉? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮菠发,結(jié)果婚禮上王滤,老公的妹妹穿的比我還像新娘。我一直安慰自己滓鸠,他們只是感情好雁乡,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著哥力,像睡著了一般蔗怠。 火紅的嫁衣襯著肌膚如雪墩弯。 梳的紋絲不亂的頭發(fā)上吩跋,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機(jī)與錄音渔工,去河邊找鬼锌钮。 笑死,一個胖子當(dāng)著我的面吹牛引矩,可吹牛的內(nèi)容都是我干的梁丘。 我是一名探鬼主播侵浸,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼氛谜!你這毒婦竟也來了掏觉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤值漫,失蹤者是張志新(化名)和其女友劉穎澳腹,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體杨何,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡酱塔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了危虱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片羊娃。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖埃跷,靈堂內(nèi)的尸體忽然破棺而出蕊玷,到底是詐尸還是另有隱情,我是刑警寧澤弥雹,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布集畅,位于F島的核電站,受9級特大地震影響缅糟,放射性物質(zhì)發(fā)生泄漏挺智。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一窗宦、第九天 我趴在偏房一處隱蔽的房頂上張望赦颇。 院中可真熱鬧,春花似錦赴涵、人聲如沸媒怯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽扇苞。三九已至,卻和暖如春寄纵,著一層夾襖步出監(jiān)牢的瞬間鳖敷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工程拭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留定踱,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓恃鞋,卻偏偏與公主長得像崖媚,于是被迫代替她去往敵國和親亦歉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理畅哑,服務(wù)發(fā)現(xiàn)肴楷,斷路器,智...
    卡卡羅2017閱讀 134,651評論 18 139
  • 原文鏈接: http://yangbingdong.com/2017/build-blog-hexo-advanc...
    83cb194531a7閱讀 4,154評論 3 10
  • afinalAfinal是一個android的ioc荠呐,orm框架 https://github.com/yangf...
    passiontim閱讀 15,429評論 2 45
  • 上一次的《鐘無艷》直秆,與此歌有異曲同工之感濒募,但角色特質(zhì)并不十分對稱』幔《鐘》直言卑微瑰剃,而《黑》則通過細(xì)節(jié)動作來表達(dá)自卑...
    祖三三閱讀 1,971評論 0 51
  • 今天我讀了番茄工作法圖解這本書晌姚。書中講述了一種時間的管理方法,它的核心內(nèi)容是消除焦慮歇竟,培養(yǎng)專注力挥唠。 如果你們想實(shí)現(xiàn)...
    甘于寂寞閱讀 370評論 7 10