文章列表
共 38 篇。第 1 / 3 页。
更快地初始化 Shiki 代码高亮
Shiki 作为热门的代码高亮库,通过 rehype 插件使用时由于默认情况下需要加载所有主题和语言定义,导致初始化的性能不太能被接受。本文简单分享一些在本网站中使用的按需加载 Shiki 资源的思路。
在 Markdown 中使用 React 组件
我想在我的 Markdown 博客文章中嵌入一些简单的 React 组件——想做到很容易,想做好却并不简单。
Rust TUI 事件处理:从 TEA 到组件化
最近用 Rust 开发了一个 TUI 程序,对于 TUI 中的事件处理有了一些心得,写篇文章分享一下。
主要内容包括:
- TUI 程序的基本运行模型
- TEA 架构:一种优雅的事件处理模式
- 组件化带来的事件处理新挑战
- 如何构建多页面 TUI 程序
Astro (Vite) 中将字体作为 ArrayBuffer 导入
这些天正在折腾自动生成 OG Image,会需要把字体作为 ArrayBuffer(或者 Node.js 的 Buffer)导入的情况。尝试了一番,在 Vite 中终于找到了一个我认为还不错的解决方案。
SVG 签名动画初探
发现 Anthony Fu 写的这篇 Animated SVG Logo,可以通过 SVG 和 CSS 动画实现动态的签名效果;后来又看到了 Innei/Shiro 主题用了这样的签名效果来在版权卡片上面签名,感觉很有意思,于是自己把两者结合,用 Anthony 的方法制作了图标,实现了 Innei 中图标的功能……
Debounce 与 Throttle:作用和区别
lodash 和其他很多工具库(比如 VueUse)都有 debounce(防抖)和 throttle(节流)的概念。简单(且有点不严谨)地讲,如果事件一直被触发,debounce 之后在最后停下来之后处理它,而 throttle 会每隔一段固定时间去处理它。
把 S3 ( R2 / OSS / COS ... ) 作为图床使用的图片管理方案
最近,成功的把我的图床搬迁到了 Cloudflare 的 R2 上,并写了个类似图床前端的管理工具。R2 是一个兼容 S3 协议的服务,因此,如果你有兴趣使用 Cloudflare R2 / Amazon S3 / 阿里云 OSS / 腾讯云 COS 来托管你的图片,我编写的这些工具对你也有用。关于为什么迁移到 S3,请看 为什么用 S3 这个小标题,希望你看后也能考虑一下。
macOS 文件夹本地化(中文名称)Big Sur 之后的解决方案
macOS 中的文件本地化有两种实现方式:一种是一些系统文件夹采用的,比如“文稿”,“桌面”;还有就是以普通用户权限就可以创建的本地化。而在 Big Sur 及之后版本的系统中,即使关闭 SIP,sudo 也不再有权更改 system 文件,因此只能通过第二种方法进行本地化了。
Caddy —— 轻松换掉你的 Nginx
更方便地导入微软 TTS 听书:阅读、爱阅书香、源阅读(Azure 官方/试用接口)
Certbot Docker Cloudflare 获取 wildcard 域名证书
certbot 居然官方推荐使用 snap,不能忍;看了不少教程,大多是直接通过交互式页面获取的;有少部分通过 dns-cloudflare 插件搞的,也是用的 Python。但是 Python 的软件包和版本管理是在是一团糨糊,所以还是用官方给的 docker 镜像来跑吧。
本文通过 dns-cloudflare 插件来自动获取证书,不需要停止 Nginx 以让 certbot 监听 80/443 端口,而且可以很轻松的获取 *.yfi.moe 这类 wildcard 证书(因为用的是 DNS challenge)。
Linux 的 PPPoE 拨号连接以及 ip-up 脚本(Debian 版)
虽然 PPPoE - Debian Wiki 给的还是用 pppoeconf 这个包来配置,但是其实它最近一次功能性更新是在 2014 年(Commits · master · Debian / pppoeconf · GitLab),不过也还能用。