惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
IT之家
IT之家
小众软件
小众软件
T
Tailwind CSS Blog
博客园 - 聂微东
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
Hugging Face - Blog
Hugging Face - Blog
D
Docker
爱范儿
爱范儿
云风的 BLOG
云风的 BLOG
Google DeepMind News
Google DeepMind News
MongoDB | Blog
MongoDB | Blog
N
News and Events Feed by Topic
U
Unit 42
The Register - Security
The Register - Security
宝玉的分享
宝玉的分享
J
Java Code Geeks
H
Heimdal Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
博客园 - Franky
A
About on SuperTechFans
Webroot Blog
Webroot Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Recent Commits to openclaw:main
Recent Commits to openclaw:main
I
Intezer
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Project Zero
Project Zero
V
V2EX
博客园 - 司徒正美
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
The GitHub Blog
The GitHub Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
A
Arctic Wolf
罗磊的独立博客
Forbes - Security
Forbes - Security
PCI Perspectives
PCI Perspectives
SecWiki News
SecWiki News
大猫的无限游戏
大猫的无限游戏
Simon Willison's Weblog
Simon Willison's Weblog
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
F
Fortinet All Blogs
博客园 - 【当耐特】
Microsoft Azure Blog
Microsoft Azure Blog

Nino

欢迎,2026年春天 | Nino | Web开发者|阅读写作爱好者 港湾的味道 | Nino | Web开发者|阅读写作爱好者 2025年用无聊的诗结束吧 | Nino | Web开发者|阅读写作爱好者 立冬了 | Nino | Web开发者|阅读写作爱好者 最近的三个月 | Nino | Web开发者|阅读写作爱好者 《这个哲学家救了我》-(意)马西莫·匹格里奇 | Nino | Web开发者|阅读写作爱好者 无聊人 | Nino | Web开发者|阅读写作爱好者 《牧羊少年奇幻之旅》-(巴西)保罗·柯艾略 | Nino | Web开发者|阅读写作爱好者 2024的结束 | Nino | Web开发者|阅读写作爱好者 真诚并不是必杀技,而是自杀技 | Nino | Web开发者|阅读写作爱好者 2024年8月底至9月写过的无聊的诗 | Nino | Web开发者|阅读写作爱好者 简历相关 | Nino | Web开发者|阅读写作爱好者 数据结构 | Nino | Web开发者|阅读写作爱好者 场景设计 | Nino | Web开发者|阅读写作爱好者 设计模式 | Nino | Web开发者|阅读写作爱好者 面试技巧 | Nino | Web开发者|阅读写作爱好者 简历技巧 | Nino | Web开发者|阅读写作爱好者 我的项目 | Nino | Web开发者|阅读写作爱好者 操作系统 | Nino | Web开发者|阅读写作爱好者 数据库 | Nino | Web开发者|阅读写作爱好者 架构 | Nino | Web开发者|阅读写作爱好者 消息队列 | Nino | Web开发者|阅读写作爱好者 缓存 | Nino | Web开发者|阅读写作爱好者 计算机网络 | Nino | Web开发者|阅读写作爱好者 Java基础 | Nino | Web开发者|阅读写作爱好者 Java并发 | Nino | Web开发者|阅读写作爱好者 Java框架 | Nino | Web开发者|阅读写作爱好者 Java虚拟机 | Nino | Web开发者|阅读写作爱好者 Java集合 | Nino | Web开发者|阅读写作爱好者 北京的公司 | Nino | Web开发者|阅读写作爱好者 上海的公司 | Nino | Web开发者|阅读写作爱好者 利于java选手系统刷的Leetcode-Hot-100题解 | Nino | Web开发者|阅读写作爱好者 2024年8月初写过的无聊的诗 | Nino | Web开发者|阅读写作爱好者 暂无 | Nino | Web开发者|阅读写作爱好者 阅读他人文学,对我的写作帮助 | Nino | Web开发者|阅读写作爱好者 惯常的一个晚上 | Nino | Web开发者|阅读写作爱好者 2024年7月中后写过的无聊的诗 | Nino | Web开发者|阅读写作爱好者 2024年6月至7月初写过的无聊的诗 | Nino | Web开发者|阅读写作爱好者 2024年5月至6月写过的无聊的诗 | Nino | Web开发者|阅读写作爱好者 我在雨中散步 | Nino | Web开发者|阅读写作爱好者 摘抄《面纱》-(英)毛姆 | Nino | Web开发者|阅读写作爱好者 Space Oddity | Nino | Web开发者|阅读写作爱好者 写过的一些无聊的诗 | Nino | Web开发者|阅读写作爱好者 《道德经》-(春秋)老子-度阴山(译) | Nino | Web开发者|阅读写作爱好者 过年前关于外国人的小感悟 | Nino | Web开发者|阅读写作爱好者 面试过程 | Nino | Web开发者|阅读写作爱好者 程序员知识脑 | Nino | Web开发者|阅读写作爱好者 2024所有碎片 | Nino | Web开发者|阅读写作爱好者 碎片-归档 | Nino | Web开发者|阅读写作爱好者 What Was I Made For | Nino 《这本书能让你戒烟》-(英)亚伦·卡尔 | Nino | Web开发者|阅读写作爱好者 过往年份首页归档 | Nino | Web开发者|阅读写作爱好者 2023的结束和2024的开始 | Nino | Web开发者|阅读写作爱好者 《山音》-(日)川端康成 | Nino | Web开发者|阅读写作爱好者 归零 | Nino | Web开发者|阅读写作爱好者 2023上半年小结 | Nino | Web开发者|阅读写作爱好者 泪和抑郁 | Nino | Web开发者|阅读写作爱好者 摘抄-《西西弗神话》 | Nino | Web开发者|阅读写作爱好者 招聘信息 | Nino | Web开发者|阅读写作爱好者 中文字/词语/成语解释 | Nino | Web开发者|阅读写作爱好者 常见英文缩写解释 | Nino | Web开发者|阅读写作爱好者 hexo | A4支持资源压缩部署加速网站访问 | Nino hexo | A4支持生成RSS订阅文件 | Nino hexo | A4支持生成sitemap站点地图 | Nino hexo | A4支持markdown脚标便捷显示 | Nino hexo | A4支持emojis语法 | Nino hexo | A4颜色搭配推荐 | Nino hexo | A4支持文章密码访问 | Nino hexo | A4支持数学公式渲染 | Nino 测试加密文章 | Nino | Web开发者|阅读写作爱好者 系统性 leetcode 刷题记录 | Nino 银阁寺 | Nino | Web开发者|阅读写作爱好者 我对人工智能的思考-公元2023年 | Nino | Web开发者|阅读写作爱好者 利于搭建国内网站的免费CDN加速github和npm方式 | Nino | Web开发者|阅读写作爱好者 植物有思想吗? | Nino | Web开发者|阅读写作爱好者 一些片段 | Nino | Web开发者|阅读写作爱好者 hexo | hexo底层json数据内容 | Nino 这个世界真的能消灭贫困吗? | Nino | Web开发者|阅读写作爱好者 手把手教你搭建轻型个人网站(0)——前言 | Nino | Web开发者|阅读写作爱好者 我的快捷键逻辑-myKeyboardShortcuts | Nino | Web开发者|阅读写作爱好者 我的博客网站写作工作流(一) | Nino | Web开发者|阅读写作爱好者 2023所有碎片 | Nino | Web开发者|阅读写作爱好者 流水账-歌曲对我的影响 | Nino | Web开发者|阅读写作爱好者 关于心中的美:《金阁寺》-(日)三岛由纪夫 | Nino | Web开发者|阅读写作爱好者 断舍离后的平白记忆 | Nino | Web开发者|阅读写作爱好者 《被讨厌的勇气》-(日)岸见一郎,古贺史健 | Nino | Web开发者|阅读写作爱好者 演算法 | Nino | Web开发者|阅读写作爱好者 又是一年情人节 | Nino | Web开发者|阅读写作爱好者 摘抄《不同颜色的悲伤》-(日)若松英辅 | Nino | Web开发者|阅读写作爱好者 摘抄《献给阿尔吉侬的花束》-(美)丹尼尔·凯斯 | Nino | Web开发者|阅读写作爱好者 海浪翻涌之前 | Nino | Web开发者|阅读写作爱好者 尽可能地尝试直到达到自己的目的 | Nino | Web开发者|阅读写作爱好者 小炒肉 | Nino | Web开发者|阅读写作爱好者 《鸟人》 | Nino | Web开发者|阅读写作爱好者 小孩遭遇 | Nino | Web开发者|阅读写作爱好者 明月,愿温柔穿戴于你 | Nino | Web开发者|阅读写作爱好者 正确认识自我状态,像真正的成人一样-《蛤蟆先生去看心理医生》 | Nino | Web开发者|阅读写作爱好者 1频词 | Nino | Web开发者|阅读写作爱好者 谢谢你,红色的河 | Nino | Web开发者|阅读写作爱好者 《哥儿》夏目漱石:由读后感延伸到自我思辩 | Nino | Web开发者|阅读写作爱好者
我的博客网站写作工作流(二)Hexo&GithubAction | Nino | Web开发者|阅读写作爱好者
2023-05-02 · via Nino

这是真正意义上,在github上编写md文章。提交后啥也不用管,自动发布。


以上文字是我在github网页上创建了新的md文章,提交后,啥也不用管,自动就更新到我的网站!也就是真正意义上的,只要有网络,我就可以写文章,而之前要更新hexo博客网站,就必须携带电脑敲代码。

甚至,就算是在电脑上本地写文章,也不需要再执行hexo clean&&hexo deploy,等待hexo编译网站源代码,命令行打出一长串的生成信息。只需要将所有的代码push到github仓库,网站自动就会更新。

强烈推荐该种方法。

看以下教程时,注意有的步骤与我的博客网站写作工作流(一)区分。

背景

我在github上建好了两个仓库: 私有的 website 仓库公开的 github pages 仓库

我的网站是通过本地hexo加载自己做的博客网站主题hexo-theme-A4(已开源),生成静态页面,发布代码到 github pages仓库 ,再用vercel容器拉取 github pages代码 进行部署,使得允许互联网的访问。所以当 github pages仓库 任何的改动,vercel都会拉取最新的代码进行自动网站部署更新。

以上是我的博客网站写作工作流(一)的描述。现在是直接将本地hexo网站项目(举例我的文件夹名website)目录下所有数据,推送到github上的website仓库。

私有的 website仓库 : 网站真正意义上的源代码

公有的 github pages仓库 : 只存储源代码生成后的静态页面

网页上进行网站的写作过程描述💯

举例说今天我想写篇文章:

  1. 打开浏览器,点击保存的书签,跳转到我github上的website仓库(虽然是私有仓库,但是我自己能访问)

  2. 在website仓库里的/source/_post文件夹下创建一个markdown文件,直接在github页面进行该markdown文件写作

  3. 注意:hexo对markdown文件的front-matter有一些必须的参数(title、date必须),在写文章正文前添加如下信息

    1
    2
    3
    4
    5
    6
    7
    ---
    title: 这里写你想要展示的文章标题 (必要)
    date: YYYY-MM-DD HH:mm (必要)
    tags: [自定义1, 自定义2, 等等]
    categories: [自定义]
    comment: false
    ---
  4. 注意:检查github上新建的文章,文件后缀是否为.md

  5. 写作完毕,提交commit保存

以上步骤即完成了网站文章的更新。且自己在写作过程中,只需要专注于写作这件事,不会涉及到其他东西(诸如本地数据存储,上传,部署到网站等等)。

明白了新增一篇文章,那么去修改网站任意页面的内容相信你也一通百通了。

之后Github会自动进行的操作

当我们在github网页完成文章的新增或者修改后,提交commit。github会自动帮我们运行一些本来我们在本地执行的命令(如hexo generate、hexo deploy),将website仓库,即网站的源码,自动生成网站所有的最新静态页面,推送到 github pages仓库。vercel再自动拉取 github pages仓库的代码数据,完成部署网站。

如何做到-Github Action

以上是整个流程。最关键的一步,是“github识别到website仓库有更新,会去自动生成静态页面,推送到github pages仓库” 这一操作。实际上用到的就是Github Action服务。

以下为配置步骤:

再次提醒咱们已有的仓库

私有的 website 仓库 :网站真正意义上的源代码,存放hexo项目

公开的 github pages 仓库 :将只会存储源代码生成后的静态页面

在本地先生成一对密钥

这对密钥将使得 website仓库,能够访问到 github pages 仓库。

在本地电脑任意路径执行命令(你需要git环境):

1
ssh-keygen -f github-deploy-key

当前目录下会有 github-deploy-keygithub-deploy-key.pub 两个文件。

网页上分别配置这对密钥给两个仓库

配置website仓库

复制 本地刚生成的其中一个密钥github-deploy-key 文件的内容,在 website 仓库 Settings -> Secrets -> Add a new secret 页面上添加。

  1. Name 输入框填写 HEXO_DEPLOY_PRI
  2. Value 输入框填写 github-deploy-key 文件内容。

配置github pages仓库

复制 本地刚生成的其中一个密钥 github-deploy-key.pub 文件内容,在 github pages 仓库 Settings -> Deploy keys -> Add deploy key 页面上添加。

  1. Title 输入框填写 HEXO_DEPLOY_PUB
  2. Key 输入框填写 github-deploy-key.pub 文件内容。
  3. 勾选 Allow write access 选项。

正式编写Github Actions

来到 website 仓库,点击Action标签,点击页面上的 New workflow -> set up a workflow yourself ,复制以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65

name: CI自动部署

on:
push:
branches: [main]


jobs:
hexo-deployment:
runs-on: ubuntu-latest
env:
TZ: Asia/Shanghai



steps:
- name: 0.恢复文章修改时间
run: |
find source/_posts -name '*.md' | while read file; do touch -d "$(git log -1 --format="@%ct" "$file")" "$file"; done

- name: 1.checkout分支
uses: actions/checkout@v2
with:
fetch-depth: 0



- name: 2.node环境安装
uses: actions/setup-node@v1
with:
node-version: '12.x'

- name: 3.缓存 Hexo 模块,提高构建速度
uses: actions/cache@v3
id: cache
with:
path: node_modules
key: ${{runner.OS}}-${{hashFiles('**/package-lock.json')}}

- name: 4.安装依赖
if: steps.cache.outputs.cache-hit != 'true'
run: |
npm install --save

- name: 5.服务器验证
env:
ACTION_DEPLOY_KEY: ${{ secrets.HEXO_DEPLOY_PRI }}
run: |
sudo timedatectl set-timezone "Asia/Shanghai"
mkdir -p ~/.ssh/
echo "$ACTION_DEPLOY_KEY" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan github.com >> ~/.ssh/known_hosts # 填写服务器IP(如果是自建Git仓库则填写相应的服务器IP)

- name: 6.三连操作部署
env:
GIT_NAME: 填你自己的
GIT_EMAIL: 填你自己的
run: |
git config --global user.name ${GIT_NAME} # GitHub用户名
git config --global user.email ${GIT_EMAIL} # GitHub用户名邮箱
git ls-files -z | while read -d '' path; do touch -d $(git log -1 --format="@%ct" "$path") "$path"; done
cp _config.a4.yml themes/A4/_config.yml
npx hexo clean && npx hexo g && npx hexo deploy

注意根据其中的注释,有的参数改为你的相关参数。

其实这个配置文件就是告诉Github,我监测当前仓库的哪个分支变动,然后将会推送给哪个仓库的哪个分支,这个过程中我要用什么样的机器,在这个机器上执行哪些指令。

完成以上过后保存即可。

建议此时,本地在 website目录下 执行 git pull,拉取下最新代码。以后只要你在本地,push代码到website仓库,那么Github Action都会执行配置文件里的命令自动帮你部署至 github pages仓库。

自然,你在Github网页上直接新增/修改 website仓库的任何内容,只要一commit,也都会自动执行 Github Action。

ps:该配置文件,我找了好久,自己调试了很多次,做了一些修改,才运行成功,如果你遇到了什么问题,可在下方评论区留言。

2024.09.26更新说明

因为hexo更新到了v1.9.6,新增了最近更新功能,但是CI场景下,hexo的最近更新时间发生错误,所以需要调整你的Github Action文件,上面的文件内容已做更改,下面摘录出来,主要是新增了以下内容解决文章更新时间问题:

1
2
3
4
5
6
7
8
9

- name: 0.恢复文章修改时间
run: |
find source/_posts -name '*.md' | while read file; do touch -d "$(git log -1 --format="@%ct" "$file")" "$file"; done



with:
fetch-depth: 0

ps:如果无法解决,请尝试google/百度搜索:“CI hexo 更新时间错误”,有很多案例可供你参考