谈天说地

首先在这里感谢互联网上各位大佬细致到教科书级别的教程https://blog.csdn.net/qq_33625877/article/details/114097105
网上关于如何配置的教程百度可以搜索出来一大堆。“拿来主义“也没什么意义,这里就不继续聊配置教程了,只想谈谈自己使用半个月以来的感受。

语雀 Webhook 体验不太友好

美中不足的是语雀的 Webhook 体验一般般,不触发的概率较大。之前向语雀技术人员反馈过,期待语雀及时更新迭代。
image.png
我的解决方案是将 webhook 链接保存在浏览器书签栏,每次写完文章,手动点下链接触发同步。

yuque-hexo sync 问题

目前好像是每次全量从语雀获取文章,如果能改成增量获取就更好了。

语雀图片防盗链

关于盗链问题,yuque-hexo 的 github issue 里给了解决方案:
在头部添加


不过前提条件是你的知识库权限为“互联网可见”,这点大家仔细想想便能理解。

非 post 的更新问题

如果要更新博文,通过语雀云端同步便能解决,其他需要更改的地方如_config.yml 、 page 页面内容、友链等,需要在本地更新并 push 到 github,关于友链的同步目前我想到的一种解决方案是:在/friends/页面评论里添加友链内容后,腾讯云函数接口定期发起请求获取/fiends/评论里新增的消息体,触发 github action 更新/friends/页面 并 deploy 到远程 repo(github pages)

其他

最近优化了 Github Action 的流程,将依赖打包进 repo 内,省去额外下载的耗时

# workflow name
name: CI Hexo Blog Deploy LTS
#master branch on push, auto run
on: [push, repository_dispatch]
jobs:
  Deploy-Pages:
    name: Deploy Hexo Public To Pages
    runs-on: ubuntu-latest

    steps:
      # check it to your workflow can access it
      # from: https://github.com/actions/checkout
      - name: Checkout Repository master branch
        uses: actions/checkout@master

      # from: https://github.com/actions/setup-node
      - name: Setup Node.js 14.x
        uses: actions/setup-node@master
        with:
          node-version: "14.15.2"

      - name: Get Latest Commit Message
        run: |
          git log --pretty=format:"%s from Github Actions at `date +"%Y-%m-%d %H:%M:%S"`" --date=short -n 1 > commit-message.log

      # - name: Setup Hexo Dependencies
      #   run: |
      #     npm install hexo-cli -g
      #     npm install yuque-hexo -g

      # - name: 緩存
      #   uses: actions/cache@v1
      #   id: cache-dependencies
      #   with:
      #     path: node_modules
      #     key: ${{runner.OS}}-${{hashFiles('**/package-lock.json')}}

      # - name: 安裝插件
      #   if: steps.cache-dependencies.outputs.cache-hit != 'true'
      #   run: |
      #     rm -rf node_modules && npm install --force

      - name: 渲染html
        env:
          YUQUE_TOKEN: ${{ secrets.YUQUE_TOKEN }}
        run: |
          ./node_modules/yuque-hexo/bin/yuque-hexo.js clean && ./node_modules/yuque-hexo/bin/yuque-hexo.js sync && ./node_modules/hexo/bin/hexo clean  && ./node_modules/hexo/bin/hexo g

      - name: Deploy To Github Pages
        env:
          Github_Pages: github.com/lonbaw/lonbaw.github.io.git
        run: |
          cd ./public/ 
          git init 
          git config --global user.name 'lonbaw' 
          git config --global user.email 'lonbaw@163.com' 
          git remote add origin "https://lonbaw:${{ secrets.PWD_GITHUB }}@${Github_Pages}"
          git add . 
          git commit -F ../commit-message.log 
          git push --force --quiet "https://lonbaw:${{ secrets.PWD_GITHUB }}@${Github_Pages}" master:master