如何计算你的五行属性

想研究五行取名,发现天干地支的计算还挺复杂的。花了不少时间把年柱月柱日柱时柱的计算逻辑搞清楚了,还写了个小工具可以直接查询。想给孩子取名的朋友可以试试。

字幕截图生成器

在知乎看到有人用罗翔老师的截图做"假名言"觉得挺好玩,于是自己写了个字幕截图生成器。上传图片、输入文案,一键生成名人名言截图。代码开源,拿去玩吧 😄

“山寨版”《草料二维码》

想把二维码做得好看一点?我参考草料二维码的风格,给 qrcode-with-logos 做了个大升级,现在支持自定义码眼码点颜色和形状了。效果是真的好看,不信你扫一个试试。

颜色选择器原理

颜色选择器看起来简单,但背后的 HSV/HSL 转换原理挺有意思的。我花了一个周末实现了自己的颜色选择器,从色相条到颜色面板再到颜色值转换,每一步都写清楚了。前端同学可以看看,面试可能会问到哦。

何为 package-lock.json ?

本地能跑线上却报错?我也被这个问题折磨过,最后发现是 package-lock.json 被删了。这篇文章把 package-lock.json 的原理和常见的坑都讲清楚了,看完记得不要再随便删它了。

Sass 升级之旅

从 Ruby Sass 到 node-sass 再到 dart-sass,Sass 的这三次进化我都经历过。每次升级都是一次阵痛,但回头看都是值得的。如果你还在用 node-sass,这篇也许能帮你下定决心迁移。

关于 babel polyfill 那些事

babel 的三种 polyfill 方案我全都试了一遍,全量引入、按需引入、运行时导入,各自的优缺点和适用场景都踩过坑了。如果你也在纠结该用哪种方式,不妨看看我的总结。

Vue 模板编译原理(一)

Vue 的模板编译原理一直让我很好奇,索性自己动手手写了一个简易的 AST 解析器。从正则匹配标签到递归构建语法树,一步步实现下来,对 Vue 的理解深了不少。分享给同样对底层原理感兴趣的同学。

Vue 多语言转化工具——vue-i18n-transform

当几百个 Vue 文件需要国际化时,一个一个改是不可能的。于是我写了个 Node 插件自动把中文替换成 i18n 变量,后来又写了个 VSCode 插件支持右键一键转化和还原。如果你也在做国际化改造,这两个工具或许能帮你省下大把时间。

typescript 配置文件 tsconfig.json 详解

tsconfig.json 里那么多配置项,你真的每个都搞懂了吗?我从顶层配置到 compilerOptions 的常用选项都梳理了一遍,还总结了一个实用的配置模板。前端同学可以收藏起来,写 TypeScript 项目时直接参考。