Article
zh
为 Astro 添加中英文混排插入空格和直角引号转换功能
Source: Dort 的博客 ·
本文由DeepSeek V4 Flash 0731赞助播出,感谢梁圣开源。 <!--more--> 书接上回,我在Hexo中习惯用 hexo-filter-copywriting 解决中英文混排的空格问题,以及弯引号到直角引号的自动转换。但是Astro中没有这么方便的插件,只能让蓝色大肥鱼DeepSeek帮忙手搓一个。 DeepSeek给出了两种方案:将 pangu.js 挂载到 Layout.astro 中,在客户端渲染完成后进行转换,另一种则是写一个 Astro integration,在 astro:build:done 钩子里处理 HTML,并直接写入最终的HTML文件。对于 dev 预览模式,则再创建一个中间件进行客户端处理。这种方式比较类似于hexo-filter-copywriting插件原本的体验,本博客最终也是采用了这个处理方式。 首先安装所需依赖: pnpm add pangu cheerio 然后创建核心处理文件 src/utils/pangu-utils.ts : import pangu from 'pangu'; import * as cheerio from 'cheerio'; // 中文基本区范围和全角标点范围 const CJK = '\\u4E00-\\u9FFF'; const CJK_PUNCT = '\\u3000-\\u303F\\u
More like this
-
失去了太阳。
Article · 夜旅者
-
百事可乐上的冰块。
Article · 夜旅者
-
回忆里那道木门插销后面,是深深的恐惧。
Article · 夜旅者
-
操场上的冰坑和被口水涂亮的指甲。
Article · 夜旅者
-
秋日小记。
Article · 夜旅者
-
人类无法预料自己会为什么流泪。
Article · 夜旅者