type
Post
status
Published
date
Apr 10, 2023
slug
migrate-blog-to-notion
summary
博客迁移记录
category
技术分享
tags
Notion
创建时间
Apr 9, 2023 06:39 PM
更新时间
Jul 10, 2023 01:15 PM
password
icon
Why Notion ?
这是我第三次进行博客的迁移了!
原本的博客是基于语雀 云端书写 + 语雀 webhook + 自建Node API服务 + yuqe-hexo-with-cdn + Hexo + Github Actions 持续集成部署到腾讯云COS静态网站上。
本人接触Notion有一段时间了,但是一直没怎么用起来,原因有三
- 当时以为没有中文
- 语雀的写作舒适感要更好一点
- 还没感受到Notion的强大
在用了2年时间语雀之后,语雀的产品策略越来越离谱,各种收费割韭菜。再加上之前一段时间开发 Elog 对接语雀和 Notion 的 Api 时,发现 Notion 原来这么好用。
- Notion 的 Properties 天然对Api很友好。再也不用在语雀的文章头部手动添加 Front-Matter。
- Notion 的筛选和排序对于统一分类管理文章很方便
🏬 Github Actions持续集成 Docker构建并部署Node项目到云服务器


type
Post
status
Published
date
Jul 16, 2022
slug
ovugli
summary
本文介绍了如何使用 Github Actions 持续集成 Docker 构建并部署 Node 项目到云服务器。具体流程包括搭建 Node 服务、开通腾讯云容器镜像服务、配置 Github Actions、编写 workflows 流程、连接云服务器、配置 DockerFile 等。最终实现推送代码到 master 分支自动部署项目。
category
技术分享
tags
Docker
CI/CD
Node
Github Actions
创建时间
Apr 7, 2023 07:15 PM
更新时间
May 31, 2023 04:23 PM
password
icon
引言
在之前的文章语雀云端写作 Hexo+Github Actions+COS 持续集成 中,语雀
webhook
触发构建的流程如下:
而当时腾讯云函数对个人使用还是在一定条件下免费的,本着能白嫖就白嫖的心态就用它做中转服务调用了。结果从上个月开始,腾讯云函数涨价了,而且费用也不便宜,我看了下账单,一个月差不多要快 10 块钱了,这我可忍不了。 所以就打算自己搭建一个
node
服务,自己调用Github Actions
的API
触发构建。流程如下:
部署流程

搭建 Node 服务
搭建记录请看Midway 项目搭建
开通腾讯云容器镜像服务(可选)
目前腾讯云容器镜像服务对个人还是免费的,我就先用这个,不免费了再说。也可以直接推送到
Docker Hub
🏢 利用github actions自动化发布npm
type
Post
status
Published
date
Jun 23, 2022
slug
qzmpp5
summary
本文介绍了如何使用Github Actions自动化发布npm包,以及如何打造一个同时导出cjs和esm的npm包。文章详细介绍了配置文件的目录结构和关键参数,以及自动化发布的具体步骤。
category
技术分享
tags
Github Actions
Node
创建时间
Apr 7, 2023 07:15 PM
更新时间
May 31, 2023 04:23 PM
password
icon
引言
这篇文章我其实最想解决的是【如何简单快速打造一个能同时导出
cjs
和esm
的npm
包】。在看了网上的各种教程,都没我想要的。要么就是利用rollup
来构建,但是配置问题和兼容性问题又很棘手。最后是在看了typedi的代码仓库,发现很适合我,就借鉴过来了。 因为我的npm
包是在node
端使用的,所以只需要cjs
和 esm类型
的包就行,而ts-node
就刚刚好能满足我的需求,所以我也没有使用其他构建工具。配置
目录
项目关键文件如下:
node-agile-client |--.github | |--workflows | | |--cd.yml |--build | |--cjs | | |--index.js | |--esm5 | | |--index.js | |--types | | |--index.d.ts | |--package.json |--src | |--index.ts |--package.json |--tsconfig.json |--tsconfig.esm5.json |--tsconfig.cjs.json |--tsconfig.types.json
- .github:github actions 配置文件
- build:文件夹是打包后的产物,也是发不到 npm 上的文件夹,仓库 src 的文件是不会上传到 npm 的
- cjs:CommonJS 模块的代码
- esm5:ES Modules 模块的代码
- types:类型声明文件
🎇 为开源社区做贡献-开发AgileConfig的NodeJS客户端:node-agile-client
type
Post
status
Published
date
Apr 28, 2022
slug
wqx8a7
summary
该文档介绍了如何使用node-agile-client为开源社区做贡献,开发AgileConfig的NodeJS客户端。该客户端包括了异步获取agile配置、从缓存中获取agile配置、从服务端获取配置并写入缓存、同步获取Agile配置等功能。通过该客户端,可以轻松获取到Agile配置。
category
技术分享
tags
Node
创建时间
Apr 7, 2023 07:15 PM
更新时间
May 31, 2023 04:23 PM
password
icon
引言
其实一开始没打算要搞这玩意儿的,事情的起因还得从我同事开始说起。 同事利用空余时间,开发了一款表情包小程序和 App,里面有各种表情包可以下载,挺有意思,我也推荐了其他朋友使用。
然后我就琢磨着也搞个什么玩玩,前几天想到了一个点子,准备着手开发
Node
服务端时,想到有一些连接参数、可配置参数、账号密码什么的我又不想写死在代码里。因为公司用的是Apollo
,一些可配置的参数是放在Apollo
来管理的。再加上我问了下我同事,他的项目就是把这些东西写死在代码里的,他也觉得如果有一个配置中心来管理这些的话会方便很多。 但是
Apollo
过于复杂了,对于我这种小项目是有点过了,于是在Github
搜索一圈之后,偶然发现了AgileConfig这个轻量级的配置中心,但可惜的是只有C#
的客户端,其他语言的客户端都没有。于是我就抱着试一试的想法加了这个项目的 QQ 群,果然还没有人开发nodejs
的客户端。 于是我的兴趣就来了,由于我以前有Java
语言的基础,所以C#
的代码勉强能读懂,所以结合着C#
的客户端和与群主的交流,终于开发出了一个相对稳定的nodejs
客户端:node-agile-client 就此分享下我的开发过程和源码逻辑。
开始
配置中心听起来很高大上,其实说白了就是一个在线的数据库,客户端可以通过
http
请求去获取某个应用在某个环境下的JSON
配置。所以我要做的就是通过http
请求拿数据就完事,就是如此简单。当然配置中心最核心的不只是能分应用分环境地存储数据,高可用也是其必不可少的能力。所以配置中心一般都是多节点分布式部署,客户端的代码大部分代码逻辑也是围绕着高可用去实现。
基础工作原理流程图
于是我就构思了node-agile-client的基础工作原理流程图:
📅 程序员必备——Mac效率工具Alfred Workflows配置


type
Post
status
Published
date
Apr 19, 2022
slug
rm057k
summary
Alfred YYDS
category
技术分享
tags
Alfred
效率工具
创建时间
Apr 7, 2023 07:15 PM
更新时间
Apr 10, 2023 05:04 AM
password
icon
引言
最近发现
Alfred
简直不要太好用,快速打开网址功能(Web Search)在工作中使用起来行云流水,再也不用去一堆标签中寻找常用的网址。
但是在项目开发过程中,经常需要打开或运行各种项目,所以需要经常使
iTerm
或者IDE
进入到各种项目文件夹中。在VSCode
中,大家经常会使用code
命令打开项目,再配合环境变量的别名设置,使用起来很方便。但是!我是忠诚的WebStorm
党派,每次打开项目都得先打开应用然后找到需要打开的项目(不过后来发现,WebStorm
其实也有命令行启动器,效果也一样)。但是这么做也有一个痛点,就是需要事先配置环境变量的别名才能做到快速打开。 最近一琢磨,可以利用Aflfed
的Workflows
功能去尝试一下,于是真被我搞出来了,这里记录一下。开始
Open in WebStorm
用
WebStrom
打开项目。通过code
命令打开指定目录下的文件夹,快速打开项目。效果如下:
运行流程
