Choose Theme

Shortcuts: ⌘ ⇧ P
↑↓ Navigate • Enter Confirm • Esc Close
🖥️ System
🌻 Latte
🦭 Nord
🐻‍❄️ Nord Night
🌺 Macchiato
🌿 Mocha
🏙 Tokyo Night

Use Shiki StyleToClass Transformer

Shiki 作为比较流行的代码高亮工具,提供比 highlight.js更准确的代码高亮效果;以 console.log("hello")为例,Shiki 高亮器按照代码语义将其拆分为 6 部分;其被 <span>标签包裹,标签的内联样式中可能有 color,font-style等属性以及一些 CSS 变量[1],用于实现颜色[2]以及字体[3]多主题适配

JS
const code = await codeToHtml('console.log("hello")', {  lang: "javascript",  themes: { light: "min-light", dark: "nord" },});

上面的示例输出中,HTML 体积尚可接受,一是代码量很小,此外是仅应用了 min-lightnord 两种主题,且这两个主题仅在实例代码中嵌入了 color 属性以及 --shiki-dark 变量;

当这些条件不满足时,输出的 HTML 体积会大幅增加。例如个人博客中包含一些长代码片段,同时应用了 catppuccin-latte, catppuccin-mocha, tokyo-night, nord, tokyo-night 5 种主题,输出的 HTML 就略显臃肿;下文将记录如何使用 styleToClass Transformer 来优化 Shiki 高亮器的输出。

使用Shiki高亮行内代码

于25/11/20和25/11/21期间开发了 markdown-it-inline-code 项目,用于高亮行内代码。本文包括效果预览使用方法,以及部分开发历程

先展示一下预览效果

MD
- **Plain**: `printf("Hello, World")`- **Python**: `{python} print("Hello, World")`- **JavaScript**: `{javascript} console.log("Hello, World")`- **HTML**: `{html} <h1>Hello, World!</h1>`- **Rust** `{rust} fn main() { println!("Hello, World!"); }`- **Shell**: `{shell} echo "Hello, World!"`
网站Dark Mode&多配色主题开发lqip
FOSS Music Player: MPD, MPC, and RMPClqip
Tmux Floating Panelqip
VSCode Status Bar Ricinglqip
VSCode VIM Part I - EasyMotionlqip
GoWalllqip

GoWall

GoWall是一个非常有用的工具,可以帮助你将图片转换为特定的Color Scheme / Palette,支持多种图像处理功能
Spotify Ricing(Spicetify)lqip

Spotify Ricing(Spicetify)

🤖 Transform your Spotify client with custom themes and extensions using Spicetify. This guide walks you through installing Spicetify CLI and Marketplace on Windows, Linux, and MacOS, helping you personalize your music streaming experience with beautiful themes and powerful add-ons. Elevate your desktop aesthetics with minimal effort!
VSCode Ricinglqip

VSCode Ricing

VSCode可以在settings.json进行高度自定义,社区也提供很多主题相关的扩展。但官方提供的接口有限,进一步自定义就需要借助插件来实现。本文主要记录对VSCode的个性化定制。