自動初始化gitalk/gitment評論
發表新文章後,使用travis的ci功能進行自動初始化評論功能。使用gitalk或者gitment做hexo靜態部落格的評論功能,有一個很煩的問題是每次發表後, 都需要去點一下初始化評論。
使用 ofollow,noindex" target="_blank">hexo部落格push到github的後自動部署到github pages 方法發表文章後, 我們同樣可以使用travis的能力來進行自動初始化評論功能。
自動部署需要依賴 sitemap.yml
部署
step 0 生成token
到 github setting 頁面申請Personal access tokens, 點選上面的Generate new token後,跳進去後,填好描述資訊,同時勾上下面的選項: 生成好把token複製出來,它只會顯示一次。
step 1 編譯自動初始化評論的工具
下載自動初始化評論的工具 wget https://github.com/tenfyzhong/autoissue/releases/download/v0.1.1/autoissue-linux-x86 -O autoissue
把autoissue移動到自己的部落格bin目錄下。
step 2 配置travis構建的配置
在自己的部落格repo上執行 travis encrypt AUTH_TOKEN=xxxxxxxxx --add
,它就會自動往 .travis.yml
上新增好這個環境變數。
travis的命令使用參照 Encryption keys
在 .travis.yml
配置的script上執行 autoissue
,完整的配置如下
language: node_js cache: directories: - node_modules install: - nvm install 8.4.0 - nvm use 8.4.0 - node --version - npm install -g [email protected] - npm install -g hexo-cli - npm install before_script: - git submodule update --init --recursive - git config user.name "tenfyzhong" - git config user.email "[email protected]" - sed -i "s/https:\/\/\(github\.com\/tenfyzhong\/tenfyzhong\.github\.io\.git\)/https:\/\/$ACCESS_TOKEN@\1/" _config.yml script: - hexo clean - hexo g - hexo d - ./bin/autoissue env: global: secure:# 已經刪除
step 3 配置評論使用的repo
需要在部落格的 _config.yml
上新增以下的配置,對應於gitalk或者gitment的配置
owner: tenfyzhong comment_repo: tenfyzhong.github.io # 對應於repo配置 labels: ["comment"]
修改完後就可以直接推一篇文章上去看效果了。
對於自動生成評論的規則
autoissue
工具會去拉一頁issue,把這頁issue裡最舊的文章做基準,從hexo生成的sitemap.xml中做對比, 對於存在於sitemap.xml中的文章,比基準文章新,而且又不存在這一頁issue中,則進行建立。