1. Markdown 与 MDX 功能对比矩阵
| 功能特性 | 标准 Markdown | Shirone MDX | 执行模式 |
|---|---|---|---|
| 排版与基础结构 | 完整支持 | 完整支持 | 静态 SSR |
| 代码块高亮 | 行号、边框、折叠 | 行号、边框、折叠 | Expressive Code 静态 SSR |
| 图表与数学公式 | Mermaid, KaTeX | Mermaid, KaTeX | 客户端动态增强 |
| 提示块 | Note, Tip, Important, Warning, Caution | Note, Tip, Important, Warning, Caution | 静态 SSR |
| M3E 展示原子组件 | 不支持 | 直接集成 | 纯 SSR |
| Svelte 5 响应式孤岛 | 不支持 | 按需动态水合 | client:visible 懒加载水合 |
| 反馈与加载原子 | 不支持 | 形状形变动画 | client:visible 响应式运行 |
| 动态 JSX 表达式 | 不支持 | 原生计算求值 | 编译期或客户端动态求值 |
2. 动态表达式与数据映射
MDX 允许在文件顶部使用 export const 声明作用域常量,这些常量可以直接内联求值或在模板中循环映射:
- 核心框架:Astro 7
- UI 引擎:Svelte 5
- 设计令牌:M3E 设计令牌
- 架构模式:孤岛架构
数组与集合数据可以动态渲染为网格布局:
在正文中直接导入并渲染 60 多个 M3E 原子与分子组件
通过 client:visible 按需水合,确保零多余 JavaScript 开销
原生 JavaScript 变量、数据映射与条件渲染
Mermaid、KaTeX、提示块与 Expressive Code 统一编译
3. M3E 展示与布局基础组件
遵循 Shirone 的组件架构,无状态展示组件直接输出干净、无障碍的语义化 HTML,不产生任何客户端运行时载荷。
3.1 卡片容器
3.2 强调条与徽章
将 AccentBar 与 Badge 结合使用可构建醒目的视觉提示
3.3 骨架屏占位
用于预览布局骨架或模拟异步加载状态:
4. 反馈与加载指示器
Shirone 具备高还原度的 Material 3 Expressive 动效与反馈原子:
4.1 多边形形变加载器
基于多边形平滑插值算法实现,带来平滑的 7 形状弹簧插值过渡动画:
4.2 线性与不定态进度条
5. 交互式 Svelte 5 孤岛
声明为 client:visible 的组件在进入可视视口时,会通过 IntersectionObserver 进行懒加载水合:
5.1 按钮矩阵
5.2 过滤标签与分段按钮
5.3 开关、复选框与滑块
5.4 输入框组件
6. Markdown 扩展兼容性
Shirone 的统一插件管道完整保留了对所有 Markdown 扩展特性的兼容:
6.1 GitHub 仓库卡片
6.2 Mermaid 架构图
flowchart TD
MDX[MDX 源码入口] --> Compiler["@astrojs/mdx 编译器"]
Compiler --> Plugins["Remark 与 Rehype 处理管道"]
Plugins --> Islands["Svelte 5 交互式孤岛"]
Islands --> Swup["Swup 客户端路由 Shell"]
Swup --> Screen["M3E 表现力文章视图"]6.3 数学公式排版
行内公式:质能等价方程 与高斯积分 。
块级公式:
7. 总结
MDX 的深度集成使技术创作者能够构建丰富交互的文档与文章,同时保持极佳的静态加载性能。所有组件均遵循 Material 3 Expressive 令牌设计系统,确保全站风格的一致性、无障碍体验与视觉美感。
分享文章
生成精美分享图或复制链接,与更多人分享本文。
继续阅读
换条路线
从其他文章中稳定抽取
最后更新于 ,距今已过 13 天
部分内容可能已过时