avatar

AngYi

Aim for the stars, and beyond.

  • 首页
  • 分类
  • 标签
  • 归档
  • 相册
  • 关于我
Home 语雀文章自动同步到博客-Elog+GithubAction
文章

语雀文章自动同步到博客-Elog+GithubAction

Posted 2024-09-18 Updated 2024-10- 6
By AngYi
9~12 min read

Yuque + Elog + Halo + GitHub Actions 博客解决方案

项目地址:https://github.com/Flionay/yuque_halo

此工具借助 Elog 实现了从 语雀 同步文档到 Halo 站点,并借助 Github Actions 实现了自动化部署。

拓展功能点

在语雀文档的开头,写一个yaml代码块,就能又漂亮又方便地配置博客文章的标题、分类、标签、封面等属性,比如:

借助elog的FormatExt 自定义文档适配处理器,将这个yaml代码块解析,并与elog生成的frontmatter合并,最终生成符合halo要求的文章元数据

博客工具

  • 写作平台:语雀
  • 博客平台:Halo
  • 博客文档同步:Elog

博客搭建指南

Fork模板仓库

点击 Fork 该模板仓库到个人 Github 账号仓库下并 clone 到本地

安装依赖

在项目根目录下运行命令安装依赖

npm install

新建 Elog 本地调试文件

在项目根目录中复制.elog.example.env文件并改名为.elog.env,此文件将用于本地同步Notion 文档

配置 Yuque 关键信息

详细内容可以查看elog官方文档,详细信息获取部分

#语雀(账号密码模式)
YUQUE_USERNAME=账号
YUQUE_PASSWORD=密码
# 语雀公共参数
YUQUE_LOGIN=空间名
YUQUE_REPO=知识库id

# 阿里云 oss 图床对象存储
OSS_SECRET_ID=xxxx
OSS_SECRET_KEY=xxx
OSS_BUCKET=用户名
OSS_REGION=oss-cn-beijing

# Halo 站点信息
HALO_ENDPOINT=Halo 站点地址
HALO_TOKEN=获取的 Halo 个人令牌
HALO_POLICY_NAME=获取的存储策略

本地调试

仓库中有两个 elog 配置文件:

  1. elog.config.js:同步到 Halo 时的配置文件,用于同步 Notion 文档到 Halo
  2. elog.config.local.js:同步到本地时的配置文件,用于备份 Notion 文档到本地

在正式上传到 Halo 站点前,建议先运行本地同步命令,从 Notion 拉取文档到本地

npm run dev:local

拉取到本地测试没问题时,再运行同步到 Halo 命令

npm run dev:halo

配置 Halo 站点

配置你的Halo 站点直到满意为止,可适当安装一些主题、插件

  • 代码高亮插件
  • markdown 编辑器

提交代码到 github

halo 站点访问没问题直接提交所有文件到 Github 仓库即可

自动化同步&部署

检查 Github Actions 权限

配置环境变量

语雀Webhook触发器

在语雀仓库中设置webhook之后,当在知识库中改动文档后,就会自动触发 Github Actions流水线,会重新从语雀增量拉取文档,并自动部署到 Halo 站点,如此就实现了自动化部署博客。

按照这个文档,配置语雀webhook触发器:ServerlessAPI,按照文档配置好 URL 参数并浏览器访问即可触发流水线

https://serverless-api-elog.vercel.app/api/github?user=xxx&repo=xxx&event_type=deploy&token=xxx

vercel 的这个项目在语雀里一直没有成功,不知道是什么原因,点击测试,也总是返回消息发送失败,体验很不好

阿里云云函数

所以换一种方案,用国内阿里云的云函数:

按照阿里云云函数文档,编写云函数flask脚本,详情在yuque_webhook.py,将Github的token配置在云函数的环境变量里,其余参数通过query传递,然后配置在语雀知识库的webhook中,检测发送消息成功即可

https://yuque-webhook-xxxxx.cn-beijing.xxxxx.run/yuque/webhook?user=Flionay&repo=yuque_halo&event_type=deploy

感谢作者:https://github.com/elog-x/notion-halo

软件
Halo blog
License:  CC BY 4.0
Share

Further Reading

Oct 28, 2024

借助Ollama一键本地部署CodeGeex,让AI帮你打工

Ollama简介:快速了解一键部署工具 Ollama是一款专为简化AI模型部署而设计的工具。它支持多种模型的本地部署,确保用户能够在不依赖云服务的情况下,快速启动和运行AI应用。 为什么选择Ollama? 简便易用:Ollama提供直观的用户界面和简单的操作步骤,即使是非技术用户也能轻松上手。 本地

Sep 18, 2024

语雀文章自动同步到博客-Elog+GithubAction

Yuque + Elog + Halo + GitHub Actions 博客解决方案 项目地址:https://github.com/Flionay/yuque_halo 此工具借助 Elog 实现了从 语雀 同步文档到 Halo 站点,并借助 Github Actions 实现了自动化部署。 拓

Aug 27, 2022

手写风格画图白板软件 Excalidraw

内容详情点击https://www.yuque.com/angyi/impm2p/sefer0/edit

OLDER

终端复用工具tmux简介及常用快捷键

NEWER

诺贝尔物理学奖颁给了神经网络

Recently Updated

  • DeepSeek 创始人梁文峰采访:创新、人才与中国 AI 发展
  • 福州-厦门之行
  • 我有自己的摄影网站啦
  • 借助Ollama一键本地部署CodeGeex,让AI帮你打工
  • Dash 进阶技巧

Trending Tags

ssh linux matlab 感悟 读书 blog git python flask ML

Contents

©2025 AngYi. Some rights reserved.

Using the Halo theme Chirpy