;

文章列表

共 38 篇。第 1 / 3 页。

更快地初始化 Shiki 代码高亮

Shiki 作为热门的代码高亮库,通过 rehype 插件使用时由于默认情况下需要加载所有主题和语言定义,导致初始化的性能不太能被接受。本文简单分享一些在本网站中使用的按需加载 Shiki 资源的思路。

在 Markdown 中使用 React 组件

我想在我的 Markdown 博客文章中嵌入一些简单的 React 组件——想做到很容易,想做好却并不简单。

Rust TUI 事件处理:从 TEA 到组件化

2025-06-02

最近用 Rust 开发了一个 TUI 程序,对于 TUI 中的事件处理有了一些心得,写篇文章分享一下。

主要内容包括:

  1. TUI 程序的基本运行模型
  2. TEA 架构:一种优雅的事件处理模式
  3. 组件化带来的事件处理新挑战
  4. 如何构建多页面 TUI 程序

Astro (Vite) 中将字体作为 ArrayBuffer 导入

2024-12-09

这些天正在折腾自动生成 OG Image,会需要把字体作为 ArrayBuffer(或者 Node.js 的 Buffer)导入的情况。尝试了一番,在 Vite 中终于找到了一个我认为还不错的解决方案。

Deploy with Workers 按钮使用指南

为开发者和使用者而写的指南。需要使用该按钮的用户请看 使用 一节,需要设置该按钮的开发者请看 开发 一节。

SVG 签名动画初探

发现 Anthony Fu 写的这篇 Animated SVG Logo,可以通过 SVG 和 CSS 动画实现动态的签名效果;后来又看到了 Innei/Shiro 主题用了这样的签名效果来在版权卡片上面签名,感觉很有意思,于是自己把两者结合,用 Anthony 的方法制作了图标,实现了 Innei 中图标的功能……

Debounce 与 Throttle:作用和区别

2024-07-17

lodash 和其他很多工具库(比如 VueUse)都有 debounce(防抖)和 throttle(节流)的概念。简单(且有点不严谨)地讲,如果事件一直被触发,debounce 之后在最后停下来之后处理它,而 throttle 会每隔一段固定时间去处理它。

把 S3 ( R2 / OSS / COS ... ) 作为图床使用的图片管理方案

最近,成功的把我的图床搬迁到了 Cloudflare 的 R2 上,并写了个类似图床前端的管理工具。R2 是一个兼容 S3 协议的服务,因此,如果你有兴趣使用 Cloudflare R2 / Amazon S3 / 阿里云 OSS / 腾讯云 COS 来托管你的图片,我编写的这些工具对你也有用。关于为什么迁移到 S3,请看 为什么用 S3 这个小标题,希望你看后也能考虑一下。

Conda 对你的 shell 做了什么?shell 相关部分的配置指南

Conda 对你的 Shell 做了什么,从而让你可以使用 activate、deactivate 等命令?

从顶向下,本文先说管理环境时最常用的命令 activate 是如何作用于 shell 环境的;然后看一看在 shell 的初始化阶段,conda 命令和它的环境是如何准备就绪的;了解了以上内容,自然而然就会配置 shell 以使用 conda 了(操作很简单,但是原理还是有些复杂的)。

pyenv 与 conda 双轨制:管理 Python 版本和环境

Python 的版本与环境管理可以说是世界上最复杂的事情之一,让多个版本的 Python 和各种 conda 版本共存于同一台计算机实在一个难题。我的解决方案是用 pyenv 管理普通 Python 的版本;同时使用 Anaconda,但是只有用到它时再 activate。

macOS 文件夹本地化(中文名称)Big Sur 之后的解决方案

macOS 中的文件本地化有两种实现方式:一种是一些系统文件夹采用的,比如“文稿”,“桌面”;还有就是以普通用户权限就可以创建的本地化。而在 Big Sur 及之后版本的系统中,即使关闭 SIP,sudo 也不再有权更改 system 文件,因此只能通过第二种方法进行本地化了。

Caddy —— 轻松换掉你的 Nginx

如果你的需求只是托管一个静态站点/反代一个端口(包括负载均衡)/重定向一个网址之类,完全可以用 Caddy 轻松换掉复杂的 Nginx。

更方便地导入微软 TTS 听书:阅读、爱阅书香、源阅读(Azure 官方/试用接口)

原本本文是对于一个使用试用接口听书的教程,不幸的是现在试用接口失效了,所以又添加了如何方便的导入微软官方 TTS 来听书的教程内容。

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),不过也还能用。