现代 CSS 切换主题方式探索

最近重构了博客系统,其中涉及到主题切换的方案,于是就有了这次的分享。 示例图片 UnoCSS 方案 使用 CSS 变量配合 UnoCSS 插件注入的方式完成主题切换功能。 具体来说,我们的主题有三种模式: 跟随系统; 浅色; 深色。 其中,用户手动选择的模式会覆盖系统跟随模式。 一个比较容易想到的方...

现代 CSS 切换主题方式探索 - 图片 1
现代 CSS 切换主题方式探索 - 图片 2

如何为 Typora 添加图床?

其实自己一直不是 Typora 的重度用户,虽然可以实时预览编辑,但是我期待的格式化功能目前还是缺失。 但是得益于颜值自己还是会偶尔使用它,但是本地的 md 文件和发布到掘金和 Github 等平台还需要对本地链接一个个转换,实在是非常不友好。所以就有了这篇文章,介绍一下在 Typora 中如何自定...

如何为 Typora 添加图床? - 图片 1
如何为 Typora 添加图床? - 图片 2
如何为 Typora 添加图床? - 图片 3

优雅传递 postMessage

在最近开发的过程中遇到了一个问题,在集成 Vue SFC Playground 的时候同时也使用了 monaco-editor,而 Vue SFC Playground 使用的默认编辑器就是 monaco-editor-core。 image 这就导致了一个问题,存在两个编辑器,但是它们都定义了全局...

优雅传递 postMessage - 图片 1
优雅传递 postMessage - 图片 2
优雅传递 postMessage - 图片 3
从 VueCLI 迁移到 Rsbuild

从 VueCLI 迁移到 Rsbuild

决定迁移的原因主要有两点: 对 Node 22 支持不友好。由于项目基于 VueCLI 3,Node 版本的诸多变更导致无法启动,必须通过 nvm 切换到 16 版本。 构建和热更新速度慢。 在决定使用 Rsbuild 之后,我也进行了一番调研,备选方案有四个: Webpack+SWC 或 Webp...

花了一天我写了这样一个 Prettier 插件

spacexcode-coverview-5241@2x Prettier 在日常经常使用,除了格式化代码之外在编写文档的时候也会选择使用,但是最近安装 Prettier 到项目依赖之后发现 md 文件的格式化文档竟然失效了。 排查了一番原因,最终在 GitHub 上找到了相关讨论 Markdown...

花了一天我写了这样一个 Prettier 插件 - 图片 1
花了一天我写了这样一个 Prettier 插件 - 图片 2
花了一天我写了这样一个 Prettier 插件 - 图片 3

从 Vue 构建模块你可以学到什么?

spacexcode-coverview-2527@2x 最近在给公司内部低代码平台进行升级,原本是单一仓库,里面有各种模块,例如: utils view-render form-render fetch form-design ... 它们最终给其他产品线使用的时候是通过 Vue Cli 打包成一...

从 Vue 构建模块你可以学到什么? - 图片 1
从 Vue 构建模块你可以学到什么? - 图片 2
React RSC

React RSC

React RSC 最近 React 19 已经属于测试版本了,里面更新了很多功能,其中就包含今天要说的 RSC。你可能在某个框架(如 Next.js 或 Remix)中已经使用过了对它有了一定的理解,但不确定它的使用方式,或者你很想知道它到底是什么。 在本文中,主要是分享 React 服务器组件(...

如何处理 loading 闪烁

如何处理 loading 闪烁

8049f458-b600-429c-99fc-115002d30588 图片来源于踏青随手一拍 考虑一个场景,在使用 userequest hooks 的时候经常会返回 {data, loading, error} 结构,为了交互更好,通常会对 loading 字段做一些处理,例如在小程序中可能会...

如何处理时区

如何处理时区

bg 这个问题可能在日常中不太可能遇到,但是在处理一些国际化的项目中可能会涉及。例如当你浏览一些推特或者国外的论坛,它们会标记所在的时区是什么,在什么时候发布。 考虑一个真实的场景,如果你要定时发布一个文章,可能希望在 12 月 11 日的 12 点发布,采用纽约时间,但是因为你所在中国可能并没有考...

Next.js 构建博客之自动构建

image.png Next.js 构建博客之资源抓取 Next.js 构建博客之博客搭建 Next.js 构建博客之打包 SSG Next.js 构建博客之常见问题处理 Next.js 构建博客之功能拓展 Next.js 构建博客之自动构建 这是 Next.js 构建博客的第六篇文章,上一篇文章 ...

Next.js 构建博客之自动构建 - 图片 1
Next.js 构建博客之自动构建 - 图片 2
Next.js 构建博客之自动构建 - 图片 3

Next.js 构建博客之功能拓展

image.png Next.js 构建博客之资源抓取 Next.js 构建博客之博客搭建 Next.js 构建博客之打包 SSG Next.js 构建博客之常见问题处理 Next.js 构建博客之功能拓展 Next.js 构建博客之自动构建 这是 Next.js 构建博客的第五篇文章,上一篇文章 ...

Next.js 构建博客之功能拓展 - 图片 1
Next.js 构建博客之功能拓展 - 图片 2

Next.js 构建博客之常见问题处理

image.png Next.js 构建博客之资源抓取 Next.js 构建博客之博客搭建 Next.js 构建博客之打包 SSG Next.js 构建博客之常见问题处理 Next.js 构建博客之功能拓展 Next.js 构建博客之自动构建 这是 Next.js 构建博客的第四篇文章,上一篇文章 ...

Next.js 构建博客之常见问题处理 - 图片 1
Next.js 构建博客之常见问题处理 - 图片 2

Next.js 构建博客之打包SSG

image.png Next.js 构建博客之资源抓取 Next.js 构建博客之博客搭建 Next.js 构建博客之打包 SSG Next.js 构建博客之常见问题处理 Next.js 构建博客之功能拓展 Next.js 构建博客之自动构建 这是 Next.js 构建博客的第三篇文章,上一篇文章 ...

Next.js 构建博客之打包SSG - 图片 1
Next.js 构建博客之打包SSG - 图片 2
Next.js 构建博客之打包SSG - 图片 3

Next.js 构建博客之博客搭建

image.png Next.js 构建博客之资源抓取 Next.js 构建博客之博客搭建 Next.js 构建博客之打包 SSG Next.js 构建博客之常见问题处理 Next.js 构建博客之功能拓展 Next.js 构建博客之自动构建 在上一篇 Next.js 构建博客之资源抓取 介绍了如何...

Next.js 构建博客之博客搭建 - 图片 1
Next.js 构建博客之博客搭建 - 图片 2
Next.js 构建博客之博客搭建 - 图片 3

Next.js 构建博客之资源抓取

image.png Next.js 构建博客之资源抓取 Next.js 构建博客之博客搭建 Next.js 构建博客之打包 SSG Next.js 构建博客之常见问题处理 Next.js 构建博客之功能拓展 Next.js 构建博客之自动构建 这是 Next.js 搭建博客的第一章,整个系列会详细介...

Next.js 构建博客之资源抓取  - 图片 1
Next.js 构建博客之资源抓取  - 图片 2
Next.js 构建博客之资源抓取  - 图片 3