静态站点生成器(SSG)与主题内容格式全景指南
在现代静态站点生成器(SSG)与独立博客主题工程中,文章内容格式的解析与呈现能力直接决定了创作者的表达边界与读者的阅读体验。
本篇指南结合主流 SSG 生态(Hugo、Jekyll、Eleventy、Astro、Pelican、Hexo、WordPress、VitePress 等)的内容规范,建立起一套覆盖 基础 Markup、扩展文档语言、WordPress Post Formats、交互式下拉框切换器、手风琴折叠、LaTeX 数学公式、Mermaid 图表及加密解密特异功能 的全景体系,并提供即插即用的活体渲染示范。
一、主流静态站点生成器(SSG)内容格式支持与生态汇总
不同的静态站点生成器在内容解析架构上有不同的选型哲学。下表系统汇总了主流引擎对各种格式的原生与扩展支持情况:
| 静态站点生成器 / 平台 | 核心解析引擎 | 原生内置支持格式 | 扩展 / 外部工具支持格式 | Front Matter 序列化支持 |
|---|---|---|---|---|
| Hugo | Goldmark (Go) | .md (CommonMark/GFM), .html, .org (Org-mode) | .adoc (Asciidoctor), .rst (rst2html), .pdc (Pandoc) | YAML (---), TOML (+++), JSON ({}) |
| Astro (本博客架构) | Vite + Unified/Remark + MDX | .md (GFM), .mdx (JSX), .html, .astro 组件 | 可挂载 AST Loader 扩展 Org/AsciiDoc/RST | YAML, TOML, JSON |
| Jekyll | Kramdown (Ruby) | .md (Kramdown/GFM), .html | .textile (Textile 插件) | YAML |
| Eleventy (11ty) | JavaScript 模板管道 | .md, .html, .liquid, .njk, .ejs, .webc | MDX (插件), 自定义 Template 扩展 | YAML, JSON, JS/11tydata |
| Hexo | Marked / Hexo-Renderer | .md (GFM), .html, EJS/Pug 模板 | Org-mode / Pandoc (插件支持) | YAML, JSON |
| Pelican | Python Docutils | .md (Markdown), .rst (reStructuredText) | .asciidoc (Asciidoctor) | YAML, Markdown Metadata |
| WordPress (Headless/Theme) | Gutenberg Block Engine | HTML5 Blocks, Shortcodes, Post Formats | Classic Editor HTML | JSON 块元数据 / Post Meta |
| VitePress / Docusaurus | Markdown-It / MDX | .md, .mdx, Vue/React 组件 | 自定义容器语法 (::: tip) | YAML |
[!NOTE] 生态架构洞察:Hugo 凭借 Go 语言的高并发原生支持了 Markdown 与 Org-mode;而以 Astro 为代表的现代前端 SSG,则凭借 MDX 与组件化群岛(Islands)能力,实现了将动态交互 UI(如本文演示的下拉框切换器、密码弹窗、黑胶唱片)无缝嵌入正文的终极灵活性。
二、Front Matter 序列化格式支持规范
博客文章头部的元数据(Front Matter)决定了文章的路由、标题、时间、分类、封面及受保护状态。本主题支持全部主流序列化模式:
1. YAML 格式(最广泛使用,推荐默认)
---
title: "文章标题"
pubDate: 2026-08-28
author: "shijianus"
tags: ["Astro", "Markdown"]
featured: true
postFormat: "aside"
---
2. TOML 格式(Hugo 常用)
+++
title = "文章标题"
pubDate = 2026-08-28T00:00:00Z
author = "shijianus"
tags = ["Astro", "Markdown"]
featured = true
+++
3. JSON 格式(API 驱动与 Headless 场景)
{
"title": "文章标题",
"pubDate": "2026-08-28T00:00:00.000Z",
"author": "shijianus",
"tags": ["Astro", "Markdown"],
"featured": true
}
三、特殊轻量 Markup 与非 Markdown 格式对比及迁移对照
在不同技术栈中,作者可能使用除 Markdown 外的其他轻量标记语言。以下提供主流格式的语法特性及在本主题中的等价呈现:
1. AsciiDoc (.adoc / .asciidoc)
AsciiDoc 常见于技术书籍与长篇工程手册,拥有极其丰富的提示块与属性系统:
// AsciiDoc 源码语法
= AsciiDoc 技术规范
:author: shijianus
:toc: macro
[NOTE]
====
这是一条 AsciiDoc 风格的注意卡片。
====
[cols="1,2,1", options="header"]
|===
| 模块 | 描述 | 状态
| 核心引擎 | Astro 6 静态管线 | 已就绪
|===
本主题中的 Markdown / MDX 等效写法:
[!NOTE] 这是一条在 Astro 主题中原生渲染的等效注意卡片,样式与交互完全对齐。
| 模块 | 描述 | 状态 |
|---|---|---|
| 核心引擎 | Astro 6 静态管线 | 已就绪 |
2. Emacs Org-Mode (.org)
Org-mode 是 Emacs 用户进行知识管理、任务跟踪与文档编写的强大工具:
#+TITLE: Emacs Org-Mode 实践笔记
#+DATE: 2026-08-28
#+TAGS: Emacs OrgMode
* TODO 第一阶段:Markdown 扫描增强 [1/2]
- [X] 修复表格与移动端溢出
- [ ] 补全 Org-mode 语法转换器
#+BEGIN_QUOTE
“Org-mode 不仅是格式,更是一种可执行的思维工作流。”
#+END_QUOTE
本主题中的标准静态 GFM 任务清单呈现(只读状态):
- 修复表格与移动端溢出
- 补全 Org-mode 语法转换器
[!QUOTE] “Org-mode 不仅是格式,更是一种可执行的思维工作流。”
可交互式任务清单与联动进度条(Interactive Tutorial Checklist & Chained Progression)
在技术教程、实战演练与部署指南中,传统的只读 [ ] 任务清单无法直观交互与记忆。本主题特别增设了支持实时勾选与连锁状态联动的可交互清单(.article-task-tracker)。读者每勾选一项,动态进度条将实时重新计算百分比,当全部关键步骤确认完毕后,还将自动连锁解锁下游就绪指令,非常适合用作教程的通关检查表:
-
确认当前工作树干净,备份 Hash 记录至开发审计日志。
-
设置
BLOG_BUILD_TARGET=static与 Node.js 20+ 运行时环境。 -
确保所有音频与视频单文件体积严格控制在 25MB 以内,满足 CDN 部署规范。
-
验证 PC 端与移动端多分辨率下所有富媒体卡片与交互组件排版正常。
请依次完成上方清单中打勾的每个步骤;当所有任务完成后,此处将实时连锁解锁生产发布指令。
3. reStructuredText (.rst)
reStructuredText 是 Python 社区(如 Sphinx、ReadTheDocs)的标准文档格式:
.. reStructuredText 源码语法
.. note::
这是一条 RST 指令定义的 Note 块。
.. code-block:: python
:linenos:
def greet(name: str) -> str:
return f"Hello, {name}!"
本主题中的 Markdown 等效呈现:
[!NOTE] 这是在 Astro 中以 GitHub Alert 规范呈现的 RST Note 等价卡片。
def greet(name: str) -> str:
return f"Hello, {name}!"
4. Textile 语法
Textile 是老牌轻量级标记语言(常见于 Redmine 与早期 Jekyll 博客):
h2. 章节标题
bq. 这是 Textile 引用块内容。
*列表项 1*
_斜体强调文本_
四、WordPress 风格文章形态(Post Formats)全量实装与视觉呈现
WordPress 主题生态中经典的 Post Formats 机制允许博客针对不同类型的内容展现专属的视觉形态。我们在本主题正文栏中完整实现了这 9 种形态:
1. aside(轻语 / 便签 / 随笔卡片)
适合记录短小的思考灵感、备忘提醒或临时笔记:
💡 随笔备忘:静态站点的真正价值不在于炫技,而在于交付极速、零服务端维护负担的纯粹阅读体验。即便经过五年、十年,生成的 HTML 文件依然可以完美打开。
2. status(状态动态 / 碎碎念 / 微语录)
类似 Twitter/微博风格的即时状态发布卡片,包含作者头像、客户端标识与心情标签:
今天终于完成了博客主内容栏的全部格式扩展与视觉重构!从 KaTeX、Mermaid 到交互式下拉框与黑胶唱片,全栈静态交付的感觉太棒了 🚀✨
3. quote(精选引言 / 名言大卡片)
用于展现极具分量的人物语录、设计箴言或金句:
4. gallery(图片画廊 / 自适应相册与拍立得网格)
支持多列自适应响应式网格与具有人文质感的拍立得相纸卡片,点击任意图片均可触发全屏灯箱放大:
2 列与 3 列自适应画廊
拍立得相纸画廊(Polaroid Style)
5. video(自适应视频播放卡片)
支持 16:9 响应式比例、圆角边框与底栏说明,单行独占一个完整横位展示。兼容 Bilibili、YouTube 外部代理式嵌入及站内原生 MP4(单文件均控制在 25MB 以内,满足 Cloudflare Pages 静态部署规范):
外部视频内嵌(Bilibili & YouTube 连结代理式嵌入 · 默认需读者翻到此处并点击开始播放)
站内原生 MP4 视频内嵌(Native HTML5 Video Player · 支持倍速与画中画 · 默认禁用下载)
6. audio(黑胶唱片旋转音乐卡片)
内置 HTML5 音频控制器,并在播放时自动触发黑胶唱片无级平滑旋转动效。所有唱片封面均采用真实匹配的官方高清专辑封面,支持多种主流音频格式(无损 FLAC、高码率 MP3、AAC/M4A),且已内置反爬与防下载保护:
① Shaun - Way Back Home(FLAC 无损音频格式 · 24.55MB)
② ヨルシカ (Yorushika) - 彼女は旅に出る(MP3 320Kbps 高清格式 · 8.41MB)
③ すこっぷ feat. 初音ミク - アイロニ(M4A / AAC 格式 · 7.63MB)
7. link(外部链接与书签预览卡片 / Bookmark Preview)
为文章内的关键参考出处提供优雅的卡片化预览:
EpoCanvas(時代画布)是一套专注于高密度信息呈现、优雅微交互与全格式支持的现代化极客博客内容架构系统。
8. chat(聊天气泡对话流 / Organic Animated Dialogue Stream)
用于生动演示技术答辩、双人对话讨论或用户采访场景,支持左右气泡、行内代码、自定义配色以及动态内容自适应打字动效、Web Audio 合成音效与动态头像(footer_mini_logo__media):
- 静态模式(默认):
<div class="article-chat">保持轻量纯静态呈现,零 JS 开销; - 开启动态演示(参数控制):配置
data-animate="true"(或class="article-chat is-animated"),系统将在读者第一次滚动滑入该视口时自动触发基于字符长度与自然随机律决定的拟真时序打字动画与左右专属提示音; - 非机械动态时序(Content-Length Aware Timing):系统根据发言长短智能决定打字中指示器时长(短句 380ms 闪烁发出,长技术段落 1000ms+ 打字思考),并在气泡间加入符合人类阅读判断的自然停顿与微频音效抖动;
- 动态视频头像支援(
footer_mini_logo__media):头像支持嵌入 MP4 微视频动效与静态兜底海报; - 单次触发与重载保障:首次滑入触发后自动锁定,后续反复滚动不会重复触发打扰阅读;只有当用户刷新网页(F5)重新加载时才会重新就绪;同时提供右上角「↺ 重播」与「🔊/🔇 音效切换」微控栏。
KaTeX 和 Mermaid 的静态渲染会不会拖慢前端页面加载速度?
remark-math 和 rehype-katex 在构建期(Build-time)就已经把公式编译成了纯 HTML/MathML 字符串,浏览器端 0 JS 运行时负担;而 Mermaid 图表也是动态按需异步加载 ESM 模块,首屏极其轻快!⚡
五、特殊的下拉框格式与动态交互组件(Dropdown Selectors & Interactive Formats)
针对用户明确要求的特殊下拉框格式,我们在文章正文层提供了纯客户端即时响应的下拉选择器组件:
1. 多框架与多代码版本下拉切换器(Interactive Dropdown Switcher)
读者可以在下拉框中自由选择技术框架,正文面板将实时无刷新切换对应的内容与代码:
import { useState } from 'react';
export function Counter() {
const [count, setCount] = useState(0);
return (
<button onClick={() => setCount((c) => c + 1)} className="btn-primary">
React 点击计数:{count}
</button>
);
}
<script setup lang="ts">
import { ref } from 'vue';
const count = ref(0);
</script>
<template>
<button @click="count++" class="btn-primary">
Vue 点击计数:{{ count }}
</button>
</template>
---
const { title = "Astro 极速群岛" } = Astro.props;
---
<div class="astro-island">
<h3>{title}</h3>
<p>默认交付 0KB JavaScript,按需注水交互!</p>
</div>
<script lang="ts">
let count = $state(0);
</script>
<button onclick={() => count++} class="btn-primary">
Svelte 点击计数:{count}
</button>
2. 交互式多品类通用单位换算器(Universal Interactive Unit Converter · 基准下拉切换与实时汇率)
支持用户在输入框中自由输入任意基数数值(默认值为 1,支持增减步进器与一键重置),并在不同品类(质量重量、国际汇率、数据存储、网络带宽、长度尺寸)之间即时无缝换算:
- 动态可切换换算基准(Base Unit Dropdown):输入框右侧的基准单位支持下拉自由选择(例如在质量中可选择
kg、g、lb、斤、oz、t等;在汇率中可选择USD、HKD、CNY、EUR、JPY、GBP等)。选择任一基准单位后,目标换算网格将智能自动排除当前基准单位(彻底杜绝 1kg=1kg 冗余卡片),并以当前基准为分母即时重算所有目标单位; - 真实汇率波动联网接入(Live Forex API):切换至「💱 国际汇率」时,系统将自动异步请求服务端
/api/exchange-rate并回退公共实时汇率接口,获取各大主流货币的最新实时牌价(右上角显示🟢 实时联网汇率已同步);在未联网或断网离线时自动无缝回退至内置基准比例(显示⚪ 离线基准汇率),确保“实时”真正实时且离线体验坚如磐石; - 通用 API 便捷调用:系统同时在全局暴露了
window.shijianusAPI.fetchExchangeRates(base)辅助函数,方便文档内的任何自定义脚本即时调用实时牌价数据; - 快捷一键复制与等式推算:每个换算卡片均提供一键复制按钮与高亮反馈,底部同步展示动态等式链推算摘要。
3. 规格参数与视频编码下拉推算器(Interactive Spec Calc Dropdown)
选择不同选项时,右侧实时显示对应的技术指标与换算说明:
六、手风琴折叠、选项卡与多栏排版(Collapsibles, Tabs & Columns)
1. 互斥手风琴折叠组(Exclusive Accordion Group · 展开单项自动闭合其余项)
配置 data-single="true"。展开其中一项时,同组内的其他展开项将自动联动收起,保持页面整洁聚焦:
🔒 1. 静态站点的安全性优势
静态站点没有传统的 PHP/Node.js 动态执行引擎和暴露在公网的 SQL 数据库,从物理层面免疫了 SQL 注入与服务端远程代码执行(RCE)风险。
⚡ 2. 全球 CDN 边缘加速交付
通过将编译产物部署至 Cloudflare Pages 或 GitHub Pages,所有静态资源可在全球 300+ 边缘节点缓存,首字节响应时间(TTFB)通常低于 20ms。
💰 3. 极低的云服务托管成本
静态站点无需全天候运行昂贵的 VPS 云服务器,配合免费层级的 Cloudflare D1 数据库与 Serverless 评论系统,日常运营成本近乎为零。
2. 非互斥独立手风琴折叠组(Multi-Expand / Non-Exclusive Accordion Group · 允许多项同时展开)
配置 data-single="false"(或默认多开模式)。读者可以自由展开多个或全部折叠项进行横向比对与深度阅读,不会因为展开新项目而关闭已开启的内容:
🛠️ 架构模块 A:Markdown AST 语法编译器流水线
基于 Unified、Remark-math 与 Rehype-katex 架构,在编译构建阶段将 Markdown 语法树完全静态转化为标准语义 HTML 节点,并在 Node.js 端完成高亮和公式生成。
🎨 架构模块 B:EpoCanvas 动态视觉引擎与响应式系统
提供极光背景(Aurora)、星空视差(Starfield)、毛玻璃拟态(Glassmorphism)与多端响应式断点适配,无论在 4K 宽屏还是折叠屏手机上均呈现一致的美学体验。
🛡️ 架构模块 C:WebCrypto SHA-256 分级安全隔离体系
内置 1 级会话持久解锁、2 级防窥动态多态遮罩(高斯模糊/马赛克/剧透遮罩)、3 级视口哨兵离开即锁以及外联 URL 分片加密方案,彻底杜绝密码明文在 DOM 中的暴露。
3. 多标签选项卡(Interactive Tabs)
pnpm add @astrojs/mdx remark-math rehype-katex katex mermaid
npm install @astrojs/mdx remark-math rehype-katex katex mermaid
yarn add @astrojs/mdx remark-math rehype-katex katex mermaid
bun add @astrojs/mdx remark-math rehype-katex katex mermaid
4. 多栏网格布局系统(Multi-Column Grid)
3 列等宽卡片网格
🎨 视觉体系
深度吸收 EpoCanvas 现代极客设计美学,支持明暗高对比、毛玻璃背景与平滑色彩过渡。
⚡ 性能工程
Astro 6 静态群岛架构,构建期 HTML 预渲染,纯静态极致 SEO 优化。
🛠️ 扩展生态
全面支持 KaTeX 公式、Mermaid 图表、加密弹窗与 9 种 Post Formats。
1:2 不均等侧边栏网格
📌 架构定位
专注于极客与工程师的现代化技术写作载体。
🚀 交付保障
内建完善的自动化烟测与静态构建验证机制,无论公式、图表还是复杂卡片,都能确保在全设备上严丝合缝呈现。
七、13 种语义告示框(Admonitions / GitHub Alerts)
基于 GitHub Alert 与 EpoCanvas 设计规范,支持 13 种不同语义的彩色卡片,并支持使用 [!TYPE]- 语法实现默认折叠:
[!NOTE] 常规备注(Note):这是一条标准的背景信息或上下文说明。
[!TIP] 实用技巧(Tip):使用快捷键 Ctrl + K 可以快速唤起全局文章搜索面板!
[!IMPORTANT] 重要事项(Important):在部署生产环境前,请确认
BLOG_BUILD_TARGET=static环境变量已正确注入。
[!WARNING] 风险警告(Warning):请勿在公开 Git 仓库中提交生产数据库密钥或云服务私钥。
[!CAUTION] 危险警示(Caution):执行数据表重建操作具有破坏性,请先备份 D1 数据库!
[!DANGER] 致命危险(Danger):直接删除生产数据库将导致全部评论与用户资产永久损毁。
[!SUCCESS] 操作成功(Success):静态构建流程已成功完成,所有 47 个静态路由已就绪!
[!QUESTION] 疑难探讨(Question):如何在无服务端依赖的环境下实现毫秒级的纯客户端全文检索?
[!QUOTE] 精选引用(Quote):“优秀的代码不仅能被机器执行,更能像诗歌一样优雅地向人类传达思想。”
[!INFO] 详细信息(Info):本博客基于 Astro 6 与 Tailwind 4 构建,全站纯静态导出。
[!TODO] 待办计划(Todo):计划在下一迭代中引入 WebAssembly 客户端全文检索索引。
[!BUG] 缺陷记录(Bug):已修复旧版在极端窄屏设备下表格横向截断的排版问题。
[!EXAMPLE] 范例说明(Example):以上所有告示框均自动适配深色与浅色模式的高对比度色彩。
折叠式告示框演示
[!TIP]- 点击展开查看:生产环境 Nginx 极速缓存配置参考
location ~* \.(?:css|js|woff2?|svg|png|jpg|webp)$ { expires 1y; add_header Cache-Control "public, immutable"; access_log off; }
八、学术数学公式(KaTeX)、架构图表(Mermaid 11)与动态思维导图(Markmap)
在展示型与示例型技术文档中,以 「实际渲染效果 + 对应源码对照」(双标签选项卡 Tabs)为核心呈现理念,不仅能让读者直观体验最终视觉与交互特性,更能方便开发者一键参考、复制并迁移至实际项目中。
1. LaTeX 数学公式(KaTeX Math · 行内与块级多行推导)
行内公式(Inline Formula)
质能方程 E=mc2,欧拉恒等式 eiπ+1=0,高斯积分 ∫−∞∞e−x2dx=π。
质能方程 $E = mc^2$,欧拉恒等式 $e^{i\pi} + 1 = 0$,高斯积分 $\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}$。
块级多行推导公式 1:二阶动态系统拉普拉斯变换(Block Math · Single Equation)
$$
\mathcal{L}\{\ddot{x}(t) + 2\zeta\omega_n\dot{x}(t) + \omega_n^2 x(t)\} = X(s)(s^2 + 2\zeta\omega_n s + \omega_n^2)
$$
块级多行推导公式 2:麦克斯韦经典电磁方程组(Block Math · Multi-line Aligned)
$$
\begin{aligned}
\nabla \cdot \mathbf{E} &= \frac{\rho}{\varepsilon_0} \\
\nabla \cdot \mathbf{B} &= 0 \\
\nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \\
\nabla \times \mathbf{B} &= \mu_0 \mathbf{J} + \mu_0 \varepsilon_0 \frac{\partial \mathbf{E}}{\partial t}
\end{aligned}
$$
2. Mermaid 11 架构图表(Flowchart & Sequence · 流程图与时序图)
① 博客加密验证与内容渲染流程图(Flowchart TD)
flowchart TD
A[读者访问文章] --> B{文章是否加密?}
B -- 是 --> C[弹出毛玻璃密码对话框]
C --> D{密码校验}
D -- 正确 --> E[解密并呈现正文]
D -- 错误 --> F[触发窗口震动与红字警示]
F -. 重新输入口令 .-> C
B -- 否 --> E
E --> G[渲染 KaTeX 公式与 Mermaid 图表]
G --> H[呈现完整沉浸式阅读体验]
```mermaid
flowchart TD
A[读者访问文章] --> B{文章是否加密?}
B -- 是 --> C[弹出毛玻璃密码对话框]
C --> D{密码校验}
D -- 正确 --> E[解密并呈现正文]
D -- 错误 --> F[触发窗口震动与红字警示]
F -. 重新输入口令 .-> C
B -- 否 --> E
E --> G[渲染 KaTeX 公式与 Mermaid 图表]
G --> H[呈现完整沉浸式阅读体验]
```
② 客户端安全鉴权与解密时序图(Sequence Diagram)
sequenceDiagram
autonumber
actor User as 读者 (User)
participant Browser as 客户端浏览器
participant PostPage as 文章渲染引擎
participant Security as 加密安全模块
User->>Browser: 点击受保护的加密内容
Browser->>PostPage: 唤起密码输入对话框
User->>Browser: 输入访问密钥
Browser->>Security: 校验口令 Hash
alt 验证成功
Security-->>Browser: 返回解锁令牌
Browser->>PostPage: 解密正文并平滑展示
else 验证失败
Security-->>Browser: 返回密码错误
Browser->>User: 触发窗口摇晃与红字警示
end
```mermaid
sequenceDiagram
autonumber
actor User as 读者 (User)
participant Browser as 客户端浏览器
participant PostPage as 文章渲染引擎
participant Security as 加密安全模块
User->>Browser: 点击受保护的加密内容
Browser->>PostPage: 唤起密码输入对话框
User->>Browser: 输入访问密钥
Browser->>Security: 校验口令 Hash
alt 验证成功
Security-->>Browser: 返回解锁令牌
Browser->>PostPage: 解密正文并平滑展示
else 验证失败
Security-->>Browser: 返回密码错误
Browser->>User: 触发窗口摇晃与红字警示
end
```
3. 动态交互式思维导图(Markmap / Mindmap · 多向分支扩散)
在长篇技术规范与系统架构梳理中,传统的静态列表难以直观呈现复杂的知识脉络。本主题全新实装 Markmap 动态交互式思维导图引擎,在文章主栏(.post.post-page-shell)中实现彻底的原生解析与交互增强:
[!TIP] 多向分支扩散核心规则:
- 默认单块保护空间:默认状态下,思维导图仅展示 1 块核心根节点(Level 1),右侧附带折叠小圆点指示器;
- 点击展开多向分支:点击根节点或任意子节点的小圆点,子分支将平滑向外散开;
- 工具栏全能操控:支持 放大 / 缩小 / 居中自适应 / 一键展开全部 / 一键收起单块 / 全屏沉浸式阅读 / 复制源码;
- 画布拖拽与缩放:按住鼠标左键可自由拖拽平移画布,滚动鼠标滚轮可缩放视野。
活体思维导图呈现:SSG 与主题内容格式生态全景
# 静态站点生成器与全格式内容生态架构
## 1. 静态编译核心流水线
### AST 语法转换管道
#### Markdown / MDX 语义解析流水线
##### Unified / Remark 语法拓展
- GFM 表格与删除线语法转换
- 自动生成 Heading 锚点与 ID
##### Markmap 交互式多向思维导图拓展
- 递归 AST 树构建 (Transformer.transform)
- D3 层次化弹性布局 (Flextree Algorithm)
- 交互式折叠状态机 (payload.fold)
- 动态调色板分支染色 (d3.scaleOrdinal)
##### Rehype Katex 数学公式拓展
- 行内公式与独立块公式解析
- 宏定义支持与错误容错回退
#### 代码高亮与静态着色器
##### Shiki 双主题编译器
- VSCode TextMate 语法规则解析
- 浅色/深色模式双主题预渲染零水合
### 编译器与资源打包
#### Vite 6 极速热重载 (HMR)
##### ESM 原生模块加载
- 毫秒级按需编译与热更新
#### Rollup 静态生成流水线
##### 静态打包优化
- 智能代码分块 (Code Splitting)
- Tree-Shaking 冗余消除
## 2. 动态交互与群岛体系
### 混合组件群岛 Islands
#### 客户端组件分岛挂载
##### React 19 Client Components
- 独立状态隔离与上下文通信
- 会话状态保持 (SessionStorage / Crypto)
##### Astro Server-Side Islands
- 零运行时客户端 JS (Zero-JS by Default)
- 按需激活交互岛屿 (client:visible)
### 现代视觉与动效系统
#### 动态背景与渲染引擎
##### Aurora 极光 / Starfield 星空
- WebGL / Canvas 2D 硬件加速
- 节能模式与视口离开自动暂停
##### 毛玻璃卡片 Glassmorphism 规范
- 动态高斯模糊与多重环境阴影
- 响应式全端自适应布局 (PC / Pad / Mobile)
## 3. 格式全景与特异功能
### 扩展文档规范对照
#### AsciiDoc (.adoc) 原生等效适配
#### Emacs Org-Mode (.org) 任务清单映射
#### reStructuredText (.rst) 指令转换
### 富交互组件集
#### 交互式下拉框切换器 (Dropdown Switcher)
#### 互斥手风琴折叠卡片 (Accordion Groups)
#### 动态黑胶唱片音频播放器 (Vinyl Audio)
### 安全隐私与分级加密
#### WebCrypto SHA-256 哈希校验 (无明文外露)
#### 1级会话持久解锁 (Session Persistent)
#### 2级防窥遮罩切换 (高斯模糊 / 马赛克 / 剧透遮罩)
#### 3级视口防窥离开即锁 (IntersectionObserver)
#### 外联分段解密端点隔离 (Standalone Token)
```mindmap
# 静态站点生成器与全格式内容生态架构
## 1. 静态编译核心流水线
### AST 语法转换管道
#### Markdown / MDX 语义解析流水线
##### Unified / Remark 语法拓展
- GFM 表格与删除线语法转换
- 自动生成 Heading 锚点与 ID
##### Markmap 交互式多向思维导图拓展
- 递归 AST 树构建 (Transformer.transform)
- D3 层次化弹性布局 (Flextree Algorithm)
- 交互式折叠状态机 (payload.fold)
- 动态调色板分支染色 (d3.scaleOrdinal)
##### Rehype Katex 数学公式拓展
- 行内公式与独立块公式解析
- 宏定义支持与错误容错回退
#### 代码高亮与静态着色器
##### Shiki 双主题编译器
- VSCode TextMate 语法规则解析
- 浅色/深色模式双主题预渲染零水合
### 编译器与资源打包
#### Vite 6 极速热重载 (HMR)
##### ESM 原生模块加载
- 毫秒级按需编译与热更新
#### Rollup 静态生成流水线
##### 静态打包优化
- 智能代码分块 (Code Splitting)
- Tree-Shaking 冗余消除
## 2. 动态交互与群岛体系
### 混合组件群岛 Islands
#### 客户端组件分岛挂载
##### React 19 Client Components
- 独立状态隔离与上下文通信
- 会话状态保持 (SessionStorage / Crypto)
##### Astro Server-Side Islands
- 零运行时客户端 JS (Zero-JS by Default)
- 按需激活交互岛屿 (client:visible)
### 现代视觉与动效系统
#### 动态背景与渲染引擎
##### Aurora 极光 / Starfield 星空
- WebGL / Canvas 2D 硬件加速
- 节能模式与视口离开自动暂停
##### 毛玻璃卡片 Glassmorphism 规范
- 动态高斯模糊与多重环境阴影
- 响应式全端自适应布局 (PC / Pad / Mobile)
## 3. 格式全景与特异功能
### 扩展文档规范对照
#### AsciiDoc (.adoc) 原生等效适配
#### Emacs Org-Mode (.org) 任务清单映射
#### reStructuredText (.rst) 指令转换
### 富交互组件集
#### 交互式下拉框切换器 (Dropdown Switcher)
#### 互斥手风琴折叠卡片 (Accordion Groups)
#### 动态黑胶唱片音频播放器 (Vinyl Audio)
### 安全隐私与分级加密
#### WebCrypto SHA-256 哈希校验 (无明文外露)
#### 1级会话持久解锁 (Session Persistent)
#### 2级防窥遮罩切换 (高斯模糊 / 马赛克 / 剧透遮罩)
#### 3级视口防窥离开即锁 (IntersectionObserver)
#### 外联分段解密端点隔离 (Standalone Token)
```
Markdown 编写规范与语法参考
本博客集成的 Mindmap 渲染引擎 基于 AST 递归解析与 D3 Flextree 弹性树布局,原生支持无限层级扩展(Level 1 至 Level N),无任何深度上限限制。作者在编写文章时,可根据知识树的纵深复杂度选择以下书写规范:
1. 混合阶梯语法(推荐 1~6 层骨干 + 无限列表深层衍生)
标准 Markdown 标题支持 6 级深度(# 至 ######),在第 6 级以下可继续通过无序列表项(-、*)配合空格缩进无限向下衍生(Level 7、Level 8、Level 9…):
```mindmap
# Level 1 核心主题 (H1)
## Level 2 领域分支 (H2)
### Level 3 子系统 (H3)
#### Level 4 技术模块 (H4)
##### Level 5 组件单元 (H5)
###### Level 6 算法规范 (H6)
- Level 7 细分执行细节 (List item)
- Level 8 子项参数 (Indent +2 spaces)
- Level 9 底层硬件原语 (Indent +4 spaces)
```
2. 纯列表无限缩进语法(推荐 6 层以上或极深知识树)
如果不需要 Markdown 标题语义,或知识网络层级极深(例如分类树、概念演绎、AST 结构),可直接使用无序列表 - 并通过 2 或 4 个空格缩进表达理论上无限深度的多向分支:
```mindmap
- 🌐 根主题:计算机科学知识图谱 (Level 1)
- 🖥️ 软件系统工程 (Level 2)
- 📦 操作系统与内核 (Level 3)
- ⚙️ 进程与线程调度 (Level 4)
- 🔄 并发同步原语 (Level 5)
- 🔒 互斥锁与信号量 (Level 6)
- ⚡ 硬件级 CAS 原子指令 (Level 7)
- ⏱️ Cache Coherency MESI 协议 (Level 8)
- 🔬 内存屏障与流水线指令重排 (Level 9)
```
3. 内联高级参数控制(可选 JSON 头部)
可在代码块第一行使用单行 JSON 对象定制导图的初态与外观尺寸:
```mindmap
{"initialExpandLevel": 2, "height": "560px", "title": "全栈工程架构全景"}
# 核心主题
## 一级分支 A
### 二级分支 A1
- 细分知识点 1
```
initialExpandLevel:初始展开层级。1为单块根节点折叠保护模式;2为展开至骨干主干;6为全量展开。height:指定画布高度,如"480px"、"600px"(默认"460px")。title:自定义导图 Header 标题文字。
4. 交互特性与视口操作指引
- 点击平滑下钻(Drill-down):点击带有呼吸光晕圆点或文本的节点,即可平滑展开/收起其下级多向分支;
- 一键展开/收起:工具栏提供
⊞(一键展开全部分支)与⊟(一键恢复初始单块); - 自适应居中(Fit View):点击
🎯自动根据当前展开的所有节点计算最佳居中视野; - 全屏沉浸模式:点击
⛶展开至全屏独立画布(按Esc随时退出),获得无限横向探索空间; - 元数据实时感知:Header 栏实时展示当前导图的总节点数与最大深度(例如
53 个节点 · 6 层分支结构)。
九、安全隐私、分级加密(Level 1/2/3)与外联分段解密特异功能
为了彻底杜绝密码明文暴露在 DOM 属性中(如 data-password 易被审查元素窥探),本博客内容系统全面升级为 WebCrypto SHA-256 散列校验(data-hash),并建立起三级文内局部加密与外联分段解密体系:
- 默认安全重置规则(Zero Persistence on Reload):默认情况下,所有加密内容(1级、2级、3级及外联解密门)在页面刷新(F5 / 重新加载)后都会坚决自动重置回上锁状态,彻底避免页面刷新后保持裸露的安全隐患;
- 开放性持久化参数(
data-persist):为了满足特殊文档场景的开放性需求,可通过参数配置覆盖默认重置策略:data-persist="session"(或data-persist="true"):在当前标签页会话期间跨刷新保持解锁;data-persist="local":在本地浏览器存储中持久记忆解锁状态;- 默认未配置:纯内存生命周期,页面刷新立即安全重置上锁。
1. 1级加密:单页基础加密(Level 1 · Default Refresh Reset)
输入一次访问凭证即可解锁阅读正文,默认刷新页面即刻自动重锁;若需跨刷新保持可在标签中加入 data-persist="session":
核心开发环境参数已解锁:
DEPLOY_ENDPOINT:https://api.shijian.us/v2/deploy/coreAUTH_SCOPE:read:articles, write:releases
2. 2级加密:解密后遮罩防窥保护(Level 2 · Mask Protection)
验证成功后内容虽被解密,但默认自动进入高斯模糊防窥遮罩状态(默认不显示切换栏,鼠标悬浮即可清晰查看),有效抵御近距离窥屏。
- 开启工具栏:配置
data-allow-select="true"开启遮罩切换工具栏,工具栏默认同样包含在遮罩内受保护(鼠标悬浮时工具栏与正文一同清晰显露并可点击切换);如需工具栏保持在遮罩外,可配置data-toolbar-masked="false"; - 指定遮罩方式:可通过
data-mask="blur|mosaic|spoiler|reveal"强制指定遮罩模式; - 自定义设置栏:支持在 Markdown 标签中传入
data-mask-options="blur,mosaic"快速定制可选模式,或直接在正文中书写<div class="encrypted-mask-toolbar">结构,系统会自动扫描并激活自定义设置栏; - 刷新重置保障:默认刷新页面后自动重锁。
以下为 2026 年度 EpoCanvas 商业支持预算分配:
- 企业级私有化授权费:¥ 280,000 / 年(含高可用集群与 SLA 保障)
- 边缘 CDN 流量支出:¥ 36,500 / 月
- 专属技术顾问密钥:
sec_corp_epocanvas_key_2026
3. 3级加密:离开视口立即重新上锁(Level 3 · Viewport Auto-Lock)
超高安全级别!不写入任何持久化存储;一旦解密后的内容在滚动中离开当前屏幕视口,或者浏览器标签页切换到后台,系统将瞬间自动重新上锁,再次查看必须重新输入密码:
请注意:此信息仅在当前视口内可见,向下或向上滚动使其离开屏幕将自动上锁:
# 核心节点紧急自毁 / 切换指令
curl -X POST https://cluster.shijian.us/v1/node/failover \
-H "X-Root-Token: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
4. 外联分段加密(External Link Segment Decryption Gate)
在构建期或架构分层时,同一篇文章可以被物理分割为公开正文段与外联受控密文段。创作者可在文末或章节任意位置插入外联解密引导门,验证凭据后动态解密并在此无缝挂载完整后半段正文:
🔐 正文深度章节已外联隔离存放
当前长文在构建阶段启用了**外联分段隔离存储**:前 75% 基础语法与组件说明公开交付;核心企业级工程落地方案与架构推导演示已被加密打包存放。点击下方按钮输入密钥,即可在当前页面实时无缝解密并挂载剩余正文内容。
📦 外联分段解密正文:企业级 SSG 内容工程落地规范
恭喜您成功解锁了本文的外联分段核心内容!在现代大型静态知识库工程中,将高敏感或付费特权内容采用外联分段加密存放,具有以下核心优势:
- 首屏负载极小化:未授权访问者仅拉取基础公开 HTML,网络开销减少 60% 以上;
- 防抓取与防逆向:敏感密文与密钥隔离存储,静态爬虫无法从公开 DOM 中抓取到任何有效数据;
- 无感流式接入:通过客户端 WebCrypto 引擎,读者在当前页面无需页面跳转即可享受无缝展开的连贯阅读体验。
5. 行内高斯模糊、马赛克与剧透隐藏
除了块级加密外,正文行内亦提供丰富的轻量级防窥与趣味遮罩:
- 文字高斯模糊:这是一段被高斯模糊保护的关键剧透文字,鼠标悬浮或点击即可看清!
- 黑幕马赛克:机密数据:SHA256-7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069
- Discord 剧透遮罩:||这是一段使用双竖线包裹的剧透遮罩,点击揭开。||
- 内联隐藏锁:%%这里是使用百分号包裹的内联隐藏内容,点击展开。%%
图片高斯模糊保护
十、时间轴、步骤条、定义列表与数据表格
1. 垂直时间轴(Vertical Timeline)
建立全新 Content Collections 架构与 Shiki 代码高亮管道。
补全 13 种 Admonitions、KaTeX 数学公式与密码弹窗解密系统。
提供从 Hexo/WordPress 到 Astro 的一键无缝内容迁移工具链。
2. 教程步骤条(Tutorial Steps)
编写 Markdown 或 MDX 文章
在 src/content/posts/ 目录下创建 .md 文件,声明 Front Matter 元数据。
自由组合富媒体卡片与交互组件
按需选用下拉框切换器、黑胶音乐卡片、画廊相册或加密解密块。
一键静态编译并秒级发布
执行 npm run build 生成纯静态产物,推送到 Cloudflare CDN 全球加速。
3. 定义列表与规格表(Definition Lists & Specs)
- Astro 群岛 (Islands)
- 将页面拆分为静态 HTML 骨架与独立注水的交互式组件,极大缩减 JavaScript 体积。
- KaTeX 编译器
- 在构建期完成 LaTeX 语法的 AST 解析,零客户端额外渲染延迟。
- Post Formats
- 源自 WordPress 的内容形态定义规范,用于赋予不同文章类型专属的排版外观。
十一、富文本行内微排版美化与徽章
- 多色彩高亮(HTML 标签形式):
- 黄色高亮(重点标注)
- 绿色高亮(成功推荐)
- 蓝色高亮(信息线索)
- 粉色高亮(设计灵感)
- 紫色高亮(深度原理)
- 橙色高亮(操作预警)
- 红色高亮(风险警示)
- 青色高亮(网络协议)
- 快捷语法糖高亮(
==颜色:内容==形式):- ==默认高亮文本(自动黄色)==
- ==green:绿色高亮语法糖(敏捷标记)==
- ==blue:蓝色高亮语法糖(架构要素)==
- ==pink:粉色高亮语法糖(界面美化)==
- ==purple:紫色高亮语法糖(核心算法)==
- 状态徽章(Badges):
- 推荐 (Primary)
- 通过 (Success)
- 注意 (Warning)
- 危险 (Danger)
- 信息 (Info)
- 架构 (Purple)
- 网络 (Cyan)
- 硬件 (Orange)
- 按键展示:Ctrl + Shift + P 打开全局命令调色板。
- 多语言注音与发音标注(Ruby / Multilingual Phonetics):
- 中文汉语拼音(Hanyu Pinyin):時間 · 画布 · 極客
- 中文注音符号(Bopomofo / 台湾注音):時間 · 極客 · 編程
- 日文汉字 + 平假名振假名(Furigana / 訓読・音読):時間 · 明日 · 儚い
- 日文片假名外来语与当て字(Katakana / Loanwords & Ateji):画布 · 電脳 · 宇宙
- 日文熟字训(Jukujikun / 義訓特殊读法):煙草 · 大人 · 今日
- 英文单词 + IPA 国际音标标注(English + IPA Transcription):EpoCanvas · Aesthetics · Chronos
- 法语音标与特殊连诵(French IPA & Special Pronunciation):Rendez-vous · Déjà-vu · C’est la vie
- 德语变音与复合词发音(German Umlaut & Compounds):Zeitgeist · Schadenfreude
- 希腊文与其拉丁转写(Greek + Romanization):Φιλοσοφία · Καλημέρα
- 韩文汉字与谚文注音(Hanja + Hangul):時間 · 極客 · 未來
- 俄语/西里尔字母音标(Russian Cyrillic + IPA):Привет · Спасибо
- 梵文/天城文与 IAST 转写(Sanskrit Devanagari + IAST):नमस्ते · शान्तिः
- 缩写说明:SSG 与 SPA。
- 波浪与虚线下划线:波浪强调下划线 与 虚线注重下划线。
- 行动呼吁按钮(CTA Buttons):
十二、脚注与悬浮气泡(Footnotes)
在学术或长篇技术文章中,脚注是必不可少的引用形式。鼠标悬浮于下方脚注角标即可直接弹出释义气泡1,无需离开当前阅读视口2。
结语:构建面向未来的内容呈现系统
通过本次全量升级与扩展,shijianus-blog 在主内容栏(.article-body.post-content)上实现了对主流 SSG 内容格式、WordPress Post Formats、交互式下拉框、手风琴折叠、LaTeX 公式、Mermaid 图表以及密码加密等特异功能的全景覆盖。
无论是严谨的长篇技术论文,还是轻量的人文生活随笔,每一位创作者都能在这套系统中找到最契合的表达形态!
Footnotes
Umfassender Leitfaden zu Static Site Generatoren (SSG) und Themen-Inhaltsformaten
In modernen Static Site Generatoren (SSG) und der Entwicklung unabhängiger Blog-Themes entscheidet die Fähigkeit zur Analyse und Darstellung von Artikelinhaltsformaten direkt über die Ausdrucksmöglichkeiten des Erstellers und das Leseerlebnis des Lesers.
Dieser Leitfaden kombiniert die Inhaltsspezifikationen gängiger SSG-Ökosysteme (Hugo, Jekyll, Eleventy, Astro, Pelican, Hexo, WordPress, VitePress usw.) und etabliert ein umfassendes System, das grundlegendes Markup, erweiterte Dokumentsprachen, WordPress Post Formats, interaktive Dropdown-Umschalter, Akkordeon-Faltfunktionen, LaTeX-Mathematikformeln, Mermaid-Diagramme sowie spezielle Ver- und Entschlüsselungsfunktionen abdeckt und sofort einsatzbereite Live-Rendering-Demonstrationen bietet.
I. Unterstützung von Inhaltsformaten und Ökosystemübersicht gängiger Static Site Generatoren (SSG)
Verschiedene Static Site Generatoren verfolgen unterschiedliche Philosophien bei der Architektur ihrer Inhaltsanalyse. Die folgende Tabelle fasst systematisch die native und erweiterte Unterstützung verschiedener Formate durch die gängigsten Engines zusammen:
| Static Site Generator / Plattform | Kern-Parsing-Engine | Nativ unterstützte Formate | Erweiterte / Externe Tool-Unterstützung | Front Matter Serialisierungsunterstützung |
|---|---|---|---|---|
| Hugo | Goldmark (Go) | .md (CommonMark/GFM), .html, .org (Org-mode) | .adoc (Asciidoctor), .rst (rst2html), .pdc (Pandoc) | YAML (---), TOML (+++), JSON ({}) |
| Astro (Architektur dieses Blogs) | Vite + Unified/Remark + MDX | .md (GFM), .mdx (JSX), .html, .astro Komponenten | Erweiterung von Org/AsciiDoc/RST über montierbare AST Loader | YAML, TOML, JSON |
| Jekyll | Kramdown (Ruby) | .md (Kramdown/GFM), .html | .textile (Textile Plugin) | YAML |
| Eleventy (11ty) | JavaScript Template-Pipeline | .md, .html, .liquid, .njk, .ejs, .webc | MDX (Plugin), Benutzerdefinierte Template-Erweiterung | YAML, JSON, JS/11tydata |
| Hexo | Marked / Hexo-Renderer | .md (GFM), .html, EJS/Pug Templates | Org-mode / Pandoc (Plugin-Unterstützung) | YAML, JSON |
| Pelican | Python Docutils | .md (Markdown), .rst (reStructuredText) | .asciidoc (Asciidoctor) | YAML, Markdown Metadata |
| WordPress (Headless/Theme) | Gutenberg Block Engine | HTML5 Blocks, Shortcodes, Post Formats | Classic Editor HTML | JSON Block-Metadaten / Post Meta |
| VitePress / Docusaurus | Markdown-It / MDX | .md, .mdx, Vue/React Komponenten | Benutzerdefinierte Container-Syntax (::: tip) | YAML |
[!NOTE] Einblick in die Ökosystem-Architektur: Hugo unterstützt Markdown und Org-mode nativ dank der hohen Parallelität von Go; während moderne Frontend-SSGs, repräsentiert durch Astro, mit ihren MDX- und komponentenbasierten Islands-Fähigkeiten die ultimative Flexibilität erreichen, dynamische interaktive UIs (wie die in diesem Artikel gezeigten Dropdown-Umschalter, Passwort-Popups, Schallplatten) nahtlos in den Haupttext einzubetten.
II. Spezifikation zur Unterstützung von Front Matter Serialisierungsformaten
Die Metadaten (Front Matter) am Anfang eines Blogbeitrags bestimmen die Route, den Titel, die Zeit, die Kategorie, das Titelbild und den Schutzstatus des Artikels. Dieses Theme unterstützt alle gängigen Serialisierungsmodi:
1. YAML-Format (Am weitesten verbreitet, als Standard empfohlen)
---
title: "Artikelüberschrift"
pubDate: 2026-08-28
author: "shijianus"
tags: ["Astro", "Markdown"]
featured: true
postFormat: "aside"
---
2. TOML-Format (Häufig in Hugo verwendet)
+++
title = "Artikelüberschrift"
pubDate = 2026-08-28T00:00:00Z
author = "shijianus"
tags = ["Astro", "Markdown"]
featured = true
+++
3. JSON-Format (API-gesteuerte und Headless-Szenarien)
{
"title": "Artikelüberschrift",
"pubDate": "2026-08-28T00:00:00.000Z",
"author": "shijianus",
"tags": ["Astro", "Markdown"],
"featured": true
}
III. Vergleich und Migrationsreferenz für spezielle leichte Markup- und Nicht-Markdown-Formate
In verschiedenen Technologie-Stacks können Autoren neben Markdown auch andere leichte Auszeichnungssprachen verwenden. Im Folgenden werden die Syntaxmerkmale gängiger Formate und deren äquivalente Darstellung in diesem Theme aufgeführt:
1. AsciiDoc (.adoc / .asciidoc)
AsciiDoc ist häufig in technischen Büchern und langen technischen Handbüchern zu finden und verfügt über ein äußerst reichhaltiges System von Hinweisblöcken und Attributen:
// AsciiDoc Quellcode-Syntax
= AsciiDoc Technische Spezifikation
:author: shijianus
:toc: macro
[NOTE]
====
Dies ist eine Notizkarte im AsciiDoc-Stil.
====
[cols="1,2,1", options="header"]
|===
| Modul | Beschreibung | Status
| Kern-Engine | Astro 6 Statische Pipeline | Bereit
|===
Äquivalente Markdown / MDX Schreibweise in diesem Theme:
[!NOTE] Dies ist eine äquivalente Notizkarte, die nativ im Astro-Theme gerendert wird, wobei Stil und Interaktion vollständig übereinstimmen.
| Modul | Beschreibung | Status |
|---|---|---|
| Kern-Engine | Astro 6 Statische Pipeline | Bereit |
2. Emacs Org-Mode (.org)
Org-mode ist ein leistungsstarkes Werkzeug für Emacs-Benutzer zur Wissensverwaltung, Aufgabenverfolgung und Dokumentenerstellung:
#+TITLE: Emacs Org-Mode Praxisnotizen
#+DATE: 2026-08-28
#+TAGS: Emacs OrgMode
* TODO Phase Eins: Markdown-Scan-Verbesserung [1/2]
- [X] Tabellen- und Mobilgeräte-Überlauf beheben
- [ ] Org-mode Syntax-Konverter vervollständigen
#+BEGIN_QUOTE
„Org-mode ist nicht nur ein Format, sondern ein ausführbarer Denk-Workflow.“
#+END_QUOTE
Standardmäßige statische GFM-Aufgabenlisten-Darstellung in diesem Thema (schreibgeschützt):
- Tabellen- und Mobilgeräte-Überlauf beheben
- Org-mode Syntax-Konverter vervollständigen
[!QUOTE] „Org-mode ist nicht nur ein Format, sondern ein ausführbarer Denk-Workflow.“
Interaktive Tutorial-Checkliste & verketteter Fortschritt (Interactive Tutorial Checklist & Chained Progression)
In technischen Tutorials, praktischen Übungen und Bereitstellungsanleitungen sind herkömmliche schreibgeschützte [ ] Aufgabenlisten nicht intuitiv interaktiv oder einprägsam. Dieses Thema bietet eine spezielle interaktive Checkliste (.article-task-tracker), die Echtzeit-Häkchen und verknüpfte Statusaktualisierungen unterstützt. Jedes Mal, wenn der Leser einen Punkt abhakt, berechnet der dynamische Fortschrittsbalken den Prozentsatz in Echtzeit neu, und wenn alle wichtigen Schritte bestätigt sind, werden nachfolgende Bereitschaftsanweisungen automatisch freigeschaltet, was sich hervorragend als Abschluss-Checkliste für Tutorials eignet:
-
Bestätigen, dass der aktuelle Arbeitsbaum sauber ist, und den Backup-Hash im Entwicklungs-Audit-Log aufzeichnen.
-
BLOG_BUILD_TARGET=static und Node.js 20+ Laufzeitumgebung einrichten.
-
Sicherstellen, dass alle Audio- und Videodateien einzeln streng auf unter 25 MB begrenzt sind, um die CDN-Bereitstellungsspezifikationen zu erfüllen.
-
Überprüfen, ob alle Rich-Media-Karten und interaktiven Komponenten auf PC und Mobilgeräten bei verschiedenen Auflösungen korrekt angeordnet sind.
Bitte schließen Sie jeden der oben angekreuzten Schritte in der Liste der Reihe nach ab; sobald alle Aufgaben erledigt sind, wird hier die Freigabeanweisung für die Produktion in Echtzeit freigeschaltet.
3. reStructuredText (.rst)
reStructuredText ist das Standard-Dokumentationsformat der Python-Community (z.B. Sphinx, ReadTheDocs):
.. reStructuredText Quellcode-Syntax
.. note::
Dies ist ein Notizblock, definiert durch eine RST-Direktive.
.. code-block:: python
:linenos:
def greet(name: str) -> str:
return f"Hello, {name}!"
Markdown-Äquivalente Darstellung in diesem Thema:
[!NOTE] Dies ist eine äquivalente RST-Notizkarte, die in Astro gemäß der GitHub Alert-Spezifikation gerendert wird.
def greet(name: str) -> str:
return f"Hello, {name}!"
4. Textile-Syntax
Textile ist eine etablierte, leichtgewichtige Auszeichnungssprache (häufig in Redmine und frühen Jekyll-Blogs):
h2. Kapitelüberschrift
bq. Dies ist der Inhalt eines Textile-Zitatblocks.
*Listeneintrag 1*
_kursiv hervorgehobener Text_
IV. Vollständige Implementierung und visuelle Darstellung von WordPress-Post-Formaten
Der klassische Post Formats-Mechanismus im WordPress-Theme-Ökosystem ermöglicht es Blogs, spezifische visuelle Darstellungen für verschiedene Inhaltstypen zu zeigen. Wir haben alle 9 dieser Formate in der Hauptinhaltsspalte dieses Themas vollständig implementiert:
1. aside (Notiz / Memo / Gedankenkarte)
Geeignet zum Festhalten kurzer Gedankenblitze, Erinnerungen oder temporärer Notizen:
💡 Notiz/Memo: Der wahre Wert statischer Websites liegt nicht in der Demonstration technischer Fähigkeiten, sondern in der Bereitstellung eines extrem schnellen, wartungsfreien und reinen Leseerlebnisses. Selbst nach fünf oder zehn Jahren lassen sich die generierten HTML-Dateien noch perfekt öffnen.
2. status (Status-Update / Gedanken / Mikro-Zitat)
Eine sofortige Status-Update-Karte im Twitter-/Weibo-Stil, inklusive Autoren-Avatar, Client-Identifikator und Stimmungs-Tag:
Heute habe ich endlich die vollständige Formaterweiterung und visuelle Neugestaltung der Hauptinhaltsspalte des Blogs abgeschlossen! Von KaTeX und Mermaid bis hin zu interaktiven Dropdowns und Schallplatten – das Gefühl der vollständigen statischen Bereitstellung ist fantastisch 🚀✨
3. quote (Ausgewähltes Zitat / Großes Zitat)
Dient zur Präsentation bedeutsamer Zitate, Design-Maximen oder prägnanter Aussagen:
4. gallery (Bildergalerie / Adaptives Album und Polaroid-Raster)
Unterstützt mehrspaltige, adaptive, responsive Raster und Polaroid-Karten mit einem Hauch von Menschlichkeit. Jedes Bild kann durch Anklicken in einer Vollbild-Lightbox vergrößert werden:
2- und 3-spaltige adaptive Galerie
Polaroid-Galerie (Polaroid Style)
5. video (Adaptive Videoplayer-Karte)
Unterstützt ein responsives 16:9-Verhältnis, abgerundete Ecken und eine Fußzeilenbeschreibung, wobei jedes Video eine volle Zeile einnimmt. Kompatibel mit externen Proxy-Einbettungen von Bilibili und YouTube sowie nativen MP4-Dateien auf der Website (einzelne Dateien sind auf 25 MB begrenzt, um die statischen Bereitstellungsrichtlinien von Cloudflare Pages zu erfüllen):
Externe Videoeinbettung (Bilibili & YouTube Link-Proxy-Einbettung · Standardmäßig muss der Leser hierher scrollen und auf Wiedergabe klicken)
Native MP4-Videoeinbettung auf der Website (Nativer HTML5-Videoplayer · Unterstützt Wiedergabegeschwindigkeit und Bild-in-Bild · Download standardmäßig deaktiviert)
6. audio (Vinyl-Schallplatten-Musikkarte mit Rotation)
Integriert einen HTML5-Audiocontroller und löst bei der Wiedergabe automatisch einen stufenlosen, sanften Rotationseffekt einer Vinyl-Schallplatte aus. Alle Plattencover verwenden originalgetreue, offizielle HD-Albumcover, unterstützen verschiedene gängige Audioformate (verlustfreies FLAC, hochbitratiges MP3, AAC/M4A) und verfügen über einen integrierten Schutz gegen Web-Scraping und Downloads:
① Shaun - Way Back Home (FLAC verlustfreies Audioformat · 24.55MB)
② ヨルシカ (Yorushika) - 彼女は旅に出る (MP3 320Kbps HD-Format · 8.41MB)
③ すこっぷ feat. 初音ミク - アイロニ (M4A / AAC Format · 7.63MB)
7. link (Externe Links und Lesezeichen-Vorschaukarten / Bookmark Preview)
Bietet eine elegante kartenbasierte Vorschau für wichtige Referenzen im Artikel:
EpoCanvas (Zeit-Leinwand) ist ein modernes Geek-Blog-Content-Architektursystem, das sich auf die Präsentation von Informationen mit hoher Dichte, elegante Mikrointeraktionen und die Unterstützung aller Formate konzentriert.
8. chat (Chat-Sprechblasen-Dialogfluss / Organischer animierter Dialogfluss)
Zur lebendigen Darstellung von technischen Präsentationen, Diskussionen zu zweit oder Benutzerszenarien, unterstützt linke und rechte Sprechblasen, Inline-Code, benutzerdefinierte Farbgebung sowie dynamische, inhaltsadaptive Tippanimationen, Web Audio Synthesizer-Soundeffekte und dynamische Avatare (footer_mini_logo__media):
- Statischer Modus (Standard):
<div class="article-chat">bleibt leichtgewichtig und rein statisch, null JS-Overhead; - Dynamische Präsentation aktivieren (Parametersteuerung): Konfigurieren Sie
data-animate="true"(oderclass="article-chat is-animated"), das System löst automatisch eine realistische, zeitgesteuerte Tippanimation, basierend auf Zeichenlänge und natürlicher Zufälligkeit, sowie spezifische Hinweistöne für linke und rechte Sprechblasen aus, sobald der Leser zum ersten Mal in den Viewport scrollt; - Nicht-mechanische dynamische Zeitsteuerung (Content-Length Aware Timing): Das System bestimmt intelligent die Dauer des Tippindikators basierend auf der Länge der Aussage (kurze Sätze blinken 380ms, lange technische Abschnitte 1000ms+ Tipp-Denkpause) und fügt natürliche Pausen und leichte Frequenzschwankungen der Soundeffekte zwischen den Sprechblasen ein, die dem menschlichen Leseverhalten entsprechen;
- Unterstützung für dynamische Video-Avatare (
footer_mini_logo__media): Avatare unterstützen das Einbetten von MP4-Mikrovideo-Animationen und statischen Fallback-Postern; - Einmalige Auslösung und Neulade-Garantie: Nach der ersten Auslösung durch Scrollen wird es automatisch gesperrt, wiederholtes Scrollen löst es später nicht erneut aus und stört das Lesen nicht; es wird nur dann wieder bereit, wenn der Benutzer die Webseite (F5) neu lädt; gleichzeitig wird eine Mikro-Steuerleiste oben rechts mit „↺ Wiederholen“ und „🔊/🔇 Soundeffekt umschalten“ bereitgestellt.
KaTeX und Mermaid in Astro die Ladezeit der Frontend-Seite verlangsamen?
remark-math und rehype-katex die Formeln bereits während der Build-Phase (Build-time) in reine HTML/MathML-Strings kompiliert haben, gibt es auf der Browserseite keine JS-Laufzeitbelastung; und Mermaid-Diagramme werden ebenfalls dynamisch und asynchron als ESM-Module bei Bedarf geladen, was die erste Bildschirmansicht extrem schnell macht! ⚡
V. Spezielle Dropdown-Formate und dynamische interaktive Komponenten (Dropdown Selectors & Interactive Formats)
Für die vom Benutzer explizit angeforderten speziellen Dropdown-Formate stellen wir auf der Ebene des Artikeltextes clientseitige, sofort reagierende Dropdown-Selektor-Komponenten bereit:
1. Dropdown-Umschalter für mehrere Frameworks und Code-Versionen (Interactive Dropdown Switcher)
Leser können im Dropdown-Menü frei ein technisches Framework auswählen, und das Haupttextfeld wechselt den entsprechenden Inhalt und Code in Echtzeit und ohne Neuladen der Seite:
import { useState } from 'react';
export function Counter() {
const [count, setCount] = useState(0);
return (
<button onClick={() => setCount((c) => c + 1)} className="btn-primary">
React Klickzähler: {count}
</button>
);
}
<script setup lang="ts">
import { ref } from 'vue';
const count = ref(0);
</script>
<template>
<button @click="count++" class="btn-primary">
Vue Klickzähler: {{ count }}
</button>
</template>
---
const { title = "Astro Speed Islands" } = Astro.props;
---
<div class="astro-island">
<h3>{title}</h3>
<p>Standardmäßig 0KB JavaScript, Interaktivität bei Bedarf hydriert!</p>
</div>
<script lang="ts">
let count = $state(0);
</script>
<button onclick={() => count++} class="btn-primary">
Svelte Klickzähler: {count}
</button>
2. Interaktiver universeller Einheitenumrechner für mehrere Kategorien (Universal Interactive Unit Converter · Basis-Dropdown-Umschaltung und Echtzeit-Wechselkurse)
Unterstützt Benutzer bei der freien Eingabe beliebiger Basiswerte in das Eingabefeld (Standardwert ist 1, unterstützt Schrittregler zum Erhöhen/Verringern und eine Ein-Klick-Zurücksetzung) und nahtlose Sofortumrechnung zwischen verschiedenen Kategorien (Masse/Gewicht, internationale Wechselkurse, Datenspeicher, Netzwerkbandbreite, Länge/Abmessungen):
- Dynamisch umschaltbare Umrechnungsbasis (Base Unit Dropdown): Die Basiseinheit rechts neben dem Eingabefeld kann über ein Dropdown-Menü frei gewählt werden (z.B. bei Masse:
kg,g,lb,斤,oz,tusw.; bei Wechselkursen:USD,HKD,CNY,EUR,JPY,GBPusw.). Nach Auswahl einer Basiseinheit schließt das Zielumrechnungsraster die aktuelle Basiseinheit intelligent automatisch aus (verhindert vollständig redundante 1kg=1kg-Karten) und berechnet alle Zieleinheiten sofort neu, wobei die aktuelle Basis als Nenner verwendet wird; - Echtzeit-Wechselkursschwankungen über Netzwerkanbindung (Live Forex API): Beim Umschalten auf „💱 Internationale Wechselkurse“ fordert das System automatisch asynchron den
/api/exchange-rate-Dienst des Servers an und greift auf eine öffentliche Echtzeit-Wechselkurs-API zurück, um die neuesten Echtzeitkurse der wichtigsten Währungen zu erhalten (oben rechts wird🟢 Echtzeit-Online-Wechselkurse synchronisiertangezeigt); bei fehlender oder unterbrochener Internetverbindung wird nahtlos auf die integrierten Basisverhältnisse zurückgegriffen (angezeigt wird⚪ Offline-Basis-Wechselkurse), um sicherzustellen, dass „Echtzeit“ wirklich in Echtzeit ist und das Offline-Erlebnis felsenfest bleibt; - Bequemer Aufruf über universelle API: Das System stellt gleichzeitig die Hilfsfunktion
window.shijianusAPI.fetchExchangeRates(base)global zur Verfügung, um jedem benutzerdefinierten Skript innerhalb des Dokuments den sofortigen Abruf von Echtzeit-Kursdaten zu ermöglichen; - Schnelles Ein-Klick-Kopieren und Gleichungsableitung: Jede Umrechnungskarte bietet eine Ein-Klick-Kopierfunktion mit visueller Rückmeldung, und unten wird synchron eine Zusammenfassung der dynamischen Gleichungskettenableitung angezeigt.
3. Dropdown-Rechner für Spezifikationen und Videocodierung (Interactive Spec Calc Dropdown)
Beim Auswählen verschiedener Optionen werden die entsprechenden technischen Indikatoren und Umrechnungserklärungen auf der rechten Seite in Echtzeit angezeigt:
VI. Akkordeon-Faltung, Tabs und mehrspaltiges Layout (Collapsibles, Tabs & Columns)
1. Exklusive Akkordeon-Faltgruppe (Beim Öffnen eines Elements werden die anderen automatisch geschlossen)
Konfigurieren Sie data-single="true". Wenn Sie ein Element erweitern, werden andere erweiterte Elemente in derselben Gruppe automatisch geschlossen, um die Seite übersichtlich und fokussiert zu halten:
🔒 1. Sicherheitsvorteile statischer Websites
Statische Websites verfügen nicht über traditionelle PHP/Node.js dynamische Ausführungs-Engines und öffentlich zugängliche SQL-Datenbanken, wodurch sie physisch immun gegen SQL-Injection und Remote Code Execution (RCE) Risiken auf dem Server sind.
⚡ 2. Globale CDN-Edge-Beschleunigung der Bereitstellung
Durch die Bereitstellung der kompilierten Artefakte auf Cloudflare Pages oder GitHub Pages können alle statischen Ressourcen auf über 300 Edge-Knoten weltweit zwischengespeichert werden, wobei die Time to First Byte (TTFB) in der Regel unter 20 ms liegt.
💰 3. Extrem niedrige Hosting-Kosten für Cloud-Dienste
Statische Websites erfordern keine rund um die Uhr laufenden teuren VPS-Cloud-Server. In Kombination mit der kostenlosen Cloudflare D1-Datenbank und einem Serverless-Kommentarsystem sind die täglichen Betriebskosten nahezu null.
2. Nicht-exklusive, unabhängige Akkordeon-Faltgruppe (Mehrere Elemente können gleichzeitig geöffnet werden)
Konfigurieren Sie data-single="false" (oder den Standard-Mehrfachöffnungsmodus). Leser können mehrere oder alle Faltabschnitte frei erweitern, um sie quer zu vergleichen und tiefer zu lesen, ohne dass bereits geöffnete Inhalte durch das Öffnen neuer Elemente geschlossen werden:
🛠️ Architekturmodul A: Markdown AST Syntax-Compiler-Pipeline
Basierend auf der Unified-, Remark-math- und Rehype-katex-Architektur wird der Markdown-Syntaxbaum während der Kompilierungsphase vollständig statisch in standardmäßige semantische HTML-Knoten umgewandelt, und die Hervorhebung sowie Formelgenerierung werden auf der Node.js-Seite abgeschlossen.
🎨 Architekturmodul B: EpoCanvas Dynamische Visual-Engine und Responsive System
Bietet Aurora-Hintergrund, Sternenfeld-Parallaxe, Glasmorphismus und Multi-Device-Responsive-Breakpoint-Anpassung, um ein konsistentes ästhetisches Erlebnis sowohl auf 4K-Breitbildschirmen als auch auf faltbaren Smartphones zu gewährleisten.
🛡️ Architekturmodul C: WebCrypto SHA-256 Gestuftes Sicherheitsisolationssystem
Integriert eine 1-stufige persistente Sitzungsentsperrung, eine 2-stufige dynamische polymorphe Sichtschutzmaske (Gaußscher Weichzeichner/Mosaik/Spoiler-Maske), eine 3-stufige Viewport-Sentinel-Sperre bei Verlassen und ein externes URL-Fragmentverschlüsselungsschema, um die Offenlegung von Klartextpasswörtern im DOM vollständig zu verhindern.
3. Interaktive Tabs
pnpm add @astrojs/mdx remark-math rehype-katex katex mermaid
npm install @astrojs/mdx remark-math rehype-katex katex mermaid
yarn add @astrojs/mdx remark-math rehype-katex katex mermaid
bun add @astrojs/mdx remark-math rehype-katex katex mermaid
4. Mehrspaltiges Rasterlayout-System (Multi-Column Grid)
3 Spalten gleichbreites Kartenraster
🎨 Visuelles System
Tiefgreifende Übernahme der modernen Geek-Designästhetik von EpoCanvas, unterstützt hohe Hell-Dunkel-Kontraste, Milchglas-Hintergründe und sanfte Farbübergänge.
⚡ Performance-Engineering
Astro 6 statische Inselarchitektur, HTML-Vorrendering zur Build-Zeit, rein statische, ultimative SEO-Optimierung.
🛠️ Erweiterbares Ökosystem
Umfassende Unterstützung für KaTeX-Formeln, Mermaid-Diagramme, verschlüsselte Pop-ups und 9 Post-Formate.
1:2 Ungleiches Seitenleistenraster
📌 Architektonische Positionierung
Fokus auf ein modernes Medium für technisches Schreiben für Geeks und Ingenieure.
🚀 Liefergarantie
Integrierte, umfassende automatisierte Smoke-Tests und statische Build-Validierungsmechanismen stellen sicher, dass Formeln, Diagramme und komplexe Karten auf allen Geräten perfekt dargestellt werden.
VII. 13 semantische Hinweisfelder (Admonitions / GitHub Alerts)
Basierend auf den Designrichtlinien von GitHub Alert und EpoCanvas werden 13 farbige Karten mit unterschiedlicher Semantik unterstützt, und die Syntax [!TYPE]- ermöglicht das standardmäßige Einklappen:
[!NOTE] Regulärer Hinweis (Note): Dies ist eine Standard-Hintergrundinformation oder Kontextbeschreibung.
[!TIP] Praktischer Tipp (Tip): Verwenden Sie die Tastenkombination Strg + K, um schnell das globale Artikelsuchfeld aufzurufen!
[!IMPORTANT] Wichtiger Hinweis (Important): Stellen Sie vor der Bereitstellung in der Produktionsumgebung sicher, dass die Umgebungsvariable
BLOG_BUILD_TARGET=statickorrekt injiziert wurde.
[!WARNING] Risikowarnung (Warning): Übermitteln Sie keine Produktionsdatenbank-Schlüssel oder private Cloud-Dienstschlüssel in öffentlichen Git-Repositories.
[!CAUTION] Gefahrenhinweis (Caution): Das Ausführen von Tabellenrekonstruktionsoperationen ist destruktiv; sichern Sie zuerst die D1-Datenbank!
[!DANGER] Tödliche Gefahr (Danger): Das direkte Löschen der Produktionsdatenbank führt zum dauerhaften Verlust aller Kommentare und Benutzerdaten.
[!SUCCESS] Operation erfolgreich (Success): Der statische Build-Prozess wurde erfolgreich abgeschlossen, alle 47 statischen Routen sind bereit!
[!QUESTION] Problemdiskussion (Question): Wie lässt sich eine millisekundenschnelle, rein clientseitige Volltextsuche in einer Umgebung ohne Serverabhängigkeiten realisieren?
[!QUOTE] Ausgewähltes Zitat (Quote): „Guter Code kann nicht nur von Maschinen ausgeführt werden, sondern vermittelt Gedanken auch elegant wie Poesie an Menschen.“
[!INFO] Detaillierte Informationen (Info): Dieser Blog basiert auf Astro 6 und Tailwind 4 und ist vollständig statisch exportiert.
[!TODO] To-Do-Plan (Todo): Es ist geplant, in der nächsten Iteration einen WebAssembly-Client-Volltextsuchindex einzuführen.
[!BUG] Fehlerprotokoll (Bug): Ein Layoutproblem, bei dem Tabellen in extrem schmalen Bildschirmen horizontal abgeschnitten wurden, wurde in der alten Version behoben.
[!EXAMPLE] Beispielerklärung (Example): Alle oben genannten Hinweisfelder passen sich automatisch an hochkontrastreiche Farben im Dunkel- und Hellmodus an.
Demonstration einklappbarer Hinweisfelder
[!TIP]- Zum Erweitern klicken: Referenz zur Nginx-Schnellcache-Konfiguration für die Produktionsumgebung
location ~* \.(?:css|js|woff2?|svg|png|jpg|webp)$ { expires 1y; add_header Cache-Control "public, immutable"; access_log off; }
8. Wissenschaftliche mathematische Formeln (KaTeX), Architekturdiagramme (Mermaid 11) und dynamische Mindmaps (Markmap)
In präsentations- und beispielorientierten technischen Dokumentationen ist das Kernkonzept der Darstellung „Tatsächliches Rendering-Ergebnis + Vergleich des entsprechenden Quellcodes“ (Doppel-Tab-Optionen) nicht nur dazu gedacht, den Lesern eine intuitive Erfahrung der endgültigen visuellen und interaktiven Eigenschaften zu ermöglichen, sondern auch Entwicklern das einfache Referenzieren, Kopieren und Migrieren in reale Projekte zu erleichtern.
1. LaTeX-Mathematikformeln (KaTeX Math · Inline- und mehrzeilige Blockableitungen)
Inline-Formel
Die Masse-Energie-Äquivalenz E=mc2, die Eulersche Identität eiπ+1=0, das Gaußsche Integral ∫−∞∞e−x2dx=π.
质能方程 $E = mc^2$,欧拉恒等式 $e^{i\pi} + 1 = 0$,高斯积分 $\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}$。
Mehrzeilige Blockableitungsformel 1: Laplace-Transformation eines dynamischen Systems zweiter Ordnung (Block Math · Einzelgleichung)
$$
\mathcal{L}\{\ddot{x}(t) + 2\zeta\omega_n\dot{x}(t) + \omega_n^2 x(t)\} = X(s)(s^2 + 2\zeta\omega_n s + \omega_n^2)
$$
Mehrzeilige Blockableitungsformel 2: Maxwellsche Gleichungen der klassischen Elektrodynamik (Block Math · Mehrzeilig ausgerichtet)
$$
\begin{aligned}
\nabla \cdot \mathbf{E} &= \frac{\rho}{\varepsilon_0} \\
\nabla \cdot \mathbf{B} &= 0 \\
\nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \\
\nabla \times \mathbf{B} &= \mu_0 \mathbf{J} + \mu_0 \varepsilon_0 \frac{\partial \mathbf{E}}{\partial t}
\end{aligned}
$$
2. Mermaid 11 Architekturdiagramme (Flowchart & Sequence · Flussdiagramm & Sequenzdiagramm)
① Flussdiagramm für Blog-Verschlüsselungsprüfung und Inhalts-Rendering (Flowchart TD)
flowchart TD
A[Leser besucht Artikel] --> B{Ist der Artikel verschlüsselt?}
B -- Ja --> C[Passwort-Dialogfeld (Milchglas-Effekt) erscheint]
C --> D{Passwortprüfung}
D -- Korrekt --> E[Text entschlüsseln und anzeigen]
D -- Falsch --> F[Fenster wackelt und rote Warnung erscheint]
F -. Passwort erneut eingeben .-> C
B -- Nein --> E
E --> G[KaTeX-Formeln und Mermaid-Diagramme rendern]
G --> H[Vollständiges immersives Leseerlebnis präsentieren]
```mermaid
flowchart TD
A[Leser besucht Artikel] --> B{Ist der Artikel verschlüsselt?}
B -- Ja --> C[Passwort-Dialogfeld (Milchglas-Effekt) erscheint]
C --> D{Passwortprüfung}
D -- Korrekt --> E[Text entschlüsseln und anzeigen]
D -- Falsch --> F[Fenster wackelt und rote Warnung erscheint]
F -. Passwort erneut eingeben .-> C
B -- Nein --> E
E --> G[KaTeX-Formeln und Mermaid-Diagramme rendern]
G --> H[Vollständiges immersives Leseerlebnis präsentieren]
```
② Sequenzdiagramm für Client-Sicherheitsauthentifizierung und Entschlüsselung (Sequence Diagram)
sequenceDiagram
autonumber
actor User as Leser (User)
participant Browser as Client-Browser
participant PostPage as Artikel-Rendering-Engine
participant Security as Verschlüsselungs-Sicherheitsmodul
User->>Browser: Klickt auf geschützten, verschlüsselten Inhalt
Browser->>PostPage: Ruft Passwort-Eingabedialog auf
User->>Browser: Gibt Zugriffsschlüssel ein
Browser->>Security: Prüft Passwort-Hash
alt Verifizierung erfolgreich
Security-->>Browser: Gibt Entsperr-Token zurück
Browser->>PostPage: Entschlüsselt Text und zeigt ihn flüssig an
else Verifizierung fehlgeschlagen
Security-->>Browser: Gibt Passwortfehler zurück
Browser->>User: Löst Fensterwackeln und rote Warnung aus
end
```mermaid
sequenceDiagram
autonumber
actor User as Leser (User)
participant Browser as Client-Browser
participant PostPage as Artikel-Rendering-Engine
participant Security as Verschlüsselungs-Sicherheitsmodul
User->>Browser: Klickt auf geschützten, verschlüsselten Inhalt
Browser->>PostPage: Ruft Passwort-Eingabedialog auf
User->>Browser: Gibt Zugriffsschlüssel ein
Browser->>Security: Prüft Passwort-Hash
alt Verifizierung erfolgreich
Security-->>Browser: Gibt Entsperr-Token zurück
Browser->>PostPage: Entschlüsselt Text und zeigt ihn flüssig an
else Verifizierung fehlgeschlagen
Security-->>Browser: Gibt Passwortfehler zurück
Browser->>User: Löst Fensterwackeln und rote Warnung aus
end
```
3. Dynamische interaktive Mindmaps (Markmap / Mindmap · Multidirektionale Verzweigung)
Bei der Erstellung langer technischer Spezifikationen und Systemarchitekturen können traditionelle statische Listen komplexe Wissensstrukturen nur schwer intuitiv darstellen. Dieses Thema implementiert den Markmap dynamischen interaktiven Mindmap-Engine vollständig neu, um eine native Analyse und verbesserte Interaktion in der Hauptspalte des Artikels (.post.post-page-shell) zu ermöglichen:
[!TIP] Kernregeln für die multidirektionale Verzweigung:
- Standardmäßiger Einzelblock-Schutzraum: Standardmäßig zeigt die Mindmap nur einen Kern-Wurzelknoten (Level 1) an, begleitet von einem kleinen Faltpunkt-Indikator auf der rechten Seite;
- Klicken zum Erweitern multidirektionaler Zweige: Klicken Sie auf den kleinen Punkt des Wurzelknotens oder eines beliebigen Kindknotens, um die Unterzweige sanft nach außen zu entfalten;
- Vollständige Steuerung über die Symbolleiste: Unterstützt Vergrößern / Verkleinern / Zentrieren und Anpassen / Alles auf einmal erweitern / Einzelnen Block auf einmal einklappen / Immersive Vollbildansicht / Quellcode kopieren;
- Leinwand ziehen und zoomen: Halten Sie die linke Maustaste gedrückt, um die Leinwand frei zu verschieben, und scrollen Sie mit dem Mausrad, um den Ansichtsbereich zu zoomen.
Lebendige Mindmap-Darstellung: SSG und das Ökosystem der Themeninhaltsformate
# Statische Seitengeneratoren und das Ökosystem für alle Inhaltsformate
## 1. Kern-Pipeline für statische Kompilierung
### AST-Syntax-Transformations-Pipeline
#### Markdown / MDX Semantik-Parsing-Pipeline
##### Unified / Remark Syntax-Erweiterung
- GFM Tabellen- und Durchstreichungs-Syntax-Konvertierung
- Automatische Generierung von Überschriften-Ankern und IDs
##### Markmap Interaktive multidirektionale Mindmap-Erweiterung
- Rekursive AST-Baum-Konstruktion (Transformer.transform)
- D3 Hierarchisches flexibles Layout (Flextree Algorithm)
- Interaktiver Falt-Zustandsautomat (payload.fold)
- Dynamische Farbpaletten-Zweigfärbung (d3.scaleOrdinal)
##### Rehype Katex mathematische Formel-Erweiterung
- Inline-Formel- und unabhängige Blockformel-Analyse
- Makro-Definition-Unterstützung und Fehler-Fallbacks
#### Code-Hervorhebung und statische Shader
##### Shiki Dual-Theme-Compiler
- VSCode TextMate Syntaxregel-Analyse
- Hell-/Dunkelmodus Dual-Theme Pre-Rendering ohne Hydration
### Compiler und Ressourcen-Bundling
#### Vite 6 Extrem schnelles Hot Module Replacement (HMR)
##### ESM Native Modul-Laden
- Millisekunden-On-Demand-Kompilierung und Hot-Update
#### Rollup Statische Generierungs-Pipeline
##### Statische Bundling-Optimierung
- Intelligentes Code-Splitting
- Tree-Shaking zur Redundanzeliminierung
## 2. Dynamische Interaktion und Insel-Architektur
### Hybride Komponenten-Inseln (Islands)
#### Client-Komponenten-Insel-Mounting
##### React 19 Client Components
- Isolierte Zustandsverwaltung und Kontextkommunikation
- Sitzungszustand beibehalten (SessionStorage / Crypto)
##### Astro Server-Side Islands
- Null-Laufzeit-Client-JS (Zero-JS by Default)
- On-Demand-Aktivierung interaktiver Inseln (client:visible)
### Modernes visuelles und Animationssystem
#### Dynamische Hintergründe und Rendering-Engine
##### Aurora / Sternenfeld
- WebGL / Canvas 2D Hardware-Beschleunigung
- Energiesparmodus und automatische Pause bei Verlassen des Viewports
##### Glassmorphism-Spezifikation für Karten
- Dynamische Gaußsche Unschärfe und mehrfache Umgebungsschatten
- Responsives, plattformübergreifendes Layout (PC / Pad / Mobile)
## 3. Formatübersicht und spezielle Funktionen
### Vergleich erweiterter Dokumentationsstandards
#### AsciiDoc (.adoc) native äquivalente Anpassung
#### Emacs Org-Mode (.org) Aufgabenlisten-Mapping
#### reStructuredText (.rst) Direktiven-Konvertierung
### Reichhaltige interaktive Komponentensammlung
#### Interaktiver Dropdown-Umschalter (Dropdown Switcher)
#### Exklusive Akkordeon-Faltkarten (Accordion Groups)
#### Dynamischer Vinyl-Audio-Player (Vinyl Audio)
### Sicherheit, Datenschutz und gestufte Verschlüsselung
#### WebCrypto SHA-256 Hash-Prüfung (keine Klartext-Exposition)
#### Stufe 1: Sitzungsdauerhafte Entsperrung (Session Persistent)
#### Stufe 2: Anti-Spionage-Masken-Umschaltung (Gaußsche Unschärfe / Mosaik / Spoiler-Maske)
#### Stufe 3: Viewport-Anti-Spionage-Sperre bei Verlassen (IntersectionObserver)
#### Externe segmentierte Entschlüsselungs-Endpunkt-Isolation (Standalone Token)
```mindmap
# Statische Seitengeneratoren und das Ökosystem für alle Inhaltsformate
## 1. Kern-Pipeline für statische Kompilierung
### AST-Syntax-Transformations-Pipeline
#### Markdown / MDX Semantik-Parsing-Pipeline
##### Unified / Remark Syntax-Erweiterung
- GFM Tabellen- und Durchstreichungs-Syntax-Konvertierung
- Automatische Generierung von Überschriften-Ankern und IDs
##### Markmap Interaktive multidirektionale Mindmap-Erweiterung
- Rekursive AST-Baum-Konstruktion (Transformer.transform)
- D3 Hierarchisches flexibles Layout (Flextree Algorithm)
- Interaktiver Falt-Zustandsautomat (payload.fold)
- Dynamische Farbpaletten-Zweigfärbung (d3.scaleOrdinal)
##### Rehype Katex mathematische Formel-Erweiterung
- Inline-Formel- und unabhängige Blockformel-Analyse
- Makro-Definition-Unterstützung und Fehler-Fallbacks
#### Code-Hervorhebung und statische Shader
##### Shiki Dual-Theme-Compiler
- VSCode TextMate Syntaxregel-Analyse
- Hell-/Dunkelmodus Dual-Theme Pre-Rendering ohne Hydration
### Compiler und Ressourcen-Bundling
#### Vite 6 Extrem schnelles Hot Module Replacement (HMR)
##### ESM Native Modul-Laden
- Millisekunden-On-Demand-Kompilierung und Hot-Update
#### Rollup Statische Generierungs-Pipeline
##### Statische Bundling-Optimierung
- Intelligentes Code-Splitting
- Tree-Shaking zur Redundanzeliminierung
## 2. Dynamische Interaktion und Insel-Architektur
### Hybride Komponenten-Inseln (Islands)
#### Client-Komponenten-Insel-Mounting
##### React 19 Client Components
- Isolierte Zustandsverwaltung und Kontextkommunikation
- Sitzungszustand beibehalten (SessionStorage / Crypto)
##### Astro Server-Side Islands
- Null-Laufzeit-Client-JS (Zero-JS by Default)
- On-Demand-Aktivierung interaktiver Inseln (client:visible)
### Modernes visuelles und Animationssystem
#### Dynamische Hintergründe und Rendering-Engine
##### Aurora / Sternenfeld
- WebGL / Canvas 2D Hardware-Beschleunigung
- Energiesparmodus und automatische Pause bei Verlassen des Viewports
##### Glassmorphism-Spezifikation für Karten
- Dynamische Gaußsche Unschärfe und mehrfache Umgebungsschatten
- Responsives, plattformübergreifendes Layout (PC / Pad / Mobile)
## 3. Formatübersicht und spezielle Funktionen
### Vergleich erweiterter Dokumentationsstandards
#### AsciiDoc (.adoc) native äquivalente Anpassung
#### Emacs Org-Mode (.org) Aufgabenlisten-Mapping
#### reStructuredText (.rst) Direktiven-Konvertierung
### Reichhaltige interaktive Komponentensammlung
#### Interaktiver Dropdown-Umschalter (Dropdown Switcher)
#### Exklusive Akkordeon-Faltkarten (Accordion Groups)
#### Dynamischer Vinyl-Audio-Player (Vinyl Audio)
### Sicherheit, Datenschutz und gestufte Verschlüsselung
#### WebCrypto SHA-256 Hash-Prüfung (keine Klartext-Exposition)
#### Stufe 1: Sitzungsdauerhafte Entsperrung (Session Persistent)
#### Stufe 2: Anti-Spionage-Masken-Umschaltung (Gaußsche Unschärfe / Mosaik / Spoiler-Maske)
#### Stufe 3: Viewport-Anti-Spionage-Sperre bei Verlassen (IntersectionObserver)
#### Externe segmentierte Entschlüsselungs-Endpunkt-Isolation (Standalone Token)
```
Markdown Schreibkonventionen und Syntaxreferenz
Die in diesem Blog integrierte Mindmap-Rendering-Engine basiert auf rekursiver AST-Analyse und dem D3 Flextree-Layout für flexible Bäume, unterstützt nativ unbegrenzte Ebenenerweiterung (Level 1 bis Level N), ohne jegliche Tiefenbegrenzung. Beim Verfassen von Artikeln kann der Autor je nach Komplexität des Wissensbaums die folgenden Schreibkonventionen wählen:
1. Gemischte Stufensyntax (empfohlen: 1~6 Hauptebenen + unbegrenzte Listenableitung)
Standard-Markdown-Überschriften unterstützen 6 Tiefenlevel (# bis ######). Unterhalb der 6. Ebene kann die Ableitung unbegrenzt nach unten fortgesetzt werden, indem ungeordnete Listenelemente (-, *) in Kombination mit Leerzeichen-Einrückungen verwendet werden (Level 7, Level 8, Level 9…):
```mindmap
# Level 1 Kernthema (H1)
## Level 2 Themenbereich (H2)
### Level 3 Subsystem (H3)
#### Level 4 Technisches Modul (H4)
##### Level 5 Komponenteneinheit (H5)
###### Level 6 Algorithmus-Spezifikation (H6)
- Level 7 Detaillierte Ausführungsdetails (Listenelement)
- Level 8 Unterpunkt-Parameter (Einzug +2 Leerzeichen)
- Level 9 Hardware-Grundelemente (Einzug +4 Leerzeichen)
```
2. Reine Listen-Einrückungssyntax (empfohlen für über 6 Ebenen oder sehr tiefe Wissensbäume)
Wenn keine Markdown-Überschriftensemantik benötigt wird oder die Wissensnetzwerkebenen extrem tief sind (z.B. Klassifikationsbäume, Konzeptableitungen, AST-Strukturen), können direkt ungeordnete Listen (-) verwendet werden, die durch 2 oder 4 Leerzeichen eingerückt werden, um mehrseitige Verzweigungen mit theoretisch unendlicher Tiefe auszudrücken:
```mindmap
- 🌐 Wurzelthema: Wissensgraph der Informatik (Level 1)
- 🖥️ Software-Systemtechnik (Level 2)
- 📦 Betriebssysteme und Kernel (Level 3)
- ⚙️ Prozess- und Thread-Scheduling (Level 4)
- 🔄 Parallelitäts-Synchronisationsprimitive (Level 5)
- 🔒 Mutexes und Semaphore (Level 6)
- ⚡ Hardware-CAS-Atominstruktionen (Level 7)
- ⏱️ Cache-Kohärenz MESI-Protokoll (Level 8)
- 🔬 Speicherbarrieren und Pipeline-Instruktions-Reordering (Level 9)
```
3. Inline-Steuerung erweiterter Parameter (optionaler JSON-Header)
In der ersten Zeile des Codeblocks kann ein einzeiliges JSON-Objekt verwendet werden, um den Anfangszustand und die visuellen Abmessungen der Mindmap anzupassen:
```mindmap
{"initialExpandLevel": 2, "height": "560px", "title": "Gesamtübersicht der Full-Stack-Architektur"}
# Kernthema
## Ebene 1 Zweig A
### Ebene 2 Zweig A1
- Detaillierter Wissenspunkt 1
```
initialExpandLevel: Anfängliche Erweiterungsebene.1für den Schutzmodus mit zusammengeklapptem Einzel-Wurzelknoten;2für die Erweiterung bis zum Hauptstamm;6für die vollständige Erweiterung.height: Gibt die Höhe der Zeichenfläche an, z.B."480px","600px"(Standard"460px").title: Benutzerdefinierter Titeltext für den Mindmap-Header.
4. Interaktive Funktionen und Anweisungen zur Viewport-Bedienung
- Klicken für sanftes Drill-down: Klicken Sie auf einen Knoten mit einem pulsierenden Punkt oder Text, um seine untergeordneten mehrseitigen Verzweigungen sanft zu erweitern/zusammenzuklappen;
- Ein-Klick-Erweitern/Zusammenklappen: Die Symbolleiste bietet
⊞(alle Zweige mit einem Klick erweitern) und⊟(mit einem Klick zum ursprünglichen Einzelblock zurückkehren); - Adaptives Zentrieren (Fit View): Klicken Sie auf
🎯, um automatisch die beste zentrierte Ansicht basierend auf allen aktuell erweiterten Knoten zu berechnen; - Vollbild-Immersionsmodus: Klicken Sie auf
⛶, um auf eine unabhängige Vollbild-Leinwand zu erweitern (jederzeit mitEscbeenden), um unbegrenzten horizontalen Erkundungsraum zu erhalten; - Echtzeit-Metadaten-Erkennung: Die Header-Leiste zeigt in Echtzeit die Gesamtzahl der Knoten und die maximale Tiefe der aktuellen Mindmap an (z.B.
53 Knoten · 6 Ebenen Verzweigungsstruktur).
IX. Sicherheit, Datenschutz, gestufte Verschlüsselung (Level 1/2/3) und externe segmentierte Entschlüsselungsfunktionen
Um die Offenlegung von Klartextpasswörtern in DOM-Attributen (z.B. data-password, das leicht durch Elementinspektion ausspioniert werden kann) vollständig zu verhindern, wurde das Inhaltssystem dieses Blogs vollständig auf WebCrypto SHA-256 Hash-Verifizierung (data-hash) aktualisiert und ein dreistufiges System für lokale Inhaltsverschlüsselung und externe segmentierte Entschlüsselung etabliert:
- Standard-Sicherheitsrücksetzregel (Zero Persistence on Reload): Standardmäßig werden alle verschlüsselten Inhalte (Level 1, Level 2, Level 3 und externe Entschlüsselungstüren) nach einer Seitenaktualisierung (F5 / Neuladen) konsequent und automatisch in den gesperrten Zustand zurückgesetzt, wodurch die Sicherheitslücke, dass Inhalte nach dem Neuladen der Seite ungeschützt bleiben, vollständig vermieden wird;
- Offener Persistenzparameter (
data-persist): Um den Offenheitsanforderungen spezieller Dokumentszenarien gerecht zu werden, kann die Standard-Rücksetzstrategie durch Parameterkonfiguration überschrieben werden:data-persist="session"(oderdata-persist="true"): Bleibt während der aktuellen Tab-Sitzung über Aktualisierungen hinweg entsperrt;data-persist="local": Speichert den Entsperrstatus dauerhaft im lokalen Browserspeicher;- Standardmäßig nicht konfiguriert: reiner Speicherlebenszyklus, Seitenaktualisierung setzt sofort sicher auf gesperrt zurück.
1. Level 1-Verschlüsselung: Einzelseiten-Basisschutz (Level 1 · Default Refresh Reset)
Geben Sie einmalig ein Zugangs-Passwort ein, um den Inhalt freizuschalten. Standardmäßig wird die Seite beim Neuladen sofort wieder gesperrt; um die Freischaltung über mehrere Neuladungen hinweg beizubehalten, fügen Sie dem Tag data-persist="session" hinzu:
Kern-Entwicklungsumgebungsparameter freigeschaltet:
DEPLOY_ENDPOINT:https://api.shijian.us/v2/deploy/coreAUTH_SCOPE:read:articles, write:releases
2. Level 2-Verschlüsselung: Sichtschutzmaske nach Entschlüsselung (Level 2 · Mask Protection)
Nach erfolgreicher Verifizierung ist der Inhalt zwar entschlüsselt, wechselt aber standardmäßig automatisch in einen Gauss’schen Unschärfe-Sichtschutzmodus (standardmäßig wird keine Umschaltleiste angezeigt, beim Überfahren mit der Maus wird der Inhalt klar sichtbar), um das Ausspähen aus nächster Nähe effektiv zu verhindern.
- Symbolleiste aktivieren: Konfigurieren Sie
data-allow-select="true", um die Umschalt-Symbolleiste für die Maske zu aktivieren. Die Symbolleiste ist standardmäßig ebenfalls in der Maske enthalten und geschützt (beim Überfahren mit der Maus werden die Symbolleiste und der Text zusammen klar sichtbar und können angeklickt werden); wenn die Symbolleiste außerhalb der Maske bleiben soll, konfigurieren Siedata-toolbar-masked="false"; - Maskierungsmodus festlegen: Der Maskierungsmodus kann über
data-mask="blur|mosaic|spoiler|reveal"erzwungen werden; - Benutzerdefinierte Einstellungsleiste: Es wird unterstützt,
data-mask-options="blur,mosaic"in Markdown-Tags zu übergeben, um schnell optionale Modi anzupassen, oder direkt die Struktur<div class="encrypted-mask-toolbar">im Text zu schreiben. Das System scannt und aktiviert dann automatisch die benutzerdefinierte Einstellungsleiste; - Garantie für das Zurücksetzen beim Neuladen: Standardmäßig wird die Seite nach dem Neuladen automatisch wieder gesperrt.
Im Folgenden ist die Budgetverteilung für den EpoCanvas Business Support im Jahr 2026 aufgeführt:
- Lizenzgebühr für unternehmensweite Privatisierung: ¥ 280.000 / Jahr (inkl. Hochverfügbarkeitscluster und SLA-Garantie)
- Kosten für Edge-CDN-Traffic: ¥ 36.500 / Monat
- Exklusiver technischer Beraterschlüssel:
sec_corp_epocanvas_key_2026
3. Level 3 Verschlüsselung: Sofortige Neusperrung beim Verlassen des Viewports (Level 3 · Viewport Auto-Lock)
Höchstes Sicherheitsniveau! Keine Speicherung in persistentem Speicher; sobald der entschlüsselte Inhalt beim Scrollen den aktuellen Bildschirm-Viewport verlässt oder der Browser-Tab in den Hintergrund wechselt, wird das System sofort automatisch wieder gesperrt. Für eine erneute Anzeige muss das Passwort erneut eingegeben werden:
Bitte beachten Sie: Diese Informationen sind nur im aktuellen Viewport sichtbar. Wenn Sie nach unten oder oben scrollen und sie den Bildschirm verlassen, wird die Sperre automatisch aktiviert:
# 核心节点紧急自毁 / 切换指令
curl -X POST https://cluster.shijian.us/v1/node/failover \
-H "X-Root-Token: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
4. Externe Segmentverschlüsselung (External Link Segment Decryption Gate)
Während der Erstellungsphase oder bei der Architekturschichtung kann derselbe Artikel physisch in einen öffentlichen Textabschnitt und einen extern verknüpften, kontrollierten Chiffretextabschnitt unterteilt werden. Der Ersteller kann am Ende des Artikels oder an beliebiger Stelle in einem Kapitel ein externes Entschlüsselungs-Gateway einfügen, das nach der Überprüfung der Anmeldeinformationen den vollständigen zweiten Teil des Textes dynamisch entschlüsselt und nahtlos hier einbindet:
🔐 Tiefergehende Textkapitel extern isoliert gespeichert
Dieser lange Artikel verwendet in der Erstellungsphase eine **externe segmentierte Isolationsspeicherung**: Die ersten 75% der grundlegenden Syntax und Komponentenbeschreibungen sind öffentlich zugänglich; die Kernlösungen für die Implementierung von Unternehmensprojekten und die Architekturableitungen wurden verschlüsselt und gespeichert. Klicken Sie auf die Schaltfläche unten und geben Sie den Schlüssel ein, um den restlichen Text auf dieser Seite in Echtzeit nahtlos zu entschlüsseln und einzubinden.
📦 Extern entschlüsselter Segmenttext: Implementierungsrichtlinien für SSG-Content-Engineering auf Unternehmensebene
Herzlichen Glückwunsch, Sie haben den externen segmentierten Kerninhalt dieses Artikels erfolgreich freigeschaltet! In modernen großen statischen Wissensdatenbankprojekten bietet die externe segmentierte Verschlüsselung von hochsensiblen oder kostenpflichtigen Premium-Inhalten die folgenden Kernvorteile:
- Minimierung der Erstladezeit: Unautorisierte Besucher laden nur das grundlegende öffentliche HTML, wodurch der Netzwerkaufwand um über 60% reduziert wird;
- Schutz vor Scraping und Reverse Engineering: Sensible Chiffretexte und Schlüssel werden isoliert gespeichert, sodass statische Crawler keine gültigen Daten aus dem öffentlichen DOM extrahieren können;
- Nahtloser Streaming-Zugriff: Mithilfe der clientseitigen WebCrypto-Engine können Leser auf der aktuellen Seite ein nahtloses und zusammenhängendes Leseerlebnis genießen, ohne die Seite wechseln zu müssen.
5. Inline-Gaußsche Unschärfe, Mosaik und Spoiler-Verbergen
Neben der Blockverschlüsselung bietet der Text auch eine Vielzahl von leichten Anti-Spionage- und unterhaltsamen Maskierungen:
- Text mit Gaußscher Unschärfe: Dies ist ein wichtiger Spoiler-Text, der durch Gaußsche Unschärfe geschützt ist. Fahren Sie mit der Maus darüber oder klicken Sie, um ihn zu sehen!
- Blackout-Mosaik: Vertrauliche Daten: SHA256-7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069
- Discord Spoiler-Maske: ||Dies ist eine Spoiler-Maske, die von doppelten vertikalen Linien umschlossen ist. Klicken Sie, um sie zu enthüllen.||
- Inline-Verstecksperre: %%Dies ist ein inline versteckter Inhalt, der von Prozentzeichen umschlossen ist. Klicken Sie, um ihn zu erweitern.%%
Bildschutz mit Gaußscher Unschärfe
10. Zeitleisten, Fortschrittsbalken, Definitionslisten und Datentabellen
1. Vertikale Zeitleiste (Vertical Timeline)
Aufbau einer neuen Content Collections Architektur und Shiki Code-Highlighting-Pipeline.
Ergänzung von 13 Arten von Admonitions, KaTeX mathematischen Formeln und einem Passwort-Popup-Entschlüsselungssystem.
Bereitstellung einer nahtlosen One-Click-Content-Migrations-Toolchain von Hexo/WordPress zu Astro.
2. Tutorial-Schritte (Tutorial Steps)
Markdown- oder MDX-Artikel schreiben
Erstellen Sie eine .md-Datei im Verzeichnis src/content/posts/ und deklarieren Sie die Front Matter Metadaten.
Rich-Media-Karten und interaktive Komponenten frei kombinieren
Wählen Sie nach Bedarf Dropdown-Umschalter, Vinyl-Musikkarten, Galerie-Alben oder Verschlüsselungs-/Entschlüsselungsblöcke.
Ein-Klick-statische Kompilierung und Veröffentlichung in Sekundenschnelle
Führen Sie npm run build aus, um rein statische Artefakte zu generieren und diese für die globale Beschleunigung an Cloudflare CDN zu pushen.
3. Definitionslisten & Spezifikationen (Definition Lists & Specs)
- Astro-Inseln (Islands)
- Teilt Seiten in statische HTML-Skelette und unabhängig hydrierte interaktive Komponenten auf, wodurch die JavaScript-Größe erheblich reduziert wird.
- KaTeX-Compiler
- Führt die AST-Analyse der LaTeX-Syntax während der Build-Zeit durch, ohne zusätzliche Rendering-Verzögerung auf Client-Seite.
- Post Formats
- Eine aus WordPress stammende Spezifikation zur Definition von Inhaltsformaten, die verschiedenen Artikeltypen ein spezifisches Layout verleiht.
Elf. Inline-Mikrotypografie-Verschönerung und Badges für Rich Text
- Mehrfarbige Hervorhebung (HTML-Tag-Form):
- Gelbe Hervorhebung (wichtige Anmerkung)
- Grüne Hervorhebung (erfolgreiche Empfehlung)
- Blaue Hervorhebung (Informationshinweis)
- Rosa Hervorhebung (Designinspiration)
- Violette Hervorhebung (tiefgreifendes Prinzip)
- Orange Hervorhebung (Bedienungswarnung)
- Rote Hervorhebung (Risikowarnung)
- Türkise Hervorhebung (Netzwerkprotokoll)
- Kurzschreibweise für Syntax-Highlighting (
==Farbe:Inhalt==Format):- ==Standard-Hervorhebungstext (automatisch gelb)==
- ==green:Grüne Hervorhebung (agile Markierung)==
- ==blue:Blaue Hervorhebung (Architekturelement)==
- ==pink:Rosa Hervorhebung (Oberflächenverschönerung)==
- ==purple:Violette Hervorhebung (Kernalgorithmus)==
- Status-Badges:
- Empfehlung (Primary)
- Bestanden (Success)
- Achtung (Warning)
- Gefahr (Danger)
- Info (Info)
- Architektur (Purple)
- Netzwerk (Cyan)
- Hardware (Orange)
- Tastenanzeige: Strg + Umschalt + P öffnet die globale Befehlspalette.
- Mehrsprachige Lautschrift und Ausspracheannotation (Ruby / Multilingual Phonetics):
- Chinesisches Hanyu Pinyin: 時間 · 画布 · 極客
- Chinesische Bopomofo-Symbole (Taiwanische Lautschrift): 時間 · 極客 · 編程
- Japanische Kanji + Hiragana Furigana (Kun’yomi/On’yomi): 時間 · 明日 · 儚い
- Japanische Katakana-Lehnwörter und Ateji: 画布 · 電脳 · 宇宙
- Japanische Jukujikun (spezielle Lesung): 煙草 · 大人 · 今日
- Englisches Wort + IPA-Transkription: EpoCanvas · Aesthetics · Chronos
- Französische IPA und spezielle Liaison: Rendez-vous · Déjà-vu · C’est la vie
- Deutsche Umlaute und Komposita-Aussprache: Zeitgeist · Schadenfreude
- Griechisch + Lateinische Transkription: Φιλοσοφία · Καλημέρα
- Koreanische Hanja + Hangul-Aussprache: 時間 · 極客 · 未來
- Russisch/Kyrillische IPA: Привет · Спасибо
- Sanskrit Devanagari + IAST-Transkription: नमस्ते · शान्तिः
- Abkürzungserklärung: SSG und SPA.
- Wellen- und gestrichelte Unterstreichung: Wellenförmige Hervorhebung und Gestrichelte Betonungsunterstreichung.
- Call-to-Action-Buttons (CTA-Buttons):
Zwölf: Fußnoten und schwebende Pop-ups (Footnotes)
In wissenschaftlichen oder langen technischen Artikeln sind Fußnoten eine unverzichtbare Form der Referenzierung. Wenn Sie den Mauszeiger über das Fußnotensymbol unten bewegen, wird direkt ein Erklärungs-Pop-up angezeigt1, ohne dass Sie den aktuellen Lesebereich verlassen müssen2.
Fazit: Aufbau eines zukunftsorientierten Content-Präsentationssystems
Durch dieses umfassende Upgrade und diese Erweiterung hat shijianus-blog in der Hauptinhaltsspalte (.article-body.post-content) eine vollständige Abdeckung gängiger SSG-Inhaltsformate, WordPress Post Formats, interaktiver Dropdown-Menüs, Akkordeon-Faltfunktionen, LaTeX-Formeln, Mermaid-Diagramme und spezifischer Funktionen wie Passwortverschlüsselung erreicht.
Ob strenge technische Langartikel oder leichte Essays über das Leben – jeder Ersteller findet in diesem System die passendste Ausdrucksform!
Footnotes
-
SSG-Inhaltsstandard: Die meisten gängigen Static Site Generatoren folgen modernen Content-Engineering-Standards, die auf Markdown/GFM basieren und durch MDX oder Templating-Sprachen erweitert werden. ↩
-
EpoCanvas Ästhetik-Standard: Mit raffinierten Mikrointeraktionen, hochkontrastreichen Farben und zurückhaltendem Weißraum bietet es der chinesischen und globalen Geek-Community ein erstklassiges Leseerlebnis. ↩
A Comprehensive Guide to Static Site Generators (SSG) and Theme Content Formats
In modern Static Site Generators (SSG) and independent blog theme development, the ability to parse and render article content formats directly determines the creator’s expressive boundaries and the reader’s experience.
This guide, combining the content specifications of mainstream SSG ecosystems (Hugo, Jekyll, Eleventy, Astro, Pelican, Hexo, WordPress, VitePress, etc.), establishes a comprehensive system covering basic Markup, extended document languages, WordPress Post Formats, interactive dropdown switchers, accordion collapses, LaTeX mathematical formulas, Mermaid diagrams, and unique encryption/decryption features, providing plug-and-play live rendering demonstrations.
I. Mainstream Static Site Generator (SSG) Content Format Support and Ecosystem Summary
Different Static Site Generators have varying architectural philosophies for content parsing. The table below systematically summarizes the native and extended support for various formats across mainstream engines:
| Static Site Generator / Platform | Core Parsing Engine | Native Built-in Support Formats | Extended / External Tool Support Formats | Front Matter Serialization Support |
|---|---|---|---|---|
| Hugo | Goldmark (Go) | .md (CommonMark/GFM), .html, .org (Org-mode) | .adoc (Asciidoctor), .rst (rst2html), .pdc (Pandoc) | YAML (---), TOML (+++), JSON ({}) |
| Astro (This Blog’s Architecture) | Vite + Unified/Remark + MDX | .md (GFM), .mdx (JSX), .html, .astro Components | Mountable AST Loader for Org/AsciiDoc/RST Extension | YAML, TOML, JSON |
| Jekyll | Kramdown (Ruby) | .md (Kramdown/GFM), .html | .textile (Textile Plugin) | YAML |
| Eleventy (11ty) | JavaScript Template Pipeline | .md, .html, .liquid, .njk, .ejs, .webc | MDX (Plugin), Custom Template Extension | YAML, JSON, JS/11tydata |
| Hexo | Marked / Hexo-Renderer | .md (GFM), .html, EJS/Pug Templates | Org-mode / Pandoc (Plugin Support) | YAML, JSON |
| Pelican | Python Docutils | .md (Markdown), .rst (reStructuredText) | .asciidoc (Asciidoctor) | YAML, Markdown Metadata |
| WordPress (Headless/Theme) | Gutenberg Block Engine | HTML5 Blocks, Shortcodes, Post Formats | Classic Editor HTML | JSON Block Metadata / Post Meta |
| VitePress / Docusaurus | Markdown-It / MDX | .md, .mdx, Vue/React Components | Custom Container Syntax (::: tip) | YAML |
[!NOTE] Ecosystem Architecture Insight: Hugo natively supports Markdown and Org-mode with Go’s high concurrency; while modern frontend SSGs like Astro, leveraging MDX and component-based Islands architecture, achieve ultimate flexibility by seamlessly embedding dynamic interactive UIs (such as the dropdown switcher, password pop-up, and vinyl record player demonstrated in this article) directly into the main content.
II. Front Matter Serialization Format Support Specification
The metadata (Front Matter) at the beginning of a blog post determines its routing, title, date, category, cover image, and protected status. This theme supports all mainstream serialization modes:
1. YAML Format (Most Widely Used, Recommended Default)
---
title: "Article Title"
pubDate: 2026-08-28
author: "shijianus"
tags: ["Astro", "Markdown"]
featured: true
postFormat: "aside"
---
2. TOML Format (Commonly Used by Hugo)
+++
title = "Article Title"
pubDate = 2026-08-28T00:00:00Z
author = "shijianus"
tags = ["Astro", "Markdown"]
featured = true
+++
3. JSON Format (API-Driven and Headless Scenarios)
{
"title": "Article Title",
"pubDate": "2026-08-28T00:00:00.000Z",
"author": "shijianus",
"tags": ["Astro", "Markdown"],
"featured": true
}
III. Comparison and Migration Reference for Special Lightweight Markup and Non-Markdown Formats
In different technology stacks, authors may use lightweight markup languages other than Markdown. The following provides the syntax features of mainstream formats and their equivalent presentation in this theme:
1. AsciiDoc (.adoc / .asciidoc)
AsciiDoc is commonly found in technical books and lengthy engineering manuals, featuring a rich system of admonition blocks and attributes:
// AsciiDoc Source Syntax
= AsciiDoc Technical Specification
:author: shijianus
:toc: macro
[NOTE]
====
This is an AsciiDoc-style note card.
====
[cols="1,2,1", options="header"]
|===
| Module | Description | Status
| Core Engine | Astro 6 Static Pipeline | Ready
|===
Equivalent Markdown / MDX Syntax in This Theme:
[!NOTE] This is an equivalent note card natively rendered in the Astro theme, with perfectly aligned style and interaction.
| Module | Description | Status |
|---|---|---|
| Core Engine | Astro 6 Static Pipeline | Ready |
2. Emacs Org-Mode (.org)
Org-mode is a powerful tool for Emacs users for knowledge management, task tracking, and document writing:
#+TITLE: Emacs Org-Mode Practice Notes
#+DATE: 2026-08-28
#+TAGS: Emacs OrgMode
* TODO Phase 1: Markdown Scan Enhancement [1/2]
- [X] Fix table and mobile overflow
- [ ] Complete Org-mode syntax converter
#+BEGIN_QUOTE
“Org-mode is not just a format; it's an executable thought workflow.”
#+END_QUOTE
Standard Static GFM Task List Presentation in this Theme (Read-only):
- Fix table and mobile overflow
- Complete Org-mode syntax converter
[!QUOTE] “Org-mode is not just a format; it’s an executable thought workflow.”
Interactive Tutorial Checklist & Chained Progression
In technical tutorials, practical exercises, and deployment guides, traditional read-only [ ] task checklists lack intuitive interaction and memorability. This theme specifically adds an interactive checklist (.article-task-tracker) that supports real-time checking and chained status linkage. Each time a reader checks an item, the dynamic progress bar will recalculate the percentage in real-time. Once all critical steps are confirmed, it will also automatically unlock downstream readiness instructions, making it ideal as a completion checklist for tutorials:
-
Confirm current working tree is clean, record backup hash in development audit log.
-
Set
BLOG_BUILD_TARGET=staticand Node.js 20+ runtime environment. -
Ensure all audio and video single file sizes are strictly controlled within 25MB, meeting CDN deployment specifications.
-
Verify that all rich media cards and interactive components are laid out correctly across multiple resolutions on PC and mobile.
Please complete each checked step in the list above in order; once all tasks are completed, production release instructions will be unlocked here in real-time.
3. reStructuredText (.rst)
reStructuredText is the standard documentation format for the Python community (e.g., Sphinx, ReadTheDocs):
.. reStructuredText source syntax
.. note::
This is a Note block defined by an RST directive.
.. code-block:: python
:linenos:
def greet(name: str) -> str:
return f"Hello, {name}!"
Markdown equivalent rendering in this theme:
[!NOTE] This is the RST Note equivalent card rendered in Astro according to GitHub Alert specifications.
def greet(name: str) -> str:
return f"Hello, {name}!"
4. Textile Syntax
Textile is a classic lightweight markup language (commonly found in Redmine and early Jekyll blogs):
h2. Section Title
bq. This is the content of a Textile blockquote.
*List Item 1*
_Emphasized Italic Text_
4. Full Implementation and Visual Presentation of WordPress-Style Post Formats
The classic Post Formats mechanism in the WordPress theme ecosystem allows blogs to display exclusive visual styles for different types of content. We have fully implemented all 9 of these formats in the main content column of this theme:
1. aside (Whisper / Memo / Snippet Card)
Suitable for recording brief thoughts, reminders, or temporary notes:
💡 Snippet Memo: The true value of static sites lies not in showing off technical prowess, but in delivering a pure reading experience with extreme speed and zero server-side maintenance burden. Even after five or ten years, the generated HTML files will still open perfectly.
2. status (Status Update / Musings / Micro-Quote)
A Twitter/Weibo-style instant status update card, including author avatar, client identifier, and mood tag:
Finally completed all format extensions and visual refactoring for the blog's main content column today! From KaTeX and Mermaid to interactive dropdowns and vinyl records, the feeling of full-stack static delivery is amazing 🚀✨
3. quote (Featured Quote / Grand Quote Card)
Used to display impactful personal quotes, design maxims, or golden phrases:
4. gallery (Image Gallery / Responsive Album and Polaroid Grid)
Supports multi-column adaptive responsive grids and Polaroid-style photo paper cards with a humanistic touch. Clicking any image triggers a full-screen lightbox zoom:
2-Column and 3-Column Responsive Gallery
Polaroid Photo Paper Gallery (Polaroid Style)
5. video (Responsive Video Player Card)
Supports 16:9 responsive aspect ratio, rounded borders, and a bottom caption. Each video occupies a full-width slot. Compatible with external proxy embeds from Bilibili and YouTube, as well as native MP4 files hosted on the site (single files kept under 25MB to meet Cloudflare Pages static deployment specifications):
External Video Embeds (Bilibili & YouTube Link Proxy Embeds · By default, readers need to scroll here and click to start playback)
Native MP4 Video Embeds on Site (Native HTML5 Video Player · Supports Playback Speed and Picture-in-Picture · Downloads Disabled by Default)
6. audio (Vinyl Record Spinning Music Card)
Built-in HTML5 audio controller that automatically triggers a stepless smooth vinyl record spinning animation when playing. All album covers use genuinely matched official high-definition album art, supporting various mainstream audio formats (lossless FLAC, high-bitrate MP3, AAC/M4A), and include built-in anti-scraping and download protection:
① Shaun - Way Back Home (FLAC Lossless Audio Format · 24.55MB)
② ヨルシカ (Yorushika) - 彼女は旅に出る (MP3 320Kbps High-Definition Format · 8.41MB)
③ すこっぷ feat. 初音ミク - アイロニ (M4A / AAC Format · 7.63MB)
7. link (External Link and Bookmark Preview Card / Bookmark Preview)
Provides elegant card-style previews for key references within the article:
EpoCanvas (Canvas of Time) is a modern geek blog content architecture system focused on high-density information presentation, elegant micro-interactions, and full format support.
8. chat (Chat Bubble Dialogue Flow / Organic Animated Dialogue Stream)
Used for vivid demonstrations of technical defenses, two-person discussions, or user interview scenarios, supporting left/right bubbles, inline code, custom color schemes, and dynamic content-adaptive typing animation effects, Web Audio synthesized sound effects, and dynamic avatars (footer_mini_logo__media):
- Static Mode (Default):
<div class="article-chat">maintains a lightweight, purely static presentation with zero JS overhead; - Enable Dynamic Demo (Parameter Control): Configure
data-animate="true"(orclass="article-chat is-animated"), and the system will automatically trigger a realistic, time-sequenced typing animation and dedicated left/right prompt sounds, determined by character length and natural randomness, when the reader first scrolls into the viewport; - Non-Mechanical Dynamic Timing (Content-Length Aware Timing): The system intelligently determines the duration of the typing indicator based on the length of the speech (short sentences flash for 380ms, long technical paragraphs involve 1000ms+ typing contemplation), and incorporates natural pauses and subtle frequency sound effect jitters between bubbles, consistent with human reading judgment;
- Dynamic Video Avatar Support (
footer_mini_logo__media): Avatars support embedding MP4 micro-video animations and static fallback posters; - Single Trigger and Reload Guarantee: Automatically locks after the first scroll-in trigger; subsequent repeated scrolling will not re-trigger and disturb reading. It will only be re-ready when the user refreshes the page (F5). It also provides a micro-control bar in the top right corner with ”↺ Replay” and ”🔊/🔇 Sound Toggle”.
KaTeX and Mermaid in Astro slow down the frontend page loading speed?
remark-math and rehype-katex already compile formulas into pure HTML/MathML strings during the build-time, resulting in 0 JS runtime overhead on the browser side; and Mermaid diagrams are dynamically loaded as ESM modules on demand, making the initial screen extremely fast! ⚡
V. Special Dropdown Formats and Dynamic Interactive Components (Dropdown Selectors & Interactive Formats)
For special dropdown formats explicitly requested by users, we provide client-side, instantly responsive dropdown selector components within the article body:
1. Multi-Framework and Multi-Code Version Dropdown Switcher (Interactive Dropdown Switcher)
Readers can freely select a technical framework from the dropdown, and the main content panel will switch to the corresponding content and code in real-time without refreshing:
import { useState } from 'react';
export function Counter() {
const [count, setCount] = useState(0);
return (
<button onClick={() => setCount((c) => c + 1)} className="btn-primary">
React Click Count: {count}
</button>
);
}
<script setup lang="ts">
import { ref } from 'vue';
const count = ref(0);
</script>
<template>
<button @click="count++" class="btn-primary">
Vue Click Count: {{ count }}
</button>
</template>
---
const { title = "Astro Speed Islands" } = Astro.props;
---
<div class="astro-island">
<h3>{title}</h3>
<p>Delivers 0KB JavaScript by default, hydrates interactivity on demand!</p>
</div>
<script lang="ts">
let count = $state(0);
</script>
<button onclick={() => count++} class="btn-primary">
Svelte Click Count: {count}
</button>
2. Interactive Multi-Category Universal Unit Converter (Base Unit Dropdown Switching & Live Exchange Rates)
Supports users freely entering any base numerical value in the input box (default value is 1, supports increment/decrement steppers and one-click reset), and instantly and seamlessly converting between different categories (Mass/Weight, International Exchange Rates, Data Storage, Network Bandwidth, Length/Dimensions):
- Dynamically Switchable Conversion Base (Base Unit Dropdown): The base unit to the right of the input box supports free selection via dropdown (e.g., for mass,
kg,g,lb,斤,oz,tetc. can be selected; for exchange rates,USD,HKD,CNY,EUR,JPY,GBPetc. can be selected). After selecting any base unit, the target conversion grid will intelligently and automatically exclude the current base unit (completely eliminating redundant 1kg=1kg cards), and instantly recalculate all target units using the current base as the denominator; - Live Forex API Integration (Real-time Exchange Rate Fluctuations): When switching to ’💱 International Exchange Rates’, the system will automatically asynchronously request the
/api/exchange-rateendpoint from the server and fall back to a public real-time exchange rate interface to obtain the latest real-time rates for major currencies (top right displays🟢 Live Network Exchange Rates Synced); when offline or disconnected, it automatically and seamlessly falls back to built-in base ratios (displays⚪ Offline Base Exchange Rates), ensuring “real-time” is truly real-time and the offline experience is rock-solid; - Convenient Universal API Call: The system also globally exposes the
window.shijianusAPI.fetchExchangeRates(base)helper function, making it convenient for any custom script within the documentation to instantly call real-time rate data; - Quick One-Click Copy & Equation Derivation: Each conversion card provides a one-click copy button with highlight feedback, and a dynamic equation chain derivation summary is simultaneously displayed at the bottom.
3. Specification Parameters and Video Encoding Dropdown Calculator (Interactive Spec Calc Dropdown)
When different options are selected, the corresponding technical indicators and conversion explanations are displayed in real-time on the right:
6. Accordion Collapsibles, Tabs & Multi-Column Layout (Collapsibles, Tabs & Columns)
1. Exclusive Accordion Group · Expands one item, automatically collapsing others
Configure data-single="true". When one item is expanded, other expanded items within the same group will automatically collapse, keeping the page clean and focused:
🔒 1. Security Advantages of Static Sites
Static sites lack traditional PHP/Node.js dynamic execution engines and SQL databases exposed to the public network, making them physically immune to SQL injection and Server-Side Remote Code Execution (RCE) risks.
⚡ 2. Global CDN Edge Accelerated Delivery
By deploying compiled artifacts to Cloudflare Pages or GitHub Pages, all static resources can be cached at over 300 edge nodes worldwide, with First Byte Time (TTFB) typically below 20ms.
💰 3. Extremely Low Cloud Hosting Costs
Static sites do not require expensive VPS cloud servers to run 24/7. Coupled with the free tier of Cloudflare D1 database and a Serverless comment system, daily operational costs are almost zero.
2. Multi-Expand / Non-Exclusive Accordion Group · Allows multiple items to be expanded simultaneously
Configure data-single="false" (or default multi-open mode). Readers can freely expand multiple or all collapsible items for side-by-side comparison and in-depth reading, without new expansions closing already open content:
🛠️ Architecture Module A: Markdown AST Syntax Compiler Pipeline
Based on the Unified, Remark-math, and Rehype-katex architecture, the Markdown syntax tree is fully statically transformed into standard semantic HTML nodes during the compilation and build phase, with highlighting and formula generation completed on the Node.js side.
🎨 Architecture Module B: EpoCanvas Dynamic Visual Engine and Responsive System
Provides Aurora backgrounds, Starfield parallax, Glassmorphism, and multi-device responsive breakpoint adaptation, delivering a consistent aesthetic experience on both 4K widescreen displays and foldable phones.
🛡️ Architecture Module C: WebCrypto SHA-256 Tiered Security Isolation System
Features Level 1 persistent session unlock, Level 2 anti-peep dynamic polymorphic masks (Gaussian blur/mosaic/spoiler mask), Level 3 viewport sentinel "lock on leave," and external URL sharding encryption, completely preventing plaintext passwords from being exposed in the DOM.
3. Interactive Tabs
pnpm add @astrojs/mdx remark-math rehype-katex katex mermaid
npm install @astrojs/mdx remark-math rehype-katex katex mermaid
yarn add @astrojs/mdx remark-math rehype-katex katex mermaid
bun add @astrojs/mdx remark-math rehype-katex katex mermaid
4. Multi-Column Grid Layout System
3-Column Equal-Width Card Grid
🎨 Visual System
Deeply incorporates EpoCanvas's modern geek design aesthetics, supporting high contrast dark/light modes, frosted glass backgrounds, and smooth color transitions.
⚡ Performance Engineering
Astro 6 static island architecture, build-time HTML pre-rendering, pure static for ultimate SEO optimization.
🛠️ Extension Ecosystem
Full support for KaTeX formulas, Mermaid diagrams, encrypted pop-ups, and 9 Post Formats.
1:2 Unequal Sidebar Grid
📌 Architectural Positioning
Focused on being a modern technical writing vehicle for geeks and engineers.
🚀 Delivery Assurance
Built-in comprehensive automated smoke testing and static build verification mechanisms ensure flawless rendering on all devices, whether for formulas, diagrams, or complex cards.
VII. 13 Semantic Admonition Boxes (Admonitions / GitHub Alerts)
Based on GitHub Alert and EpoCanvas design specifications, supporting 13 different semantic colored cards, and allowing default collapsing using the [!TYPE]- syntax:
[!NOTE] Regular Note (Note): This is a standard piece of background information or contextual explanation.
[!TIP] Practical Tip (Tip): Use the shortcut Ctrl + K to quickly bring up the global article search panel!
[!IMPORTANT] Important Matter (Important): Before deploying to a production environment, please confirm that the
BLOG_BUILD_TARGET=staticenvironment variable has been correctly injected.
[!WARNING] Risk Warning (Warning): Do not commit production database keys or cloud service private keys to public Git repositories.
[!CAUTION] Danger Alert (Caution): Performing a data table rebuild operation is destructive; please back up your D1 database first!
[!DANGER] Fatal Danger (Danger): Directly deleting the production database will result in the permanent loss of all comments and user assets.
[!SUCCESS] Operation Successful (Success): The static build process has been successfully completed, and all 47 static routes are ready!
[!QUESTION] Problem Discussion (Question): How can millisecond-level pure client-side full-text search be achieved in an environment without server-side dependencies?
[!QUOTE] Selected Quote (Quote): “Good code is not only executable by machines but also elegantly conveys ideas to humans, like poetry.”
[!INFO] Detailed Information (Info): This blog is built on Astro 6 and Tailwind 4, with the entire site exported as pure static.
[!TODO] To-Do Plan (Todo): Planning to introduce WebAssembly client-side full-text search indexing in the next iteration.
[!BUG] Bug Record (Bug): Fixed the layout issue of horizontal table truncation in older versions on extremely narrow-screen devices.
[!EXAMPLE] Example Explanation (Example): All the admonition boxes above automatically adapt to high-contrast colors in both dark and light modes.
Collapsible Admonition Demo
[!TIP]- Click to expand and view: Production Environment Nginx High-Speed Cache Configuration Reference
location ~* \.(?:css|js|woff2?|svg|png|jpg|webp)$ { expires 1y; add_header Cache-Control "public, immutable"; access_log off; }
8. Academic Math Formulas (KaTeX), Architecture Diagrams (Mermaid 11), and Dynamic Mind Maps (Markmap)
In demonstrative and example-based technical documentation, the core presentation concept is “Actual Rendered Effect + Corresponding Source Code Comparison” (Tabs), which not only allows readers to intuitively experience the final visual and interactive features but also enables developers to easily reference, copy, and migrate to their actual projects with a single click.
1. LaTeX Math Formulas (KaTeX Math · Inline and Block Multi-line Derivations)
Inline Formula (Inline Formula)
Mass-energy equation E=mc2, Euler’s identity eiπ+1=0, Gaussian integral ∫−∞∞e−x2dx=π.
Mass-energy equation $E = mc^2$, Euler's identity $e^{i\pi} + 1 = 0$, Gaussian integral $\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}$.
Block Multi-line Derivation Formula 1: Laplace Transform of a Second-Order Dynamic System (Block Math · Single Equation)
$$
\mathcal{L}\{\ddot{x}(t) + 2\zeta\omega_n\dot{x}(t) + \omega_n^2 x(t)\} = X(s)(s^2 + 2\zeta\omega_n s + \omega_n^2)
$$
Block Multi-line Derivation Formula 2: Maxwell’s Classical Electromagnetic Equations (Block Math · Multi-line Aligned)
$$
\begin{aligned}
\nabla \cdot \mathbf{E} &= \frac{\rho}{\varepsilon_0} \\
\nabla \cdot \mathbf{B} &= 0 \\
\nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \\
\nabla \times \mathbf{B} &= \mu_0 \mathbf{J} + \mu_0 \varepsilon_0 \frac{\partial \mathbf{E}}{\partial t}
\end{aligned}
$$
2. Mermaid 11 Architecture Diagrams (Flowchart & Sequence)
① Blog Encryption Verification and Content Rendering Flowchart (Flowchart TD)
flowchart TD
A[Reader visits post] --> B{Is the post encrypted?}
B -- Yes --> C[Pop up frosted glass password dialog]
C --> D{Password verification}
D -- Correct --> E[Decrypt and render content]
D -- Incorrect --> F[Trigger window shake and red text warning]
F -. Re-enter password .-> C
B -- No --> E
E --> G[Render KaTeX formulas and Mermaid diagrams]
G --> H[Present full immersive reading experience]
```mermaid
flowchart TD
A[Reader visits post] --> B{Is the post encrypted?}
B -- Yes --> C[Pop up frosted glass password dialog]
C --> D{Password verification}
D -- Correct --> E[Decrypt and render content]
D -- Incorrect --> F[Trigger window shake and red text warning]
F -. Re-enter password .-> C
B -- No --> E
E --> G[Render KaTeX formulas and Mermaid diagrams]
G --> H[Present full immersive reading experience]
```
② Client-side Security Authentication and Decryption Sequence Diagram (Sequence Diagram)
sequenceDiagram
autonumber
actor User as Reader (User)
participant Browser as Client Browser
participant PostPage as Post Rendering Engine
participant Security as Encryption Security Module
User->>Browser: Clicks protected encrypted content
Browser->>PostPage: Prompts password input dialog
User->>Browser: Enters access key
Browser->>Security: Verifies password Hash
alt Verification successful
Security-->>Browser: Returns unlock token
Browser->>PostPage: Decrypts content and displays smoothly
else Verification failed
Security-->>Browser: Returns password error
Browser->>User: Triggers window shake and red text warning
end
```mermaid
sequenceDiagram
autonumber
actor User as Reader (User)
participant Browser as Client Browser
participant PostPage as Post Rendering Engine
participant Security as Encryption Security Module
User->>Browser: Clicks protected encrypted content
Browser->>PostPage: Prompts password input dialog
User->>Browser: Enters access key
Browser->>Security: Verifies password Hash
alt Verification successful
Security-->>Browser: Returns unlock token
Browser->>PostPage: Decrypts content and displays smoothly
else Verification failed
Security-->>Browser: Returns password error
Browser->>User: Triggers window shake and red text warning
end
```
3. Dynamic Interactive Mind Map (Markmap / Mindmap · Multi-directional Branch Expansion)
In lengthy technical specifications and system architecture overviews, traditional static lists struggle to visually represent complex knowledge structures. This theme newly implements the Markmap Dynamic Interactive Mind Map Engine, achieving thorough native parsing and enhanced interactivity within the article’s main column (.post.post-page-shell):
[!TIP] Core Rules for Multi-directional Branch Expansion:
- Default Single Block Protected Space: By default, the mind map only displays 1 core root node (Level 1), with a collapsible dot indicator on the right side;
- Click to Expand Multi-directional Branches: Clicking the dot on a root node or any child node will cause its sub-branches to smoothly spread outwards;
- All-in-one Toolbar Control: Supports Zoom In / Zoom Out / Center & Fit / Expand All / Collapse Single Block / Full-screen Immersive Reading / Copy Source Code;
- Canvas Drag and Zoom: Hold the left mouse button to freely drag and pan the canvas, and scroll the mouse wheel to zoom the view.
Live Mind Map Presentation: SSG and Theme Content Format Ecosystem Overview
# Static Site Generator and Full-Format Content Ecosystem Architecture
## 1. Static Compilation Core Pipeline
### AST Syntax Transformation Pipeline
#### Markdown / MDX Semantic Parsing Pipeline
##### Unified / Remark Syntax Extensions
- GFM Table and Strikethrough Syntax Conversion
- Automatic Generation of Heading Anchors and IDs
##### Markmap Interactive Multi-directional Mind Map Extension
- Recursive AST Tree Construction (Transformer.transform)
- D3 Hierarchical Elastic Layout (Flextree Algorithm)
- Interactive Collapse State Machine (payload.fold)
- Dynamic Color Palette Branch Coloring (d3.scaleOrdinal)
##### Rehype Katex Math Formula Extension
- Inline and Block Math Formula Parsing
- Macro Definition Support and Error Fallback
#### Code Highlighting and Static Colorizer
##### Shiki Dual-Theme Compiler
- VSCode TextMate Grammar Rule Parsing
- Light/Dark Mode Dual-Theme Pre-rendering Zero Hydration
### Compiler and Resource Bundling
#### Vite 6 Ultra-fast Hot Module Replacement (HMR)
##### ESM Native Module Loading
- Millisecond-level On-demand Compilation and Hot Updates
#### Rollup Static Generation Pipeline
##### Static Bundling Optimization
- Intelligent Code Splitting
- Tree-Shaking Redundancy Elimination
## 2. Dynamic Interactivity and Islands Architecture
### Hybrid Component Islands
#### Client Component Island Mounting
##### React 19 Client Components
- Independent State Isolation and Context Communication
- Session State Persistence (SessionStorage / Crypto)
##### Astro Server-Side Islands
- Zero Runtime Client JS (Zero-JS by Default)
- On-demand Activation of Interactive Islands (client:visible)
### Modern Visuals and Animation System
#### Dynamic Backgrounds and Rendering Engine
##### Aurora / Starfield
- WebGL / Canvas 2D Hardware Acceleration
- Power Saving Mode and Automatic Pause on Viewport Exit
##### Glassmorphism Card Specification
- Dynamic Gaussian Blur and Multiple Ambient Shadows
- Responsive Full-Platform Adaptive Layout (PC / Pad / Mobile)
## 3. Format Overview and Special Features
### Extended Document Specification Comparison
#### AsciiDoc (.adoc) Native Equivalent Adaptation
#### Emacs Org-Mode (.org) Task List Mapping
#### reStructuredText (.rst) Directive Conversion
### Rich Interactive Component Set
#### Interactive Dropdown Switcher
#### Mutually Exclusive Accordion Collapse Cards (Accordion Groups)
#### Dynamic Vinyl Record Audio Player (Vinyl Audio)
### Security, Privacy, and Graded Encryption
#### WebCrypto SHA-256 Hash Verification (No Plaintext Exposure)
#### Level 1 Session Persistent Unlock
#### Level 2 Anti-Peep Mask Toggle (Gaussian Blur / Mosaic / Spoiler Mask)
#### Level 3 Viewport Anti-Peep Lock on Exit (IntersectionObserver)
#### External Segmented Decryption Endpoint Isolation (Standalone Token)
```mindmap
# Static Site Generator and Full-Format Content Ecosystem Architecture
## 1. Static Compilation Core Pipeline
### AST Syntax Transformation Pipeline
#### Markdown / MDX Semantic Parsing Pipeline
##### Unified / Remark Syntax Extensions
- GFM Table and Strikethrough Syntax Conversion
- Automatic Generation of Heading Anchors and IDs
##### Markmap Interactive Multi-directional Mind Map Extension
- Recursive AST Tree Construction (Transformer.transform)
- D3 Hierarchical Elastic Layout (Flextree Algorithm)
- Interactive Collapse State Machine (payload.fold)
- Dynamic Color Palette Branch Coloring (d3.scaleOrdinal)
##### Rehype Katex Math Formula Extension
- Inline and Block Math Formula Parsing
- Macro Definition Support and Error Fallback
#### Code Highlighting and Static Colorizer
##### Shiki Dual-Theme Compiler
- VSCode TextMate Grammar Rule Parsing
- Light/Dark Mode Dual-Theme Pre-rendering Zero Hydration
### Compiler and Resource Bundling
#### Vite 6 Ultra-fast Hot Module Replacement (HMR)
##### ESM Native Module Loading
- Millisecond-level On-demand Compilation and Hot Updates
#### Rollup Static Generation Pipeline
##### Static Bundling Optimization
- Intelligent Code Splitting
- Tree-Shaking Redundancy Elimination
## 2. Dynamic Interactivity and Islands Architecture
### Hybrid Component Islands
#### Client Component Island Mounting
##### React 19 Client Components
- Independent State Isolation and Context Communication
- Session State Persistence (SessionStorage / Crypto)
##### Astro Server-Side Islands
- Zero Runtime Client JS (Zero-JS by Default)
- On-demand Activation of Interactive Islands (client:visible)
### Modern Visuals and Animation System
#### Dynamic Backgrounds and Rendering Engine
##### Aurora / Starfield
- WebGL / Canvas 2D Hardware Acceleration
- Power Saving Mode and Automatic Pause on Viewport Exit
##### Glassmorphism Card Specification
- Dynamic Gaussian Blur and Multiple Ambient Shadows
- Responsive Full-Platform Adaptive Layout (PC / Pad / Mobile)
## 3. Format Overview and Special Features
### Extended Document Specification Comparison
#### AsciiDoc (.adoc) Native Equivalent Adaptation
#### Emacs Org-Mode (.org) Task List Mapping
#### reStructuredText (.rst) Directive Conversion
### Rich Interactive Component Set
#### Interactive Dropdown Switcher
#### Mutually Exclusive Accordion Collapse Cards (Accordion Groups)
#### Dynamic Vinyl Record Audio Player (Vinyl Audio)
### Security, Privacy, and Graded Encryption
#### WebCrypto SHA-256 Hash Verification (No Plaintext Exposure)
#### Level 1 Session Persistent Unlock
#### Level 2 Anti-Peep Mask Toggle (Gaussian Blur / Mosaic / Spoiler Mask)
#### Level 3 Viewport Anti-Peep Lock on Exit (IntersectionObserver)
#### External Segmented Decryption Endpoint Isolation (Standalone Token)
```
Markdown Writing Guidelines and Syntax Reference
The Mindmap rendering engine integrated into this blog is based on AST recursive parsing and D3 Flextree elastic tree layout, natively supporting infinite level expansion (Level 1 to Level N), without any depth limitations. When writing articles, authors can choose the following writing guidelines based on the vertical complexity of the knowledge tree:
1. Hybrid Stepped Syntax (Recommended 1-6 Core Levels + Infinite List Deep Derivations)
Standard Markdown headings support 6 levels of depth (# to ######). Below the 6th level, you can continue to derive infinitely downwards (Level 7, Level 8, Level 9…) using unordered list items (-, *) combined with spaces for indentation:
```mindmap
# Level 1 Core Topic (H1)
## Level 2 Domain Branch (H2)
### Level 3 Subsystem (H3)
#### Level 4 Technical Module (H4)
##### Level 5 Component Unit (H5)
###### Level 6 Algorithm Specification (H6)
- Level 7 Detailed Execution Aspects (List item)
- Level 8 Sub-item Parameters (Indent +2 spaces)
- Level 9 Low-level Hardware Primitives (Indent +4 spaces)
```
2. Pure List Infinite Indentation Syntax (Recommended for >6 Levels or Extremely Deep Knowledge Trees)
If Markdown heading semantics are not required, or if the knowledge network has extremely deep levels (e.g., classification trees, conceptual deductions, AST structures), you can directly use unordered lists (-) and express theoretically infinite depth multi-directional branches through 2 or 4 spaces of indentation:
```mindmap
- 🌐 Root Topic: Computer Science Knowledge Graph (Level 1)
- 🖥️ Software System Engineering (Level 2)
- 📦 Operating Systems and Kernels (Level 3)
- ⚙️ Process and Thread Scheduling (Level 4)
- 🔄 Concurrency Synchronization Primitives (Level 5)
- 🔒 Mutexes and Semaphores (Level 6)
- ⚡ Hardware-level CAS Atomic Instructions (Level 7)
- ⏱️ Cache Coherency MESI Protocol (Level 8)
- 🔬 Memory Barriers and Pipelined Instruction Reordering (Level 9)
```
3. Inline Advanced Parameter Control (Optional JSON Header)
You can use a single-line JSON object in the first line of the code block to customize the initial state and appearance dimensions of the mind map:
```mindmap
{"initialExpandLevel": 2, "height": "560px", "title": "Full-Stack Engineering Architecture Panorama"}
# Core Topic
## Level 1 Branch A
### Level 2 Branch A1
- Detailed Knowledge Point 1
```
initialExpandLevel: Initial expansion level.1for single-block root node collapsed protection mode;2for expansion to the main trunk;6for full expansion.height: Specifies the canvas height, e.g.,"480px","600px"(default"460px").title: Custom mind map Header title text.
4. Interactive Features and Viewport Operation Guide
- Click to Smoothly Drill-down: Click on a node with a pulsating glow dot or text to smoothly expand/collapse its subordinate multi-directional branches;
- One-click Expand/Collapse: The toolbar provides
⊞(one-click expand all branches) and⊟(one-click restore to initial single block); - Adaptive Centering (Fit View): Click
🎯to automatically calculate the best centered view based on all currently expanded nodes; - Full-screen Immersive Mode: Click
⛶to expand to a full-screen independent canvas (pressEscto exit anytime), gaining infinite horizontal exploration space; - Real-time Metadata Perception: The Header bar displays the current mind map’s total number of nodes and maximum depth in real-time (e.g.,
53 Nodes · 6 Level Branch Structure).
IX. Security & Privacy, Tiered Encryption (Level 1/2/3), and Standalone Segmented Decryption Special Features
To completely prevent passwords from being exposed in plain text within DOM attributes (e.g., data-password easily spied upon by element inspection), this blog’s content system has been fully upgraded to WebCrypto SHA-256 Hash Verification (data-hash), establishing a three-tier in-document local encryption and standalone segmented decryption system:
- Default Security Reset Rule (Zero Persistence on Reload): By default, all encrypted content (Level 1, Level 2, Level 3, and standalone decryption gates) will firmly and automatically reset to a locked state after a page refresh (F5 / reload), completely avoiding the security risk of remaining exposed after a page refresh;
- Open Persistence Parameters (
data-persist): To meet the open requirements of special document scenarios, the default reset policy can be overridden via parameter configuration:data-persist="session"(ordata-persist="true"): Maintains unlocked status across refreshes during the current tab session;data-persist="local": Persistently remembers the unlocked state in local browser storage;- Default (not configured): Pure memory lifecycle, page refresh immediately triggers a secure reset to locked state.
1. Level 1 Encryption: Single-Page Basic Encryption (Level 1 · Default Refresh Reset)
Enter access credentials once to unlock and read the main content. By default, refreshing the page will automatically re-lock it immediately. To maintain access across refreshes, add data-persist="session" to the tag:
Core development environment parameters unlocked:
DEPLOY_ENDPOINT:https://api.shijian.us/v2/deploy/coreAUTH_SCOPE:read:articles, write:releases
2. Level 2 Encryption: Mask Protection After Decryption (Level 2 · Mask Protection)
Although content is decrypted upon successful verification, it automatically enters a Gaussian blur anti-peep mask state by default (the toggle bar is not displayed by default; hovering the mouse reveals the content clearly), effectively resisting close-range screen peeking.
- Enable Toolbar: Configure
data-allow-select="true"to enable the mask toggle toolbar. The toolbar is also protected within the mask by default (when hovering the mouse, the toolbar and content are clearly revealed together and can be clicked to switch); if you need the toolbar to remain outside the mask, configuredata-toolbar-masked="false"; - Specify Mask Method: You can force a specific mask mode via
data-mask="blur|mosaic|spoiler|reveal"; - Custom Settings Bar: Supports passing
data-mask-options="blur,mosaic"in Markdown tags to quickly customize optional modes, or directly writing the<div class="encrypted-mask-toolbar">structure in the main content, and the system will automatically scan and activate the custom settings bar; - Refresh Reset Guarantee: By default, the page automatically re-locks after refresh.
Below is the EpoCanvas business support budget allocation for 2026:
- Enterprise Private Deployment License Fee: ¥ 280,000 / year (includes high-availability cluster and SLA guarantee)
- Edge CDN Traffic Expenditure: ¥ 36,500 / month
- Dedicated Technical Consultant Key:
sec_corp_epocanvas_key_2026
3. Level 3 Encryption: Re-lock Immediately Upon Leaving Viewport (Level 3 · Viewport Auto-Lock)
Ultra-high security level! No persistent storage is written; once the decrypted content leaves the current screen viewport during scrolling, or the browser tab switches to the background, the system will instantly re-lock automatically, requiring re-entry of the password to view again:
Please note: This information is only visible within the current viewport. Scrolling down or up to move it off-screen will automatically lock it:
# 核心节点紧急自毁 / 切换指令
curl -X POST https://cluster.shijian.us/v1/node/failover \
-H "X-Root-Token: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
4. External Link Segment Decryption Gate
During the build phase or architectural layering, the same article can be physically divided into a public body segment and an externally linked controlled ciphertext segment. Creators can insert an external decryption gate at the end of the article or at any point within a chapter to dynamically decrypt and seamlessly mount the complete latter half of the body text after credential verification:
🔐 Deep Chapters of Body Text Are Stored in External Isolation
This long article has enabled **external segment isolation storage** during the build phase: the first 75% of basic syntax and component descriptions are publicly delivered; core enterprise-grade engineering implementation solutions and architectural derivation demonstrations have been encrypted and stored. Click the button below to enter the key, and the remaining body content will be seamlessly decrypted and mounted in real-time on the current page.
📦 External Segment Decrypted Body: Enterprise-Grade SSG Content Engineering Implementation Specification
Congratulations, you have successfully unlocked the core external segment content of this article! In modern large-scale static knowledge base engineering, storing highly sensitive or paid premium content using external segment encryption offers the following key advantages:
- Minimal First-Screen Load: Unauthorized visitors only fetch basic public HTML, reducing network overhead by over 60%;
- Anti-Scraping and Anti-Reverse Engineering: Sensitive ciphertext and keys are stored in isolation, preventing static crawlers from extracting any valid data from the public DOM;
- Seamless Streaming Access: Through the client-side WebCrypto engine, readers can enjoy a continuously unfolding reading experience on the current page without any page redirects.
5. Inline Gaussian Blur, Mosaic, and Spoiler Hiding
In addition to block-level encryption, the body text also offers a variety of lightweight anti-peeking and fun masking options:
- Text Gaussian Blur: This is a critical spoiler text protected by a Gaussian blur; hover or click to reveal!
- Blackout Mosaic: Confidential Data: SHA256-7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069
- Discord Spoiler Mask: ||This is a spoiler mask enclosed by double vertical bars; click to reveal.||
- Inline Hidden Lock: %%This is inline hidden content enclosed by percentage signs; click to expand.%%
Image Gaussian Blur Protection
X. Timelines, Step Bars, Definition Lists, and Data Tables
1. Vertical Timeline
Established a new Content Collections architecture and Shiki code highlighting pipeline.
Completed 13 types of Admonitions, KaTeX math formulas, and a password pop-up decryption system.
Provided a one-click seamless content migration toolchain from Hexo/WordPress to Astro.
2. Tutorial Steps
Write Markdown or MDX Articles
Create .md files in the src/content/posts/ directory and declare Front Matter metadata.
Freely Combine Rich Media Cards and Interactive Components
Select dropdown switchers, vinyl music cards, gallery albums, or encryption/decryption blocks as needed.
One-Click Static Compilation and Second-Level Publishing
Execute npm run build to generate pure static assets, then push to Cloudflare CDN for global acceleration.
3. Definition Lists & Specs
- Astro Islands
- Splits pages into static HTML skeletons and independently hydrated interactive components, significantly reducing JavaScript size.
- KaTeX Compiler
- Completes AST parsing of LaTeX syntax during build time, with zero additional client-side rendering latency.
- Post Formats
- A content format definition specification originating from WordPress, used to give different article types their exclusive layout appearance.
11. Rich Text Inline Micro-Typography and Badges
- Multi-color Highlighting (HTML Tag Form):
- Yellow Highlight (Key Annotation)
- Green Highlight (Successful Recommendation)
- Blue Highlight (Information Clue)
- Pink Highlight (Design Inspiration)
- Purple Highlight (In-depth Principle)
- Orange Highlight (Operation Warning)
- Red Highlight (Risk Alert)
- Cyan Highlight (Network Protocol)
- Quick Syntax Sugar Highlighting (
==Color:Content==Form):- ==Default Highlight Text (Automatic Yellow)==
- ==green:Green Highlight Syntax Sugar (Agile Marking)==
- ==blue:Blue Highlight Syntax Sugar (Architectural Element)==
- ==pink:Pink Highlight Syntax Sugar (Interface Beautification)==
- ==purple:Purple Highlight Syntax Sugar (Core Algorithm)==
- Status Badges:
- Recommended (Primary)
- Approved (Success)
- Attention (Warning)
- Danger (Danger)
- Information (Info)
- Architecture (Purple)
- Network (Cyan)
- Hardware (Orange)
- Key Display: Ctrl + Shift + P to open the global command palette.
- Multilingual Phonetics and Pronunciation Annotation (Ruby / Multilingual Phonetics):
- Chinese Hanyu Pinyin: 時間 · 画布 · 極客
- Chinese Bopomofo (Taiwanese Zhuyin): 時間 · 極客 · 編程
- Japanese Kanji + Hiragana Furigana (Kun’yomi/On’yomi): 時間 · 明日 · 儚い
- Japanese Katakana Loanwords & Ateji: 画布 · 電脳 · 宇宙
- Japanese Jukujikun (Special Gikun Readings): 煙草 · 大人 · 今日
- English Words + IPA International Phonetic Alphabet Transcription: EpoCanvas · Aesthetics · Chronos
- French IPA and Special Liaisons: Rendez-vous · Déjà-vu · C’est la vie
- German Umlaut and Compound Word Pronunciation: Zeitgeist · Schadenfreude
- Greek and its Latin Transliteration: Φιλοσοφία · Καλημέρα
- Korean Hanja + Hangul Pronunciation: 時間 · 極客 · 未來
- Russian/Cyrillic Alphabet IPA: Привет · Спасибо
- Sanskrit Devanagari + IAST Transliteration: नमस्ते · शान्तिः
- Abbreviation Explanations: SSG and SPA.
- Wavy and Dashed Underlines: Wavy Emphasis Underline and Dashed Emphasis Underline.
- Call to Action Buttons (CTA Buttons):
XII. Footnotes and Hover Popovers (Footnotes)
In academic or long-form technical articles, footnotes are an indispensable form of citation. Hovering over the footnote superscript below will directly display a definition popover1, without leaving the current reading viewport2.
Conclusion: Building a Future-Oriented Content Presentation System
Through this comprehensive upgrade and expansion, shijianus-blog has achieved panoramic coverage in the main content column (.article-body.post-content) for mainstream SSG content formats, WordPress Post Formats, interactive dropdowns, accordion collapses, LaTeX formulas, Mermaid diagrams, and unique features like password encryption.
Whether it’s a rigorous long-form technical paper or a lighthearted personal essay, every creator can find the most suitable form of expression within this system!
Footnotes
-
SSG Content Specification: Mainstream static site generators adhere to modern content engineering standards, centered on Markdown/GFM and extended with MDX or templating languages. ↩
-
EpoCanvas Aesthetic Specification: With refined micro-interactions, high-contrast colors, and restrained whitespace, it delivers a first-class reading experience for the Chinese and global geek communities. ↩
Guía panorámica de generadores de sitios estáticos (SSG) y formatos de contenido de temas
En la ingeniería moderna de generadores de sitios estáticos (SSG) y temas de blogs independientes, la capacidad de análisis y presentación del formato del contenido de los artículos determina directamente los límites de expresión del creador y la experiencia de lectura del lector.
Esta guía, combinando las especificaciones de contenido de los principales ecosistemas de SSG (Hugo, Jekyll, Eleventy, Astro, Pelican, Hexo, WordPress, VitePress, etc.), establece un sistema panorámico que cubre Markup básico, lenguajes de documentos extendidos, formatos de publicación de WordPress, selectores desplegables interactivos, acordeones, fórmulas matemáticas LaTeX, diagramas Mermaid y funciones especiales de cifrado/descifrado, y proporciona demostraciones de renderizado en vivo plug-and-play.
1. Resumen del soporte de formatos de contenido y ecosistema de los principales generadores de sitios estáticos (SSG)
Los diferentes generadores de sitios estáticos tienen filosofías de selección distintas en cuanto a la arquitectura de análisis de contenido. La siguiente tabla resume sistemáticamente el soporte nativo y extendido de los motores principales para varios formatos:
| Generador de sitios estáticos / Plataforma | Motor de análisis principal | Formatos soportados nativamente | Formatos soportados por extensión / herramientas externas | Soporte de serialización Front Matter |
|---|---|---|---|---|
| Hugo | Goldmark (Go) | .md (CommonMark/GFM), .html, .org (Org-mode) | .adoc (Asciidoctor), .rst (rst2html), .pdc (Pandoc) | YAML (---), TOML (+++), JSON ({}) |
| Astro (Arquitectura de este blog) | Vite + Unified/Remark + MDX | .md (GFM), .mdx (JSX), .html, .astro Componentes | Puede montar AST Loader para extender Org/AsciiDoc/RST | YAML, TOML, JSON |
| Jekyll | Kramdown (Ruby) | .md (Kramdown/GFM), .html | .textile (Plugin Textile) | YAML |
| Eleventy (11ty) | Pipeline de plantillas JavaScript | .md, .html, .liquid, .njk, .ejs, .webc | MDX (Plugin), Extensión de plantilla personalizada | YAML, JSON, JS/11tydata |
| Hexo | Marked / Hexo-Renderer | .md (GFM), .html, Plantillas EJS/Pug | Org-mode / Pandoc (soporte de plugin) | YAML, JSON |
| Pelican | Python Docutils | .md (Markdown), .rst (reStructuredText) | .asciidoc (Asciidoctor) | YAML, Markdown Metadata |
| WordPress (Headless/Tema) | Motor de bloques Gutenberg | Bloques HTML5, Shortcodes, Formatos de publicación | Editor clásico HTML | Metadatos de bloque JSON / Post Meta |
| VitePress / Docusaurus | Markdown-It / MDX | .md, .mdx, Componentes Vue/React | Sintaxis de contenedor personalizada (::: tip) | YAML |
[!NOTA] Perspectiva de la arquitectura del ecosistema: Hugo, gracias al alto rendimiento concurrente de Go, soporta nativamente Markdown y Org-mode; mientras que los SSG front-end modernos, representados por Astro, con sus capacidades de MDX e Islas de Componentes (Islands), logran la máxima flexibilidad para incrustar sin problemas UI interactivas dinámicas (como los selectores desplegables, ventanas emergentes de contraseña y discos de vinilo que se demuestran en este artículo) en el cuerpo del texto.
2. Especificaciones de soporte de formato de serialización Front Matter
Los metadatos (Front Matter) en la cabecera de los artículos del blog determinan la ruta, el título, la fecha, la categoría, la portada y el estado de protección del artículo. Este tema soporta todos los modos de serialización principales:
1. Formato YAML (el más utilizado, recomendado por defecto)
---
title: "Título del artículo"
pubDate: 2026-08-28
author: "shijianus"
tags: ["Astro", "Markdown"]
featured: true
postFormat: "aside"
---
2. Formato TOML (comúnmente usado en Hugo)
+++
title = "Título del artículo"
pubDate = 2026-08-28T00:00:00Z
author = "shijianus"
tags = ["Astro", "Markdown"]
featured = true
+++
3. Formato JSON (para escenarios impulsados por API y Headless)
{
"title": "Título del artículo",
"pubDate": "2026-08-28T00:00:00.000Z",
"author": "shijianus",
"tags": ["Astro", "Markdown"],
"featured": true
}
3. Comparación y referencia de migración de Markup ligero especial y formatos no Markdown
En diferentes pilas tecnológicas, los autores pueden utilizar otros lenguajes de marcado ligero además de Markdown. A continuación, se presentan las características sintácticas de los formatos principales y su representación equivalente en este tema:
1. AsciiDoc (.adoc / .asciidoc)
AsciiDoc es común en libros técnicos y manuales de ingeniería extensos, y cuenta con un sistema muy rico de bloques de notas y atributos:
// Sintaxis de código fuente AsciiDoc
= Especificación técnica de AsciiDoc
:author: shijianus
:toc: macro
[NOTE]
====
Esta es una tarjeta de nota al estilo AsciiDoc.
====
[cols="1,2,1", options="header"]
|===
| Módulo | Descripción | Estado
| Motor principal | Pipeline estático de Astro 6 | Listo
|===
Escritura equivalente en Markdown / MDX en este tema:
[!NOTA] Esta es una tarjeta de nota equivalente renderizada nativamente en el tema Astro, con estilo e interacción completamente alineados.
| Módulo | Descripción | Estado |
|---|---|---|
| Motor principal | Pipeline estático de Astro 6 | Listo |
2. Emacs Org-Mode (.org)
Org-mode es una potente herramienta para usuarios de Emacs para la gestión del conocimiento, el seguimiento de tareas y la redacción de documentos:
#+TITLE: Notas de práctica de Emacs Org-Mode
#+DATE: 2026-08-28
#+TAGS: Emacs OrgMode
* TODO Fase uno: Mejora del escaneo de Markdown [1/2]
- [X] Corregir desbordamiento de tablas y en dispositivos móviles
- [ ] Completar el conversor de sintaxis de Org-mode
#+BEGIN_QUOTE
“Org-mode no es solo un formato, sino un flujo de trabajo de pensamiento ejecutable.”
#+END_QUOTE
Presentación de la lista de tareas GFM estática estándar en este tema (solo lectura):
- Corregir desbordamiento de tablas y en dispositivos móviles
- Completar el conversor de sintaxis de Org-mode
[!QUOTE] “Org-mode no es solo un formato, sino un flujo de trabajo de pensamiento ejecutable.”
Lista de tareas interactiva y barra de progreso encadenada (Interactive Tutorial Checklist & Chained Progression)
En tutoriales técnicos, ejercicios prácticos y guías de despliegue, las listas de tareas [ ] tradicionales de solo lectura no permiten una interacción o memorización intuitiva. Este tema ha añadido especialmente una lista de verificación interactiva (.article-task-tracker) que admite la selección en tiempo real y la vinculación de estados en cadena. Cada vez que el lector marca un elemento, la barra de progreso dinámica recalculará el porcentaje en tiempo real, y cuando todos los pasos clave se hayan confirmado, también desbloqueará automáticamente las instrucciones de preparación posteriores, lo que la hace ideal como lista de verificación de finalización para tutoriales:
-
Confirmar que el árbol de trabajo actual está limpio, registrar el Hash de la copia de seguridad en el registro de auditoría de desarrollo.
-
Configurar
BLOG_BUILD_TARGET=staticy el entorno de ejecución de Node.js 20+. -
Asegurarse de que todos los archivos de audio y video individuales estén estrictamente controlados a menos de 25MB, cumpliendo con las especificaciones de despliegue de CDN.
-
Verificar que todas las tarjetas de medios enriquecidos y los componentes interactivos se muestren correctamente en múltiples resoluciones para PC y dispositivos móviles.
Por favor, complete cada paso marcado en la lista anterior en orden; cuando todas las tareas estén completadas, aquí se desbloquearán automáticamente las instrucciones de lanzamiento de producción en tiempo real.
3. reStructuredText (.rst)
reStructuredText es el formato de documentación estándar de la comunidad Python (como Sphinx, ReadTheDocs):
.. Sintaxis del código fuente de reStructuredText
.. note::
Este es un bloque Note definido por una directiva RST.
.. code-block:: python
:linenos:
def greet(name: str) -> str:
return f"Hello, {name}!"
Representación equivalente en Markdown en este tema:
[!NOTE] Esta es una tarjeta equivalente a la nota RST, renderizada en Astro con la especificación de alerta de GitHub.
def greet(name: str) -> str:
return f"Hello, {name}!"
4. Sintaxis Textile
Textile es un lenguaje de marcado ligero clásico (común en Redmine y los primeros blogs de Jekyll):
h2. Título de la sección
bq. Este es el contenido del bloque de cita de Textile.
*Elemento de lista 1*
_Texto enfatizado en cursiva_
IV. Implementación completa y presentación visual de los formatos de publicación estilo WordPress
El clásico mecanismo de Formatos de Publicación en el ecosistema de temas de WordPress permite que los blogs muestren apariencias visuales exclusivas para diferentes tipos de contenido. Hemos implementado completamente estas 9 formas en la columna principal de este tema:
1. aside (Susurro / Nota / Tarjeta de Apunte)
Ideal para registrar ideas breves, recordatorios o notas temporales:
💡 Apunte/Memo: El verdadero valor de un sitio estático no reside en la ostentación técnica, sino en ofrecer una experiencia de lectura pura, ultrarrápida y sin la carga de mantenimiento del lado del servidor. Incluso después de cinco o diez años, los archivos HTML generados seguirán abriéndose perfectamente.
2. status (Actualización de estado / Pensamiento fugaz / Micro-cita)
Tarjeta de publicación de estado instantáneo al estilo Twitter/Weibo, que incluye el avatar del autor, el identificador del cliente y la etiqueta de estado de ánimo:
¡Hoy finalmente completé la expansión de formato y la reestructuración visual de la columna principal del blog! Desde KaTeX y Mermaid hasta los menús desplegables interactivos y los discos de vinilo, la sensación de entrega estática de pila completa es fantástica 🚀✨
3. quote (Cita destacada / Gran tarjeta de cita célebre)
Se utiliza para mostrar citas de figuras importantes, aforismos de diseño o frases célebres:
4. gallery (Galería de imágenes / Álbum adaptable y cuadrícula estilo Polaroid)
Soporta cuadrículas responsivas adaptables de múltiples columnas y tarjetas de papel fotográfico estilo Polaroid con un toque humano. Al hacer clic en cualquier imagen, se activa una ampliación en pantalla completa tipo lightbox:
Galería adaptable de 2 y 3 columnas
Galería de fotos estilo Polaroid (Polaroid Style)
5. video (Tarjeta de reproducción de video adaptable)
Soporta una relación de aspecto responsiva de 16:9, bordes redondeados y una descripción en la barra inferior, ocupando una fila completa para su visualización. Compatible con incrustaciones externas proxy de Bilibili y YouTube, así como con MP4 nativos del sitio (cada archivo se mantiene por debajo de 25MB, cumpliendo con las especificaciones de despliegue estático de Cloudflare Pages):
Incrustación de video externo (Incrustación proxy de enlaces de Bilibili y YouTube · Por defecto, el lector debe desplazarse hasta aquí y hacer clic para iniciar la reproducción)
Incrustación de video MP4 nativo del sitio (Reproductor de video HTML5 nativo · Soporta velocidad de reproducción y Picture-in-Picture · Descarga deshabilitada por defecto)
6. audio (Tarjeta de música con disco de vinilo giratorio)
Controlador de audio HTML5 incorporado que activa automáticamente una animación de rotación suave y continua del disco de vinilo al reproducirse. Todas las portadas de los discos son portadas de álbumes oficiales de alta definición que coinciden con la realidad, admiten múltiples formatos de audio principales (FLAC sin pérdidas, MP3 de alta tasa de bits, AAC/M4A) y tienen protección anti-scraping y anti-descarga incorporada:
① Shaun - Way Back Home (Formato de audio FLAC sin pérdidas · 24.55MB)
② ヨルシカ (Yorushika) - Kanojo wa Tabi ni Deru (Formato HD MP3 320Kbps · 8.41MB)
③ すこっぷ feat. Hatsune Miku - アイロニ (Formato M4A / AAC · 7.63MB)
7. link (Tarjeta de vista previa de enlace externo y marcador / Bookmark Preview)
Proporciona una elegante vista previa en formato de tarjeta para las referencias clave dentro del artículo:
EpoCanvas (Jidai Kabu) es un sistema de arquitectura de contenido de blog geek moderno centrado en la presentación de información de alta densidad, microinteracciones elegantes y soporte de formato completo.
8. chat (Flujo de Diálogo Animado Orgánico / Organic Animated Dialogue Stream)
Se utiliza para demostrar vívidamente defensas técnicas, discusiones de diálogo entre dos personas o escenarios de entrevistas a usuarios. Admite burbujas izquierda/derecha, código en línea, colores personalizados y efectos de animación de escritura adaptativos al contenido dinámico, efectos de sonido sintetizados de Web Audio y avatares dinámicos (footer_mini_logo__media):
- Modo estático (predeterminado):
<div class="article-chat">mantiene una presentación ligera y puramente estática, con cero sobrecarga de JS; - Activación de demostración dinámica (control de parámetros): Al configurar
data-animate="true"(oclass="article-chat is-animated"), el sistema activará automáticamente una animación de escritura con temporización realista, basada en la longitud de los caracteres y una aleatoriedad natural, junto con tonos de aviso exclusivos para la izquierda y la derecha, la primera vez que el lector se desplace a esa vista; - Temporización dinámica no mecánica (Content-Length Aware Timing): El sistema decide inteligentemente la duración del indicador de escritura según la longitud del mensaje (frases cortas parpadean durante 380ms, párrafos técnicos largos implican 1000ms+ de “pensamiento” al escribir), y añade pausas naturales y ligeras fluctuaciones de sonido entre las burbujas, acordes con el juicio de lectura humano;
- Soporte de avatares de video dinámicos (
footer_mini_logo__media): Los avatares admiten la incrustación de micro-videos MP4 y pósteres estáticos de respaldo; - Activación única y garantía de recarga: Una vez activado al desplazarse por primera vez, se bloquea automáticamente, y los desplazamientos repetidos posteriores no lo activarán de nuevo para no interrumpir la lectura; solo se restablecerá cuando el usuario actualice la página (F5); también se proporciona una barra de micro-controles en la esquina superior derecha con ”↺ Reproducir” y ”🔊/🔇 Alternar sonido”.
KaTeX y Mermaid en Astro ralentizará la velocidad de carga de la página frontend.
remark-math y rehype-katex ya compilan las fórmulas en cadenas puras de HTML/MathML durante el tiempo de construcción (Build-time), lo que significa 0 carga de tiempo de ejecución de JS en el lado del navegador; y los diagramas de Mermaid también cargan módulos ESM de forma asíncrona y bajo demanda, ¡haciendo que la primera pantalla sea extremadamente rápida! ⚡
V. Formatos de menú desplegable especiales y componentes interactivos (Dropdown Selectors & Interactive Formats)
Para los formatos de menú desplegable especiales solicitados explícitamente por los usuarios, hemos proporcionado en el cuerpo del artículo componentes de selector desplegable de respuesta instantánea puramente del lado del cliente:
1. Conmutador desplegable de múltiples marcos y versiones de código (Interactive Dropdown Switcher)
Los lectores pueden seleccionar libremente el marco tecnológico en el menú desplegable, y el panel del cuerpo del artículo cambiará el contenido y el código correspondientes en tiempo real sin recargar la página:
import { useState } from 'react';
export function Counter() {
const [count, setCount] = useState(0);
return (
<button onClick={() => setCount((c) => c + 1)} className="btn-primary">
Contador de clics de React:{count}
</button>
);
}
<script setup lang="ts">
import { ref } from 'vue';
const count = ref(0);
</script>
<template>
<button @click="count++" class="btn-primary">
Contador de clics de Vue:{{ count }}
</button>
</template>
---
const { title = "Islas Astro de alta velocidad" } = Astro.props;
---
<div class="astro-island">
<h3>{title}</h3>
<p>Entrega por defecto 0KB de JavaScript, ¡interactividad bajo demanda!</p>
</div>
<script lang="ts">
let count = $state(0);
</script>
<button onclick={() => count++} class="btn-primary">
Contador de clics de Svelte:{count}
</button>
2. Convertidor de Unidades Universal Interactivo Multicategoría (Universal Interactive Unit Converter · Selector Desplegable de Base y Tipo de Cambio en Tiempo Real)
Permite a los usuarios introducir libremente cualquier valor base en el campo de entrada (el valor predeterminado es 1, con soporte para incrementadores/decrementadores y un botón de reinicio), y realizar conversiones instantáneas y fluidas entre diferentes categorías (masa y peso, tipos de cambio internacionales, almacenamiento de datos, ancho de banda de red, longitud y dimensiones):
- Base de Conversión Dinámicamente Conmutable (Base Unit Dropdown): La unidad base a la derecha del campo de entrada admite la selección libre mediante un desplegable (por ejemplo, en masa se puede elegir
kg,g,lb,斤,oz,t, etc.; en tipos de cambio se puede elegirUSD,HKD,CNY,EUR,JPY,GBP, etc.). Después de seleccionar cualquier unidad base, la cuadrícula de conversión de destino excluirá automáticamente de forma inteligente la unidad base actual (eliminando por completo las tarjetas redundantes como 1kg=1kg), y recalculará instantáneamente todas las unidades de destino utilizando la base actual como denominador; - Acceso a la Red para Fluctuaciones de Tipo de Cambio Reales (Live Forex API): Al cambiar a «💱 Tipos de Cambio Internacionales», el sistema solicitará automáticamente y de forma asíncrona al servidor
/api/exchange-ratey recurrirá a una interfaz pública de tipos de cambio en tiempo real para obtener las últimas cotizaciones en tiempo real de las principales divisas (en la esquina superior derecha se mostrará🟢 Tipo de cambio en tiempo real sincronizado); cuando no haya conexión o se esté sin conexión, se recurrirá automáticamente y sin interrupciones a las proporciones base integradas (se mostrará⚪ Tipo de cambio base sin conexión), asegurando que el “tiempo real” sea verdaderamente en tiempo real y que la experiencia sin conexión sea sólida como una roca; - Llamada Conveniente a la API Universal: El sistema también expone globalmente la función auxiliar
window.shijianusAPI.fetchExchangeRates(base), facilitando que cualquier script personalizado dentro del documento invoque instantáneamente los datos de cotización en tiempo real; - Copia Rápida con un Clic y Derivación de Ecuaciones: Cada tarjeta de conversión ofrece un botón de copia con un clic y retroalimentación de resaltado, y en la parte inferior se muestra sincrónicamente un resumen de la derivación de la cadena de ecuaciones dinámicas.
3. Calculadora Desplegable de Parámetros de Especificación y Codificación de Video (Interactive Spec Calc Dropdown)
Al seleccionar diferentes opciones, los indicadores técnicos correspondientes y las explicaciones de conversión se muestran en tiempo real a la derecha:
VI. Acordeones Plegables, Pestañas y Diseño Multicolumna (Collapsibles, Tabs & Columns)
1. Grupo de acordeón exclusivo (Expandir un elemento cierra automáticamente los demás)
Configure data-single="true". Al expandir un elemento, los demás elementos expandidos del mismo grupo se contraerán automáticamente, manteniendo la página ordenada y enfocada:
🔒 1. Ventajas de seguridad de los sitios estáticos
Los sitios estáticos no tienen motores de ejecución dinámicos tradicionales de PHP/Node.js ni bases de datos SQL expuestas a la red pública, lo que los inmuniza físicamente contra la inyección SQL y los riesgos de ejecución remota de código (RCE) en el servidor.
⚡ 2. Entrega acelerada por CDN global en el borde
Al desplegar los artefactos compilados en Cloudflare Pages o GitHub Pages, todos los recursos estáticos pueden ser almacenados en caché en más de 300 nodos de borde globales, con un tiempo hasta el primer byte (TTFB) típicamente inferior a 20ms.
💰 3. Costos de alojamiento en la nube extremadamente bajos
Los sitios estáticos no requieren la ejecución 24/7 de costosos servidores VPS en la nube. Con la base de datos Cloudflare D1 de nivel gratuito y un sistema de comentarios sin servidor, los costos operativos diarios son casi nulos.
2. Grupo de acordeón no exclusivo e independiente (Permite expandir múltiples elementos simultáneamente)
Configure data-single="false" (o el modo de expansión múltiple por defecto). Los lectores pueden expandir libremente varios o todos los elementos plegables para una comparación lateral y una lectura profunda, sin que el contenido ya abierto se cierre al expandir un nuevo elemento:
🛠️ Módulo de Arquitectura A: Pipeline del compilador de sintaxis AST de Markdown
Basado en las arquitecturas Unified, Remark-math y Rehype-katex, transforma el árbol de sintaxis Markdown en nodos HTML semánticos estándar de forma completamente estática durante la fase de compilación y construcción, y completa el resaltado y la generación de fórmulas en el lado de Node.js.
🎨 Módulo de Arquitectura B: Motor visual dinámico EpoCanvas y sistema responsivo
Ofrece fondo de aurora (Aurora), paralaje de campo estelar (Starfield), mimetismo de vidrio esmerilado (Glassmorphism) y adaptación de puntos de interrupción responsivos multidispositivo, presentando una experiencia estética consistente tanto en pantallas anchas 4K como en teléfonos plegables.
🛡️ Módulo de Arquitectura C: Sistema de aislamiento de seguridad jerárquico WebCrypto SHA-256
Incorpora desbloqueo persistente de sesión de nivel 1, máscaras dinámicas polimórficas antiprivacidad de nivel 2 (desenfoque gaussiano/mosaico/máscara de spoiler), bloqueo instantáneo al salir del viewport de nivel 3 y un esquema de cifrado de fragmentos de URL externos, eliminando por completo la exposición de contraseñas en texto plano en el DOM.
3. Pestañas Interactivas (Interactive Tabs)
pnpm add @astrojs/mdx remark-math rehype-katex katex mermaid
npm install @astrojs/mdx remark-math rehype-katex katex mermaid
yarn add @astrojs/mdx remark-math rehype-katex katex mermaid
bun add @astrojs/mdx remark-math rehype-katex katex mermaid
4. Sistema de Diseño de Cuadrícula Multicolumna (Multi-Column Grid)
Cuadrícula de Tarjetas de 3 Columnas de Ancho Igual
🎨 Sistema Visual
Absorbe profundamente la estética de diseño geek moderna de EpoCanvas, con soporte para alto contraste claro/oscuro, fondos de cristal esmerilado y transiciones de color suaves.
⚡ Ingeniería de Rendimiento
Arquitectura de islas estáticas de Astro 6, prerrenderizado HTML en tiempo de construcción, optimización SEO extrema puramente estática.
🛠️ Ecosistema de Extensiones
Soporte completo para fórmulas KaTeX, diagramas Mermaid, ventanas emergentes cifradas y 9 tipos de formatos de publicación.
Cuadrícula de Barra Lateral Desigual 1:2
📌 Posicionamiento Arquitectónico
Un medio de escritura técnica moderno centrado en geeks e ingenieros.
🚀 Garantía de Entrega
Mecanismos integrados de prueba de humo automatizada y verificación de construcción estática, asegurando que fórmulas, diagramas y tarjetas complejas se muestren perfectamente en todos los dispositivos.
VII. 13 Tipos de Cuadros de Advertencia Semánticos (Admonitions / GitHub Alerts)
Basado en las especificaciones de diseño de GitHub Alert y EpoCanvas, soporta 13 tipos de tarjetas de colores con diferentes semánticas, y permite el plegado por defecto usando la sintaxis [!TYPE]-:
[!NOTE] Nota (Note): Esta es una información de fondo estándar o una explicación contextual.
[!TIP] Consejo (Tip): ¡Usa el atajo de teclado Ctrl + K para abrir rápidamente el panel de búsqueda global de artículos!
[!IMPORTANT] Importante (Important): Antes de desplegar en un entorno de producción, asegúrate de que la variable de entorno
BLOG_BUILD_TARGET=staticesté correctamente inyectada.
[!WARNING] Advertencia (Warning): No envíes claves de bases de datos de producción o claves privadas de servicios en la nube a repositorios Git públicos.
[!CAUTION] Precaución (Caution): La operación de reconstrucción de tablas de datos es destructiva, ¡haz una copia de seguridad de la base de datos D1 primero!
[!DANGER] Peligro Fatal (Danger): Eliminar directamente la base de datos de producción resultará en la pérdida permanente de todos los comentarios y activos de usuario.
[!SUCCESS] Éxito (Success): ¡El proceso de construcción estática se ha completado con éxito, todas las 47 rutas estáticas están listas!
[!QUESTION] Pregunta (Question): ¿Cómo implementar una búsqueda de texto completo puramente del lado del cliente en milisegundos en un entorno sin dependencias de servidor?
[!QUOTE] Cita Destacada (Quote): “Un buen código no solo es ejecutado por una máquina, sino que también comunica ideas a los humanos con la elegancia de la poesía.”
[!INFO] Información (Info): Este blog está construido con Astro 6 y Tailwind 4, con exportación puramente estática de todo el sitio.
[!TODO] Pendiente (Todo): Se planea introducir un índice de búsqueda de texto completo del lado del cliente con WebAssembly en la próxima iteración.
[!BUG] Error (Bug): Se ha corregido el problema de maquetación de tablas truncadas horizontalmente en versiones antiguas en dispositivos con pantallas extremadamente estrechas.
[!EXAMPLE] Ejemplo (Example): Todos los cuadros de advertencia anteriores se adaptan automáticamente a colores de alto contraste en modos oscuro y claro.
Demostración de Cuadro de Advertencia Plegable
[!TIP]- Haz clic para expandir: Referencia de configuración de caché ultrarrápida de Nginx en entorno de producción
location ~* \.(?:css|js|woff2?|svg|png|jpg|webp)$ { expires 1y; add_header Cache-Control "public, immutable"; access_log off; }
8. Fórmulas Matemáticas Académicas (KaTeX), Diagramas de Arquitectura (Mermaid 11) y Mapas Mentales Dinámicos (Markmap)
En la documentación técnica de tipo demostrativo y de ejemplo, el concepto central de presentación es la “comparación entre el efecto de renderizado real y el código fuente correspondiente” (pestañas de doble etiqueta), lo que no solo permite a los lectores experimentar visualmente y de forma interactiva las características finales, sino que también facilita a los desarrolladores la referencia, copia y migración a proyectos reales con un solo clic.
1. Fórmulas Matemáticas LaTeX (KaTeX Math · Derivación en Línea y en Bloque de Varias Líneas)
Fórmulas en Línea (Inline Formula)
Ecuación de masa-energía E=mc2, identidad de Euler eiπ+1=0, integral de Gauss ∫−∞∞e−x2dx=π.
质能方程 $E = mc^2$,欧拉恒等式 $e^{i\pi} + 1 = 0$,高斯积分 $\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}$。
Fórmula de Derivación en Bloque de Varias Líneas 1: Transformada de Laplace de un Sistema Dinámico de Segundo Orden (Block Math · Ecuación Única)
$$
\mathcal{L}\{\ddot{x}(t) + 2\zeta\omega_n\dot{x}(t) + \omega_n^2 x(t)\} = X(s)(s^2 + 2\zeta\omega_n s + \omega_n^2)
$$
Fórmula de Derivación en Bloque de Varias Líneas 2: Ecuaciones Clásicas de Maxwell del Electromagnetismo (Block Math · Alineación Multilínea)
$$
\begin{aligned}
\nabla \cdot \mathbf{E} &= \frac{\rho}{\varepsilon_0} \\
\nabla \cdot \mathbf{B} &= 0 \\
\nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \\
\nabla \times \mathbf{B} &= \mu_0 \mathbf{J} + \mu_0 \varepsilon_0 \frac{\partial \mathbf{E}}{\partial t}
\end{aligned}
$$
2. Diagramas de Arquitectura Mermaid 11 (Flowchart & Sequence · Diagrama de Flujo y Diagrama de Secuencia)
① Diagrama de Flujo de Verificación de Cifrado y Renderizado de Contenido del Blog (Flowchart TD)
flowchart TD
A[Lector visita el artículo] --> B{¿Artículo cifrado?}
B -- Sí --> C[Abre diálogo de contraseña (efecto cristal esmerilado)]
C --> D{Verificación de contraseña}
D -- Correcto --> E[Descifra y muestra el contenido]
D -- Incorrecto --> F[Activa vibración de ventana y alerta en rojo]
F -. Reingresar contraseña .-> C
B -- No --> E
E --> G[Renderiza fórmulas KaTeX y diagramas Mermaid]
G --> H[Ofrece experiencia de lectura inmersiva completa]
```mermaid
flowchart TD
A[Lector visita el artículo] --> B{¿Artículo cifrado?}
B -- Sí --> C[Abre diálogo de contraseña (efecto cristal esmerilado)]
C --> D{Verificación de contraseña}
D -- Correcto --> E[Descifra y muestra el contenido]
D -- Incorrecto --> F[Activa vibración de ventana y alerta en rojo]
F -. Reingresar contraseña .-> C
B -- No --> E
E --> G[Renderiza fórmulas KaTeX y diagramas Mermaid]
G --> H[Ofrece experiencia de lectura inmersiva completa]
```
② Diagrama de Secuencia de Autenticación de Seguridad y Descifrado del Cliente (Sequence Diagram)
sequenceDiagram
autonumber
actor User as Lector (Usuario)
participant Browser as Navegador Cliente
participant PostPage as Motor de Renderizado de Artículo
participant Security as Módulo de Seguridad de Cifrado
User->>Browser: Clic en contenido cifrado protegido
Browser->>PostPage: Activa diálogo de entrada de contraseña
User->>Browser: Introduce clave de acceso
Browser->>Security: Verifica Hash de contraseña
alt Verificación exitosa
Security-->>Browser: Devuelve token de desbloqueo
Browser->>PostPage: Descifra y muestra el contenido sin problemas
else Verificación fallida
Security-->>Browser: Devuelve error de contraseña
Browser->>User: Activa sacudida de ventana y alerta en rojo
end
```mermaid
sequenceDiagram
autonumber
actor User as Lector (Usuario)
participant Browser as Navegador Cliente
participant PostPage as Motor de Renderizado de Artículo
participant Security as Módulo de Seguridad de Cifrado
User->>Browser: Clic en contenido cifrado protegido
Browser->>PostPage: Activa diálogo de entrada de contraseña
User->>Browser: Introduce clave de acceso
Browser->>Security: Verifica Hash de contraseña
alt Verificación exitosa
Security-->>Browser: Devuelve token de desbloqueo
Browser->>PostPage: Descifra y muestra el contenido sin problemas
else Verificación fallida
Security-->>Browser: Devuelve error de contraseña
Browser->>User: Activa sacudida de ventana y alerta en rojo
end
```
3. Mapa mental interactivo dinámico (Markmap / Mindmap · Expansión de ramas multidireccional)
En la organización de especificaciones técnicas extensas y arquitecturas de sistemas, las listas estáticas tradicionales dificultan la visualización intuitiva de complejas redes de conocimiento. Este tema implementa por primera vez el motor de mapa mental interactivo dinámico Markmap, logrando un análisis nativo completo y una mejora interactiva en la columna principal del artículo (.post.post-page-shell):
[!TIP] Reglas clave de la expansión de ramas multidireccional:
- Espacio de protección de bloque único por defecto: Por defecto, el mapa mental solo muestra 1 nodo raíz central (Nivel 1), con un indicador de punto plegable a la derecha;
- Hacer clic para expandir ramas multidireccionales: Al hacer clic en el punto de un nodo raíz o de cualquier nodo hijo, las ramas secundarias se desplegarán suavemente hacia afuera;
- Control total desde la barra de herramientas: Soporta ampliar / reducir / centrado adaptativo / expandir todo con un clic / contraer un bloque con un clic / lectura inmersiva a pantalla completa / copiar código fuente;
- Arrastrar y escalar el lienzo: Mantén pulsado el botón izquierdo del ratón para arrastrar y mover libremente el lienzo, y desplaza la rueda del ratón para escalar la vista.
Presentación de mapa mental interactivo: SSG y panorama completo del ecosistema de formatos de contenido del tema
# Arquitectura del generador de sitios estáticos y ecosistema de contenido de formato completo
## 1. Pipeline central de compilación estática
### Pipeline de transformación de sintaxis AST
#### Pipeline de análisis semántico de Markdown / MDX
##### Extensión de sintaxis Unified / Remark
- Conversión de sintaxis de tablas y tachado GFM
- Generación automática de anclajes e IDs de encabezados
##### Extensión de mapa mental interactivo multidireccional Markmap
- Construcción recursiva de árbol AST (Transformer.transform)
- Diseño elástico jerárquico D3 (Flextree Algorithm)
- Máquina de estados de plegado interactiva (payload.fold)
- Coloreado dinámico de ramas con paleta (d3.scaleOrdinal)
##### Extensión de fórmulas matemáticas Rehype Katex
- Análisis de fórmulas en línea y en bloque independiente
- Soporte de definición de macros y fallback de tolerancia a errores
#### Resaltado de código y sombreadores estáticos
##### Compilador de doble tema Shiki
- Análisis de reglas de sintaxis VSCode TextMate
- Pre-renderizado de doble tema (claro/oscuro) con cero hidratación
### Compilador y empaquetado de recursos
#### Recarga en caliente ultrarrápida Vite 6 (HMR)
##### Carga de módulos nativos ESM
- Compilación bajo demanda y actualización en caliente en milisegundos
#### Pipeline de generación estática Rollup
##### Optimización de empaquetado estático
- División inteligente de código (Code Splitting)
- Eliminación de redundancia (Tree-Shaking)
## 2. Interacción dinámica y sistema de islas
### Islas de componentes híbridos (Islands)
#### Montaje de componentes de cliente por isla
##### Componentes de cliente React 19
- Aislamiento de estado independiente y comunicación de contexto
- Persistencia del estado de sesión (SessionStorage / Crypto)
##### Islas del lado del servidor Astro
- JS de cliente de tiempo de ejecución cero (Zero-JS por defecto)
- Activación bajo demanda de islas interactivas (client:visible)
### Sistema visual y de animación moderno
#### Fondos dinámicos y motor de renderizado
##### Aurora Boreal / Campo de Estrellas
- Aceleración de hardware WebGL / Canvas 2D
- Modo de ahorro de energía y pausa automática al salir del viewport
##### Especificación de tarjetas de cristal esmerilado (Glassmorphism)
- Desenfoque gaussiano dinámico y múltiples sombras ambientales
- Diseño adaptativo responsivo para todas las plataformas (PC / Tablet / Móvil)
## 3. Panorama de formatos y funciones especiales
### Comparación de especificaciones de documentos extendidos
#### Adaptación nativa equivalente a AsciiDoc (.adoc)
#### Mapeo de listas de tareas de Emacs Org-Mode (.org)
#### Conversión de directivas reStructuredText (.rst)
### Conjunto de componentes altamente interactivos
#### Selector desplegable interactivo (Dropdown Switcher)
#### Tarjetas plegables de acordeón mutuamente excluyentes (Accordion Groups)
#### Reproductor de audio dinámico de vinilo (Vinyl Audio)
### Seguridad, privacidad y cifrado por niveles
#### Verificación de hash WebCrypto SHA-256 (sin exposición de texto plano)
#### Desbloqueo persistente de sesión de Nivel 1 (Session Persistent)
#### Conmutación de máscara antiprivacidad de Nivel 2 (Desenfoque gaussiano / Mosaico / Máscara de spoiler)
#### Bloqueo al salir del viewport antiprivacidad de Nivel 3 (IntersectionObserver)
#### Aislamiento de punto final de descifrado segmentado externo (Standalone Token)
```mindmap
# Arquitectura del generador de sitios estáticos y ecosistema de contenido de formato completo
## 1. Pipeline central de compilación estática
### Pipeline de transformación de sintaxis AST
#### Pipeline de análisis semántico de Markdown / MDX
##### Extensión de sintaxis Unified / Remark
- Conversión de sintaxis de tablas y tachado GFM
- Generación automática de anclajes e IDs de encabezados
##### Extensión de mapa mental interactivo multidireccional Markmap
- Construcción recursiva de árbol AST (Transformer.transform)
- Diseño elástico jerárquico D3 (Algoritmo Flextree)
- Máquina de estados de plegado interactiva (payload.fold)
- Coloreado dinámico de ramas con paleta (d3.scaleOrdinal)
##### Extensión de fórmulas matemáticas Rehype Katex
- Análisis de fórmulas en línea y en bloque independiente
- Soporte de definición de macros y fallback de tolerancia a errores
#### Resaltado de código y sombreadores estáticos
##### Compilador de doble tema Shiki
- Análisis de reglas de sintaxis VSCode TextMate
- Pre-renderizado de doble tema (claro/oscuro) con cero hidratación
### Compilador y empaquetado de recursos
#### Recarga en caliente ultrarrápida Vite 6 (HMR)
##### Carga de módulos nativos ESM
- Compilación bajo demanda y actualización en caliente en milisegundos
#### Pipeline de generación estática Rollup
##### Optimización de empaquetado estático
- División inteligente de código (Code Splitting)
- Eliminación de redundancia (Tree-Shaking)
## 2. Interacción dinámica y sistema de islas
### Islas de componentes híbridos (Islands)
#### Montaje de componentes de cliente por isla
##### Componentes de cliente React 19
- Aislamiento de estado independiente y comunicación de contexto
- Persistencia del estado de sesión (SessionStorage / Crypto)
##### Islas del lado del servidor Astro
- JS de cliente de tiempo de ejecución cero (Zero-JS por defecto)
- Activación bajo demanda de islas interactivas (client:visible)
### Sistema visual y de animación moderno
#### Fondos dinámicos y motor de renderizado
##### Aurora Boreal / Campo de Estrellas
- Aceleración de hardware WebGL / Canvas 2D
- Modo de ahorro de energía y pausa automática al salir del viewport
##### Especificación de tarjetas de cristal esmerilado (Glassmorphism)
- Desenfoque gaussiano dinámico y múltiples sombras ambientales
- Diseño adaptativo responsivo para todas las plataformas (PC / Tablet / Móvil)
## 3. Panorama de formatos y funciones especiales
### Comparación de especificaciones de documentos extendidos
#### Adaptación nativa equivalente a AsciiDoc (.adoc)
#### Mapeo de listas de tareas de Emacs Org-Mode (.org)
#### Conversión de directivas reStructuredText (.rst)
### Conjunto de componentes altamente interactivos
#### Selector desplegable interactivo (Dropdown Switcher)
#### Tarjetas plegables de acordeón mutuamente excluyentes (Accordion Groups)
#### Reproductor de audio dinámico de vinilo (Vinyl Audio)
### Seguridad, privacidad y cifrado por niveles
#### Verificación de hash WebCrypto SHA-256 (sin exposición de texto plano)
#### Desbloqueo persistente de sesión de Nivel 1 (Session Persistent)
#### Conmutación de máscara antiprivacidad de Nivel 2 (Desenfoque gaussiano / Mosaico / Máscara de spoiler)
#### Bloqueo al salir del viewport antiprivacidad de Nivel 3 (IntersectionObserver)
#### Aislamiento de punto final de descifrado segmentado externo (Standalone Token)
```
Especificaciones de Escritura y Referencia de Sintaxis Markdown
El motor de renderizado de Mindmap integrado en este blog se basa en el análisis recursivo AST y el diseño de árbol elástico D3 Flextree, soportando de forma nativa la expansión de niveles ilimitados (Nivel 1 a Nivel N), sin ninguna restricción de profundidad máxima. Al escribir artículos, el autor puede elegir las siguientes especificaciones de escritura según la complejidad de la profundidad del árbol de conocimiento:
1. Sintaxis de Escalera Híbrida (Recomendado 1~6 Niveles Troncales + Derivación Profunda de Lista Infinita)
Los títulos estándar de Markdown admiten 6 niveles de profundidad (# a ######). Por debajo del 6º nivel, se puede continuar derivando infinitamente hacia abajo (Nivel 7, Nivel 8, Nivel 9…) utilizando elementos de lista desordenada (-, *) combinados con sangría de espacios:
```mindmap
# Nivel 1 Tema Central (H1)
## Nivel 2 Rama de Dominio (H2)
### Nivel 3 Subsistema (H3)
#### Nivel 4 Módulo Técnico (H4)
##### Nivel 5 Unidad de Componente (H5)
###### Nivel 6 Especificación de Algoritmo (H6)
- Nivel 7 Detalles de Ejecución Específicos (Elemento de lista)
- Nivel 8 Parámetros de Subelemento (Sangría +2 espacios)
- Nivel 9 Primitivas de Hardware de Bajo Nivel (Sangría +4 espacios)
```
2. Sintaxis de Sangría Infinita de Lista Pura (Recomendado para 6+ Niveles o Árboles de Conocimiento Extremadamente Profundos)
Si no se necesita la semántica de los títulos de Markdown, o si la red de conocimiento tiene niveles extremadamente profundos (por ejemplo, árboles de clasificación, deducciones conceptuales, estructuras AST), se puede usar directamente la lista desordenada - y expresar una profundidad teóricamente infinita de ramas multidireccionales mediante sangría de 2 o 4 espacios:
```mindmap
- 🌐 Tema Raíz: Mapa de Conocimiento de Ciencias de la Computación (Nivel 1)
- 🖥️ Ingeniería de Sistemas de Software (Nivel 2)
- 📦 Sistemas Operativos y Núcleos (Nivel 3)
- ⚙️ Planificación de Procesos y Hilos (Nivel 4)
- 🔄 Primitivas de Sincronización Concurrente (Nivel 5)
- 🔒 Mutex y Semáforos (Nivel 6)
- ⚡ Instrucciones Atómicas CAS a Nivel de Hardware (Nivel 7)
- ⏱️ Protocolo MESI de Coherencia de Caché (Nivel 8)
- 🔬 Barreras de Memoria y Reordenamiento de Instrucciones en Pipeline (Nivel 9)
```
3. Control de Parámetros Avanzados en Línea (Cabecera JSON Opcional)
Se puede personalizar el estado inicial y las dimensiones visuales del mapa mental utilizando un objeto JSON de una sola línea en la primera línea del bloque de código:
```mindmap
{"initialExpandLevel": 2, "height": "560px", "title": "Panorama de la Arquitectura de Ingeniería Full-Stack"}
# Tema Central
## Rama de Nivel Uno A
### Rama de Nivel Dos A1
- Punto de Conocimiento Detallado 1
```
initialExpandLevel: Nivel de expansión inicial.1para el modo de protección de nodo raíz colapsado;2para expandir al tronco principal;6para expansión completa.height: Especifica la altura del lienzo, como"480px","600px"(por defecto"460px").title: Texto de título personalizado para el encabezado del mapa mental.
4. Características Interactivas y Guía de Operación del Visor
- Clic para profundizar suavemente (Drill-down): Al hacer clic en un nodo con un punto o texto que emite un brillo pulsante, se expandirán/contraerán suavemente sus ramas multidireccionales de nivel inferior;
- Expandir/Contraer con un clic: La barra de herramientas ofrece
⊞(expandir todas las ramas con un clic) y⊟(restaurar al bloque inicial con un clic); - Centrado adaptativo (Ajustar Vista): Al hacer clic en
🎯, se calcula automáticamente la mejor vista centrada en función de todos los nodos actualmente expandidos; - Modo inmersivo de pantalla completa: Al hacer clic en
⛶, se expande a un lienzo independiente de pantalla completa (presioneEscpara salir en cualquier momento), obteniendo un espacio de exploración horizontal ilimitado; - Percepción de metadatos en tiempo real: La barra de encabezado muestra en tiempo real el número total de nodos y la profundidad máxima del mapa mental actual (por ejemplo,
53 nodos · estructura de 6 niveles de ramas).
IX. Seguridad y Privacidad, Cifrado Graduado (Nivel 1/2/3) y Funcionalidad Especial de Desencriptación Segmentada Externa
Para eliminar por completo la exposición de contraseñas en texto plano en los atributos del DOM (como data-password, que es fácil de inspeccionar), el sistema de contenido de este blog se ha actualizado completamente a la verificación de hash WebCrypto SHA-256 (data-hash), y se ha establecido un sistema de cifrado local de tres niveles dentro del texto y de descifrado segmentado externo:
- Regla de restablecimiento de seguridad predeterminada (Persistencia Cero al Recargar): Por defecto, todo el contenido cifrado (Nivel 1, Nivel 2, Nivel 3 y puertas de descifrado externas) se restablecerá automáticamente y de forma decidida a un estado bloqueado después de una actualización de página (F5 / recarga), evitando por completo el riesgo de seguridad de permanecer expuesto después de una actualización de página;
- Parámetro de persistencia abierta (
data-persist): Para satisfacer las necesidades de apertura en escenarios de documentos especiales, la política de restablecimiento predeterminada se puede anular mediante la configuración de parámetros:data-persist="session"(odata-persist="true"): Mantiene el desbloqueo a través de las actualizaciones durante la sesión de la pestaña actual;data-persist="local": Recuerda persistentemente el estado de desbloqueo en el almacenamiento local del navegador;- Por defecto no configurado: Ciclo de vida de solo memoria, la página se restablece de forma segura y se bloquea inmediatamente al recargar.
1. Cifrado de Nivel 1: Cifrado Básico de Página Única (Nivel 1 · Restablecimiento por Recarga Predeterminado)
Introduzca una credencial de acceso una vez para desbloquear el contenido principal. Por defecto, la página se vuelve a bloquear automáticamente al recargarla; si necesita que persista entre recargas, puede añadir data-persist="session" a la etiqueta:
Parámetros clave del entorno de desarrollo desbloqueados:
DEPLOY_ENDPOINT:https://api.shijian.us/v2/deploy/coreAUTH_SCOPE:read:articles, write:releases
2. Cifrado de Nivel 2: Protección de Máscara Anti-espionaje después del Desbloqueo (Nivel 2 · Protección de Máscara)
Aunque el contenido se descifra tras una verificación exitosa, por defecto entra automáticamente en un estado de máscara anti-espionaje con desenfoque gaussiano (la barra de alternancia no se muestra por defecto, se puede ver claramente al pasar el ratón por encima), resistiendo eficazmente el espionaje a corta distancia.
- Para activar la barra de herramientas: Configure
data-allow-select="true"para activar la barra de herramientas de alternancia de máscara. La barra de herramientas también está protegida dentro de la máscara por defecto (al pasar el ratón, la barra de herramientas y el contenido principal se revelan claramente y se pueden hacer clic para alternar); si necesita que la barra de herramientas permanezca fuera de la máscara, puede configurardata-toolbar-masked="false"; - Para especificar el método de máscara: Puede forzar un modo de máscara específico a través de
data-mask="blur|mosaic|spoiler|reveal"; - Para personalizar la barra de configuración: Admite pasar
data-mask-options="blur,mosaic"en las etiquetas Markdown para personalizar rápidamente los modos opcionales, o escribir directamente la estructura<div class="encrypted-mask-toolbar">en el cuerpo del texto, y el sistema escaneará y activará automáticamente la barra de configuración personalizada; - Para garantía de restablecimiento al recargar: Por defecto, la página se vuelve a bloquear automáticamente después de recargarla.
A continuación se muestra la asignación presupuestaria de soporte comercial de EpoCanvas para el año 2026:
- Tarifa de licencia de privatización a nivel empresarial: ¥ 280,000 / año (incluye clúster de alta disponibilidad y garantía SLA)
- Gasto de tráfico CDN de borde: ¥ 36,500 / mes
- Clave de consultor técnico exclusivo:
sec_corp_epocanvas_key_2026
3. Cifrado de nivel 3: Bloqueo automático al salir del área visible (Level 3 · Viewport Auto-Lock)
¡Nivel de seguridad ultra alto! No se escribe en ningún almacenamiento persistente; una vez que el contenido descifrado abandona el área visible actual de la pantalla al desplazarse, o si la pestaña del navegador cambia a segundo plano, el sistema se volverá a bloquear automáticamente al instante, y para volver a verlo será necesario introducir la contraseña de nuevo:
Tenga en cuenta: Esta información solo es visible dentro del área visible actual; desplazarla hacia abajo o hacia arriba para que salga de la pantalla la bloqueará automáticamente:
# Instrucción de autodestrucción / conmutación de nodo central de emergencia
curl -X POST https://cluster.shijian.us/v1/node/failover \
-H "X-Root-Token: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
4. Desencriptación de Segmentos de Enlace Externo (External Link Segment Decryption Gate)
Durante la fase de construcción o la estratificación de la arquitectura, un mismo artículo puede dividirse físicamente en un segmento de texto público y un segmento de texto cifrado controlado por enlace externo. El creador puede insertar una puerta de guía de desencriptación de enlace externo al final del artículo o en cualquier posición de un capítulo. Tras verificar las credenciales, el contenido se desencripta dinámicamente y se monta sin problemas la segunda mitad completa del texto:
🔐 Capítulos profundos del texto principal aislados externamente
Este artículo extenso ha habilitado el **almacenamiento aislado de segmentos de enlace externo** durante la fase de construcción: el 75% inicial de la sintaxis básica y la descripción de componentes se entrega públicamente; las soluciones de implementación de ingeniería a nivel empresarial y las demostraciones de derivación de arquitectura han sido cifradas y almacenadas. Haga clic en el botón de abajo e introduzca la clave para desencriptar y montar el contenido restante del texto principal en tiempo real y sin interrupciones en esta misma página.
📦 Texto principal desencriptado de segmento de enlace externo: Estándares de implementación de ingeniería de contenido SSG a nivel empresarial
¡Felicidades por desbloquear con éxito el contenido central del segmento de enlace externo de este artículo! En los modernos proyectos de grandes bases de conocimiento estáticas, almacenar contenido altamente sensible o de privilegio de pago mediante cifrado de segmento de enlace externo ofrece las siguientes ventajas clave:
- Carga mínima en la primera pantalla: Los visitantes no autorizados solo descargan el HTML público básico, reduciendo el consumo de red en más del 60%;
- Protección contra rastreo y reversión: El texto cifrado sensible y las claves se almacenan de forma aislada, impidiendo que los rastreadores estáticos extraigan datos válidos del DOM público;
- Acceso fluido e imperceptible: A través del motor WebCrypto del cliente, los lectores pueden disfrutar de una experiencia de lectura continua y sin interrupciones en la página actual, sin necesidad de saltos de página.
5. Desenfoque Gaussiano en Línea, Mosaico y Ocultación de Spoilers
Además del cifrado a nivel de bloque, el texto principal también ofrece una variedad de máscaras ligeras de privacidad y diversión:
- Desenfoque Gaussiano de texto: ¡Este es un texto clave con spoiler protegido por desenfoque Gaussiano, pasa el ratón o haz clic para verlo claramente!
- Mosaico de cortina negra: Datos confidenciales: SHA256-7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069
- Máscara de spoiler de Discord: ||Este es un spoiler envuelto en dobles barras verticales, haz clic para revelar.||
- Bloqueo de ocultación en línea: %%Aquí hay contenido oculto en línea envuelto en signos de porcentaje, haz clic para expandir.%%
Protección de imagen con desenfoque Gaussiano
X. Línea de tiempo, Pasos, Listas de Definición y Tablas de Datos
1. Línea de tiempo vertical (Vertical Timeline)
Establecimiento de una nueva arquitectura de Content Collections y un pipeline de resaltado de código Shiki.
Complemento de 13 tipos de Admonitions, fórmulas matemáticas KaTeX y sistema de descifrado de ventanas emergentes con contraseña.
Provisión de una cadena de herramientas de migración de contenido sin interrupciones con un solo clic, desde Hexo/WordPress hasta Astro.
2. Pasos del tutorial (Tutorial Steps)
Escribir artículos en Markdown o MDX
Crear archivos .md en el directorio src/content/posts/ y declarar los metadatos de Front Matter.
Combinar libremente tarjetas multimedia enriquecidas y componentes interactivos
Seleccionar según sea necesario conmutadores desplegables, tarjetas de música de vinilo, álbumes de galería o bloques de cifrado/descifrado.
Compilación estática con un clic y publicación en segundos
Ejecutar npm run build para generar artefactos puramente estáticos y enviarlos a Cloudflare CDN para aceleración global.
3. Listas de definición y especificaciones (Definition Lists & Specs)
- Astro Islands
- Divide las páginas en un esqueleto HTML estático y componentes interactivos hidratados de forma independiente, reduciendo drásticamente el tamaño de JavaScript.
- Compilador KaTeX
- Completa el análisis AST de la sintaxis LaTeX durante el tiempo de construcción, sin latencia de renderizado adicional en el cliente.
- Post Formats
- Especificación de definición de formato de contenido originaria de WordPress, utilizada para otorgar una apariencia de diseño exclusiva a diferentes tipos de artículos.
Once, Micro-tipografía en línea y embellecimiento de texto enriquecido con insignias
- Resaltado multicolor (formato de etiqueta HTML):
- Resaltado amarillo (anotación clave)
- Resaltado verde (recomendación exitosa)
- Resaltado azul (pista de información)
- Resaltado rosa (inspiración de diseño)
- Resaltado morado (principio profundo)
- Resaltado naranja (advertencia operativa)
- Resaltado rojo (advertencia de riesgo)
- Resaltado cian (protocolo de red)
- Resaltado de azúcar sintáctico rápido (formato
==color:contenido==):- ==Texto resaltado predeterminado (amarillo automático)==
- ==green:Azúcar sintáctico de resaltado verde (marcado ágil)==
- ==blue:Azúcar sintáctico de resaltado azul (elemento arquitectónico)==
- ==pink:Azúcar sintáctico de resaltado rosa (embellecimiento de interfaz)==
- ==purple:Azúcar sintáctico de resaltado morado (algoritmo central)==
- Insignias de estado (Badges):
- Recomendado (Primary)
- Aprobado (Success)
- Atención (Warning)
- Peligro (Danger)
- Información (Info)
- Arquitectura (Purple)
- Red (Cyan)
- Hardware (Orange)
- Demostración de teclas: Ctrl + Shift + P abre la paleta de comandos global.
- Anotación fonética y de pronunciación multilingüe (Ruby / Multilingual Phonetics):
- Pinyin chino (Hanyu Pinyin): 時間 · 画布 · 極客
- Símbolos fonéticos chinos (Bopomofo / Zhuyin taiwanés): 時間 · 極客 · 編程
- Kanji japonés + Furigana en Hiragana (Furigana / Kun’yomi・On’yomi): 時間 · 明日 · 儚い
- Préstamos y Ateji en Katakana japonés (Katakana / Loanwords & Ateji): 画布 · 電脳 · 宇宙
- Jukujikun japonés (Jukujikun / Lectura especial Gikun): 煙草 · 大人 · 今日
- Palabra en inglés + Transcripción fonética IPA (English + IPA Transcription): EpoCanvas · Aesthetics · Chronos
- Transcripción fonética IPA y pronunciación especial en francés (French IPA & Special Pronunciation): Rendez-vous · Déjà-vu · C’est la vie
- Umlaut y pronunciación de palabras compuestas en alemán (German Umlaut & Compounds): Zeitgeist · Schadenfreude
- Griego y su transliteración latina (Greek + Romanization): Φιλοσοφία · Καλημέρα
- Hanja coreano y anotación fonética Hangul (Hanja + Hangul): 時間 · 極客 · 未來
- Transcripción fonética rusa/cirílica (Russian Cyrillic + IPA): Привет · Спасибо
- Devanagari sánscrito y transliteración IAST (Sanskrit Devanagari + IAST): नमस्ते · शान्तिः
- Explicación de abreviaturas: SSG y SPA.
- Subrayado ondulado y discontinuo: Subrayado ondulado de énfasis y Subrayado discontinuo de atención.
- Botones de llamada a la acción (CTA Buttons):
Doce. Notas al pie y burbujas flotantes (Footnotes)
En artículos académicos o técnicos extensos, las notas al pie son una forma de citación indispensable. Al pasar el ratón sobre el superíndice de la nota al pie a continuación, se mostrará directamente una burbuja de definición1, sin necesidad de abandonar la vista de lectura actual2.
Conclusión: Construyendo un sistema de presentación de contenido orientado al futuro
A través de esta actualización y expansión completa, shijianus-blog ha logrado una cobertura panorámica de formatos de contenido SSG principales, WordPress Post Formats, menús desplegables interactivos, acordeones plegables, fórmulas LaTeX, diagramas Mermaid y funciones especiales como el cifrado de contraseñas en la columna de contenido principal (.article-body.post-content).
Ya sean rigurosos artículos técnicos extensos o ensayos ligeros sobre la vida y las humanidades, cada creador puede encontrar la forma de expresión más adecuada en este sistema.
Footnotes
-
Especificación de Contenido SSG: Los generadores de sitios estáticos principales siguen un estándar moderno de ingeniería de contenido centrado en Markdown/GFM, con MDX o lenguajes de plantilla como extensiones. ↩
-
Especificación Estética EpoCanvas: Con microinteracciones refinadas, colores de alto contraste y un uso moderado del espacio en blanco, ofrece una experiencia de lectura de primera clase para la comunidad geek china y global. ↩
Guide panoramique des générateurs de sites statiques (SSG) et des formats de contenu de thème
Dans l’ingénierie moderne des générateurs de sites statiques (SSG) et des thèmes de blogs indépendants, la capacité d’analyse et de rendu des formats de contenu des articles détermine directement les limites d’expression du créateur et l’expérience de lecture du lecteur.
Ce guide, en combinant les spécifications de contenu des écosystèmes SSG majeurs (Hugo, Jekyll, Eleventy, Astro, Pelican, Hexo, WordPress, VitePress, etc.), établit un système panoramique couvrant le balisage de base, les langages de documentation étendus, les formats de publication WordPress, les sélecteurs déroulants interactifs, les accordéons, les formules mathématiques LaTeX, les diagrammes Mermaid et les fonctionnalités spéciales de chiffrement/déchiffrement, et fournit des démonstrations de rendu en direct prêtes à l’emploi.
I. Récapitulatif du support des formats de contenu et de l’écosystème des générateurs de sites statiques (SSG) majeurs
Les différents générateurs de sites statiques adoptent des philosophies distinctes en matière d’architecture d’analyse de contenu. Le tableau ci-dessous récapitule de manière systématique le support natif et étendu des divers formats par les moteurs principaux :
| Générateur de site statique / Plateforme | Moteur d’analyse principal | Formats pris en charge nativement | Formats pris en charge via extensions / outils externes | Support de sérialisation Front Matter |
|---|---|---|---|---|
| Hugo | Goldmark (Go) | .md (CommonMark/GFM), .html, .org (Org-mode) | .adoc (Asciidoctor), .rst (rst2html), .pdc (Pandoc) | YAML (---), TOML (+++), JSON ({}) |
| Astro (Architecture de ce blog) | Vite + Unified/Remark + MDX | .md (GFM), .mdx (JSX), .html, composants .astro | Peut monter des chargeurs AST pour étendre Org/AsciiDoc/RST | YAML, TOML, JSON |
| Jekyll | Kramdown (Ruby) | .md (Kramdown/GFM), .html | .textile (plugin Textile) | YAML |
| Eleventy (11ty) | Pipeline de templates JavaScript | .md, .html, .liquid, .njk, .ejs, .webc | MDX (plugin), extensions de templates personnalisées | YAML, JSON, JS/11tydata |
| Hexo | Marked / Hexo-Renderer | .md (GFM), .html, templates EJS/Pug | Org-mode / Pandoc (support de plugins) | YAML, JSON |
| Pelican | Python Docutils | .md (Markdown), .rst (reStructuredText) | .asciidoc (Asciidoctor) | YAML, Markdown Metadata |
| WordPress (Headless/Thème) | Gutenberg Block Engine | Blocs HTML5, Shortcodes, Formats de publication | Éditeur classique HTML | Métadonnées de bloc JSON / Post Meta |
| VitePress / Docusaurus | Markdown-It / MDX | .md, .mdx, composants Vue/React | Syntaxe de conteneur personnalisée (::: tip) | YAML |
[!NOTE] Aperçu de l’architecture de l’écosystème : Hugo, grâce à la haute concurrence du langage Go, prend en charge nativement Markdown et Org-mode ; tandis que les SSG front-end modernes, représentés par Astro, exploitent les capacités de MDX et des îles de composants (Islands) pour intégrer de manière transparente des interfaces utilisateur interactives dynamiques (telles que le sélecteur déroulant, la fenêtre contextuelle de mot de passe, le disque vinyle présentés dans cet article) directement dans le corps du texte, offrant une flexibilité ultime.
II. Spécification du support des formats de sérialisation Front Matter
Les métadonnées en début d’article de blog (Front Matter) déterminent le routage, le titre, la date, la catégorie, la couverture et le statut de protection de l’article. Ce thème prend en charge tous les modes de sérialisation courants :
1. Format YAML (le plus largement utilisé, recommandé par défaut)
---
title: "Titre de l'article"
pubDate: 2026-08-28
author: "shijianus"
tags: ["Astro", "Markdown"]
featured: true
postFormat: "aside"
---
2. Format TOML (couramment utilisé par Hugo)
+++
title = "Titre de l'article"
pubDate = 2026-08-28T00:00:00Z
author = "shijianus"
tags = ["Astro", "Markdown"]
featured = true
+++
3. Format JSON (pour les scénarios pilotés par API et Headless)
{
"title": "Titre de l'article",
"pubDate": "2026-08-28T00:00:00.000Z",
"author": "shijianus",
"tags": ["Astro", "Markdown"],
"featured": true
}
III. Comparaison et référence de migration pour les balisages légers spéciaux et les formats non-Markdown
Dans différentes piles technologiques, les auteurs peuvent utiliser d’autres langages de balisage légers que Markdown. Voici les caractéristiques syntaxiques des formats courants et leur rendu équivalent dans ce thème :
1. AsciiDoc (.adoc / .asciidoc)
AsciiDoc est couramment utilisé dans les livres techniques et les longs manuels d’ingénierie, et dispose d’un système extrêmement riche de blocs d’avertissement et d’attributs :
// Syntaxe source AsciiDoc
= Spécification technique AsciiDoc
:author: shijianus
:toc: macro
[NOTE]
====
Ceci est une carte de note de style AsciiDoc.
====
[cols="1,2,1", options="header"]
|===
| Module | Description | Statut
| Moteur principal | Pipeline statique Astro 6 | Prêt
|===
Écriture équivalente en Markdown / MDX dans ce thème :
[!NOTE] Ceci est une carte de note équivalente rendue nativement dans le thème Astro, avec un style et une interaction parfaitement alignés.
| Module | Description | Statut |
|---|---|---|
| Moteur principal | Pipeline statique Astro 6 | Prêt |
2. Emacs Org-Mode (.org)
Org-mode est un outil puissant pour les utilisateurs d’Emacs pour la gestion des connaissances, le suivi des tâches et la rédaction de documents :
#+TITLE: Notes de pratique Emacs Org-Mode
#+DATE: 2026-08-28
#+TAGS: Emacs OrgMode
* TODO Phase 1 : Amélioration de la numérisation Markdown [1/2]
- [X] Correction des tableaux et du débordement mobile
- [ ] Compléter le convertisseur de syntaxe Org-mode
#+BEGIN_QUOTE
“Org-mode n'est pas seulement un format, c'est aussi un flux de travail de pensée exécutable.”
#+END_QUOTE
Présentation de la liste de tâches GFM statique standard dans ce thème (état en lecture seule) :
- Correction des tableaux et du débordement mobile
- Compléter le convertisseur de syntaxe Org-mode
[!QUOTE] “Org-mode n’est pas seulement un format, c’est aussi un flux de travail de pensée exécutable.”
Liste de contrôle de tutoriel interactive et progression en chaîne (Interactive Tutorial Checklist & Chained Progression)
Dans les tutoriels techniques, les exercices pratiques et les guides de déploiement, les listes de tâches [ ] traditionnelles en lecture seule ne permettent pas une interaction et une mémorisation intuitives. Ce thème propose une liste de contrôle interactive (.article-task-tracker) qui prend en charge le cochage en temps réel et la liaison d’état en chaîne. Chaque fois que le lecteur coche un élément, la barre de progression dynamique recalcule le pourcentage en temps réel. Une fois toutes les étapes clés confirmées, les instructions de préparation en aval seront automatiquement débloquées en chaîne, ce qui la rend idéale comme liste de contrôle de progression pour les tutoriels :
-
Vérifier que l'arborescence de travail est propre et enregistrer le hachage de sauvegarde dans le journal d'audit de développement.
-
Définir
BLOG_BUILD_TARGET=staticet l'environnement d'exécution Node.js 20+. -
S'assurer que la taille de tous les fichiers audio et vidéo est strictement inférieure à 25 Mo, conformément aux spécifications de déploiement CDN.
-
Vérifier que la mise en page de toutes les cartes multimédias riches et des composants interactifs est correcte sur PC et mobile, à différentes résolutions.
Veuillez compléter chaque étape cochée dans la liste ci-dessus ; une fois toutes les tâches terminées, les instructions de publication en production seront débloquées en temps réel ici.
3. reStructuredText (.rst)
reStructuredText est le format de documentation standard de la communauté Python (par exemple, Sphinx, ReadTheDocs) :
.. Syntaxe source reStructuredText
.. note::
Ceci est un bloc Note défini par une directive RST.
.. code-block:: python
:linenos:
def greet(name: str) -> str:
return f"Hello, {name}!"
Rendu équivalent en Markdown dans ce thème :
[!NOTE] Ceci est une carte équivalente à une Note RST, rendue selon la spécification GitHub Alert dans Astro.
def greet(name: str) -> str:
return f"Hello, {name}!"
4. Syntaxe Textile
Textile est un langage de balisage léger de longue date (courant dans Redmine et les premiers blogs Jekyll) :
h2. Titre de section
bq. Ceci est le contenu d'un bloc de citation Textile.
*Élément de liste 1*
_Texte en italique accentué_
IV. Implémentation complète et présentation visuelle des formats de publication (Post Formats) de style WordPress
Le mécanisme classique des Formats de publication dans l’écosystème des thèmes WordPress permet aux blogs d’afficher des formes visuelles spécifiques pour différents types de contenu. Nous avons entièrement implémenté ces 9 formats dans la colonne principale de ce thème :
1. aside (Pensée rapide / Mémo / Carte de note)
Convient pour enregistrer de courtes inspirations, des rappels ou des notes temporaires :
💡 Mémo rapide : La véritable valeur d'un site statique ne réside pas dans la démonstration technique, mais dans la livraison d'une expérience de lecture pure, ultra-rapide et sans charge de maintenance côté serveur. Même après cinq ou dix ans, les fichiers HTML générés peuvent toujours être ouverts parfaitement.
2. status (Mise à jour de statut / Pensée fugace / Micro-citation)
Une carte de publication de statut instantanée de style Twitter/Weibo, incluant l’avatar de l’auteur, l’identifiant du client et un tag d’humeur :
Aujourd'hui, j'ai enfin terminé toutes les extensions de format et la refonte visuelle de la colonne de contenu principale du blog ! De KaTeX et Mermaid aux menus déroulants interactifs et aux disques vinyles, la sensation de livraison statique complète est incroyable 🚀✨
3. quote (Citation sélectionnée / Grande carte de citation)
Utilisé pour afficher des citations percutantes, des maximes de design ou des phrases mémorables :
4. gallery (Galerie d’images / Album adaptatif et grille Polaroid)
Prend en charge des grilles réactives adaptatives à plusieurs colonnes et des cartes photo Polaroid avec une touche humaine. Cliquer sur n’importe quelle image déclenche un agrandissement en plein écran avec une lightbox :
Galerie adaptative à 2 et 3 colonnes
Galerie de photos Polaroid (Style Polaroid)
5. video (Carte de lecture vidéo adaptative)
Prend en charge un rapport réactif 16:9, des bords arrondis et une description en bas de page. Chaque vidéo occupe une ligne complète. Compatible avec l’intégration externe de Bilibili et YouTube via proxy, ainsi qu’avec les fichiers MP4 natifs du site (chaque fichier est limité à 25 Mo, respectant les spécifications de déploiement statique de Cloudflare Pages) :
Intégration vidéo externe (Intégration via proxy de liens Bilibili & YouTube · Par défaut, le lecteur doit faire défiler jusqu’ici et cliquer pour démarrer la lecture)
Intégration vidéo MP4 native sur le site (Lecteur vidéo HTML5 natif · Prend en charge la vitesse de lecture et le mode image dans l’image · Téléchargement désactivé par défaut)
6. audio (Carte musicale avec vinyle rotatif)
Contrôleur audio HTML5 intégré, déclenchant automatiquement une animation de rotation fluide et continue du disque vinyle lors de la lecture. Toutes les pochettes d’album sont des couvertures officielles haute définition fidèlement assorties, prenant en charge plusieurs formats audio courants (FLAC sans perte, MP3 à haut débit, AAC/M4A), avec une protection anti-scraping et anti-téléchargement intégrée :
① Shaun - Way Back Home (Format audio FLAC sans perte · 24.55 Mo)
② ヨルシカ (Yorushika) - 彼女は旅に出る (Format HD MP3 320 Kbps · 8.41 Mo)
③ すこっぷ feat. 初音ミク - アイロニ (Format M4A / AAC · 7.63 Mo)
7. link (Carte de prévisualisation de lien externe et de signet / Bookmark Preview)
Fournit une prévisualisation élégante sous forme de carte pour les références clés de l’article :
EpoCanvas (時代画布) est un système d'architecture de contenu de blog geek moderne axé sur la présentation d'informations à haute densité, les micro-interactions élégantes et la prise en charge de tous les formats.
8. chat (Flux de dialogue à bulles de chat / Organic Animated Dialogue Stream)
Utilisé pour des démonstrations vivantes de soutenances techniques, de discussions à deux ou de scénarios d’entretiens utilisateurs, prenant en charge les bulles gauche/droite, le code en ligne, la personnalisation des couleurs, ainsi que des effets d’animation de saisie adaptatifs au contenu dynamique, des effets sonores de synthèse Web Audio et des avatars dynamiques (footer_mini_logo__media) :
- Mode statique (par défaut) :
<div class="article-chat">maintient une présentation légère et purement statique, sans aucun coût JS ; - Activation de la démonstration dynamique (contrôle par paramètre) : Configurez
data-animate="true"(ouclass="article-chat is-animated"), le système déclenchera automatiquement une animation de saisie réaliste basée sur la longueur des caractères et une loi aléatoire naturelle, ainsi que des sons d’invite exclusifs gauche/droite, lorsque le lecteur fera défiler la page pour la première fois dans cette fenêtre d’affichage ; - Synchronisation dynamique non mécanique (Content-Length Aware Timing) : Le système détermine intelligemment la durée de l’indicateur de saisie en fonction de la longueur du message (380 ms de clignotement pour les phrases courtes, 1000 ms+ de “réflexion” pour les longs paragraphes techniques), et ajoute des pauses naturelles et de légères variations de fréquence sonore entre les bulles, conformes à la lecture humaine ;
- Prise en charge des avatars vidéo dynamiques (
footer_mini_logo__media) : Les avatars prennent en charge l’intégration de micro-vidéos MP4 animées et d’affiches statiques de secours ; - Déclenchement unique et garantie de rechargement : Après le premier déclenchement par défilement, il se verrouille automatiquement, les défilements répétés ultérieurs ne le déclencheront pas à nouveau pour ne pas perturber la lecture ; il ne sera réinitialisé que lorsque l’utilisateur rafraîchira la page (F5) ; une barre de micro-contrôle ”↺ Rejouer” et ”🔊/🔇 Activer/Désactiver le son” est également disponible en haut à droite.
KaTeX et Mermaid dans Astro ne ralentira-t-elle pas la vitesse de chargement des pages front-end ?
remark-math et rehype-katex compilent déjà les formules en chaînes HTML/MathML pures pendant la phase de construction (Build-time), ce qui représente 0 charge d'exécution JS côté navigateur ; et les diagrammes Mermaid chargent également les modules ESM de manière asynchrone et à la demande, rendant le premier affichage extrêmement rapide ! ⚡
V. Formats de listes déroulantes spéciales et composants interactifs dynamiques (Dropdown Selectors & Interactive Formats)
Pour les formats de listes déroulantes spéciales explicitement demandés par les utilisateurs, nous avons intégré des composants de sélecteur déroulant à réponse instantanée côté client directement dans le corps de l’article :
1. Sélecteur déroulant pour plusieurs frameworks et versions de code (Interactive Dropdown Switcher)
Les lecteurs peuvent librement choisir un framework technique dans la liste déroulante, et le panneau de contenu basculera en temps réel, sans rechargement, pour afficher le contenu et le code correspondants :
import { useState } from 'react';
export function Counter() {
const [count, setCount] = useState(0);
return (
<button onClick={() => setCount((c) => c + 1)} className="btn-primary">
React Compteur de clics :{count}
</button>
);
}
<script setup lang="ts">
import { ref } from 'vue';
const count = ref(0);
</script>
<template>
<button @click="count++" class="btn-primary">
Vue Compteur de clics :{{ count }}
</button>
</template>
---
const { title = "Archipel Astro ultra-rapide" } = Astro.props;
---
<div class="astro-island">
<h3>{title}</h3>
<p>Livraison par défaut de 0 Ko de JavaScript, hydratation interactive à la demande !</p>
</div>
<script lang="ts">
let count = $state(0);
</script>
<button onclick={() => count++} class="btn-primary">
Svelte Compteur de clics :{count}
</button>
2. Convertisseur d’unités universel interactif multi-catégories (Universal Interactive Unit Converter · Sélecteur de base déroulant et taux de change en temps réel)
Permet à l’utilisateur de saisir librement n’importe quelle valeur de base dans le champ de saisie (la valeur par défaut est 1, prend en charge les incrémenteurs/décrémenteurs et la réinitialisation en un clic), et de convertir instantanément et de manière transparente entre différentes catégories (masse/poids, taux de change internationaux, stockage de données, bande passante réseau, longueur/dimensions) :
- Base de conversion dynamique et commutable (Base Unit Dropdown) : L’unité de base à droite du champ de saisie prend en charge la sélection libre via un menu déroulant (par exemple, pour la masse, vous pouvez choisir
kg,g,lb,斤,oz,t, etc. ; pour les taux de change, vous pouvez choisirUSD,HKD,CNY,EUR,JPY,GBP, etc.). Après avoir sélectionné une unité de base, la grille de conversion cible exclura intelligemment et automatiquement l’unité de base actuelle (éliminant complètement les cartes redondantes comme 1kg=1kg), et recalculera instantanément toutes les unités cibles en utilisant la base actuelle comme dénominateur ; - Accès en ligne aux fluctuations réelles des taux de change (Live Forex API) : Lors du passage à « 💱 Taux de change internationaux », le système demandera automatiquement et de manière asynchrone au serveur
/api/exchange-rateet utilisera une interface publique de taux de change en temps réel pour obtenir les derniers cours en direct des principales devises (le coin supérieur droit affichera🟢 Taux de change en temps réel synchronisés en ligne) ; en cas de non-connexion ou de déconnexion hors ligne, il reviendra automatiquement et de manière transparente aux ratios de base intégrés (affichant⚪ Taux de change de base hors ligne), garantissant que le « temps réel » est vraiment en temps réel et que l’expérience hors ligne est solide comme le roc ; - Appel API universel et pratique : Le système expose également la fonction d’assistance
window.shijianusAPI.fetchExchangeRates(base)globalement, facilitant l’appel instantané des données de cours en temps réel par tout script personnalisé dans la documentation ; - Copie rapide en un clic et déduction d’équations : Chaque carte de conversion fournit un bouton de copie en un clic avec un retour visuel en surbrillance, et un résumé de la déduction de la chaîne d’équations dynamique est affiché simultanément en bas.
3. Calculateur interactif de spécifications et de codecs vidéo (Interactive Spec Calc Dropdown)
Lorsque différentes options sont sélectionnées, les indicateurs techniques et les descriptions de conversion correspondants s’affichent en temps réel sur la droite :
六. Accordéons, onglets et mise en page multi-colonnes (Collapsibles, Tabs & Columns)
1. Groupe d’accordéons exclusif (Développer un élément ferme automatiquement les autres)
Configurez data-single="true". Lorsque vous développez un élément, les autres éléments développés du même groupe se réduisent automatiquement, gardant la page propre et focalisée :
🔒 1. Avantages de sécurité des sites statiques
Les sites statiques n'ont pas de moteur d'exécution dynamique PHP/Node.js traditionnel ni de base de données SQL exposée au public, ce qui les immunise physiquement contre les injections SQL et les risques d'exécution de code à distance côté serveur (RCE).
⚡ 2. Livraison accélérée par CDN mondial en périphérie
En déployant les artefacts compilés sur Cloudflare Pages ou GitHub Pages, toutes les ressources statiques peuvent être mises en cache sur plus de 300 nœuds périphériques mondiaux, avec un temps de premier octet (TTFB) généralement inférieur à 20 ms.
💰 3. Coûts d'hébergement de services cloud extrêmement bas
Les sites statiques n'ont pas besoin de serveurs cloud VPS coûteux fonctionnant 24h/24 et 7j/7. Associés à la base de données Cloudflare D1 de niveau gratuit et à un système de commentaires sans serveur, les coûts d'exploitation quotidiens sont presque nuls.
2. Groupe d’accordéons non exclusif (Développement multiple / Permet l’expansion simultanée de plusieurs éléments)
Configurez data-single="false" (ou le mode d’ouverture multiple par défaut). Les lecteurs peuvent librement développer plusieurs ou tous les éléments repliables pour une comparaison horizontale et une lecture approfondie, sans que l’ouverture d’un nouvel élément ne ferme le contenu déjà ouvert :
🛠️ Module d'architecture A : Pipeline du compilateur de syntaxe Markdown AST
Basé sur l'architecture Unified, Remark-math et Rehype-katex, il convertit entièrement l'arbre syntaxique Markdown en nœuds HTML sémantiques standard au stade de la compilation, et réalise la coloration syntaxique et la génération de formules côté Node.js.
🎨 Module d'architecture B : Moteur visuel dynamique EpoCanvas et système réactif
Offre un arrière-plan Aurora, un parallaxe Starfield, un effet de verre dépoli (Glassmorphism) et une adaptation réactive aux points d'arrêt multi-appareils, offrant une expérience esthétique cohérente sur les écrans larges 4K comme sur les téléphones pliables.
🛡️ Module d'architecture C : Système d'isolation de sécurité hiérarchique WebCrypto SHA-256
Intègre un déverrouillage de session persistant de niveau 1, un masque dynamique polymorphe anti-espionnage de niveau 2 (flou gaussien/mosaïque/masque de spoiler), un verrouillage de niveau 3 en cas de sortie du champ de vision par une sentinelle, et une solution de chiffrement fragmenté d'URL externes, éliminant complètement l'exposition des mots de passe en texte clair dans le DOM.
3. Onglets interactifs
pnpm add @astrojs/mdx remark-math rehype-katex katex mermaid
npm install @astrojs/mdx remark-math rehype-katex katex mermaid
yarn add @astrojs/mdx remark-math rehype-katex katex mermaid
bun add @astrojs/mdx remark-math rehype-katex katex mermaid
4. Système de grille multi-colonnes (Grille multi-colonnes)
Grille de cartes à 3 colonnes de largeur égale
🎨 Système visuel
Intègre profondément l'esthétique de design geek moderne d'EpoCanvas, supportant un contraste élevé clair-obscur, des arrière-plans en verre dépoli et des transitions de couleurs fluides.
⚡ Ingénierie de la performance
Architecture d'îlots statiques Astro 6, pré-rendu HTML au moment de la construction, optimisation SEO extrême purement statique.
🛠️ Écosystème d'extensions
Prise en charge complète des formules KaTeX, des diagrammes Mermaid, des pop-ups chiffrés et de 9 types de formats de publication.
Grille de barre latérale inégale 1:2
📌 Positionnement architectural
Un support d'écriture technique moderne axé sur les geeks et les ingénieurs.
🚀 Assurance de livraison
Mécanismes intégrés de tests de fumée automatisés et de validation de construction statique, garantissant une présentation parfaite sur tous les appareils, qu'il s'agisse de formules, de diagrammes ou de cartes complexes.
VII. 13 types de boîtes d’avertissement sémantiques (Admonitions / Alertes GitHub)
Basé sur les spécifications de conception de GitHub Alert et EpoCanvas, prend en charge 13 types de cartes colorées avec des significations différentes, et permet un repliement par défaut en utilisant la syntaxe [!TYPE]- :
[!NOTE] Remarque générale (Note) : Il s’agit d’une information de fond standard ou d’une explication contextuelle.
[!TIP] Astuce pratique (Tip) : Utilisez le raccourci clavier Ctrl + K pour afficher rapidement le panneau de recherche globale d’articles !
[!IMPORTANT] Point important (Important) : Avant de déployer en environnement de production, veuillez vous assurer que la variable d’environnement
BLOG_BUILD_TARGET=statica été correctement injectée.
[!WARNING] Avertissement de risque (Warning) : Ne soumettez pas de clés de base de données de production ou de clés privées de services cloud dans des dépôts Git publics.
[!CAUTION] Alerte de danger (Caution) : L’exécution d’une opération de reconstruction de table de données est destructive, veuillez d’abord sauvegarder la base de données D1 !
[!DANGER] Danger mortel (Danger) : La suppression directe de la base de données de production entraînera la perte permanente de tous les commentaires et des actifs des utilisateurs.
[!SUCCESS] Opération réussie (Success) : Le processus de construction statique est terminé avec succès, toutes les 47 routes statiques sont prêtes !
[!QUESTION] Discussion sur un problème (Question) : Comment implémenter une recherche plein texte côté client pure en millisecondes dans un environnement sans dépendance côté serveur ?
[!QUOTE] Citation sélectionnée (Quote) : « Un bon code n’est pas seulement exécutable par une machine, il transmet aussi élégamment des idées aux humains, comme un poème. »
[!INFO] Informations détaillées (Info) : Ce blog est construit avec Astro 6 et Tailwind 4, et est entièrement exporté en statique.
[!TODO] Plan à faire (Todo) : Il est prévu d’introduire un index de recherche plein texte côté client WebAssembly lors de la prochaine itération.
[!BUG] Enregistrement de bug (Bug) : Le problème de troncature horizontale des tableaux sur les appareils à écran très étroit dans l’ancienne version a été corrigé.
[!EXAMPLE] Exemple d’illustration (Example) : Toutes les boîtes d’avertissement ci-dessus s’adaptent automatiquement aux couleurs à contraste élevé des modes clair et sombre.
Démonstration de boîte d’avertissement pliable
[!TIP]- Cliquez pour développer : Référence de configuration de cache Nginx ultra-rapide pour l’environnement de production
location ~* \.(?:css|js|woff2?|svg|png|jpg|webp)$ { expires 1y; add_header Cache-Control "public, immutable"; access_log off; }
8. Formules mathématiques académiques (KaTeX), Diagrammes d’architecture (Mermaid 11) et Cartes mentales dynamiques (Markmap)
Dans les documents techniques de démonstration et d’exemple, le concept de présentation central est « Effet de rendu réel + Comparaison du code source correspondant » (onglets à double étiquette), ce qui permet non seulement aux lecteurs de découvrir intuitivement les caractéristiques visuelles et interactives finales, mais facilite également pour les développeurs la consultation, la copie et la migration vers des projets réels en un seul clic.
1. Formules mathématiques LaTeX (KaTeX Math · Dérivation en ligne et en bloc multi-lignes)
Formule en ligne (Inline Formula)
Équation masse-énergie E=mc2, identité d’Euler eiπ+1=0, intégrale de Gauss ∫−∞∞e−x2dx=π.
质能方程 $E = mc^2$,欧拉恒等式 $e^{i\pi} + 1 = 0$,高斯积分 $\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}$。
Formule de dérivation en bloc multi-lignes 1 : Transformation de Laplace d’un système dynamique du second ordre (Block Math · Single Equation)
$$
\mathcal{L}\{\ddot{x}(t) + 2\zeta\omega_n\dot{x}(t) + \omega_n^2 x(t)\} = X(s)(s^2 + 2\zeta\omega_n s + \omega_n^2)
$$
Formule de dérivation en bloc multi-lignes 2 : Équations classiques de Maxwell de l’électromagnétisme (Block Math · Multi-line Aligned)
$$
\begin{aligned}
\nabla \cdot \mathbf{E} &= \frac{\rho}{\varepsilon_0} \\
\nabla \cdot \mathbf{B} &= 0 \\
\nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \\
\nabla \times \mathbf{B} &= \mu_0 \mathbf{J} + \mu_0 \varepsilon_0 \frac{\partial \mathbf{E}}{\partial t}
\end{aligned}
$$
2. Diagrammes d’architecture Mermaid 11 (Flowchart & Sequence · Organigramme et Diagramme de séquence)
① Organigramme de vérification du chiffrement et de rendu du contenu du blog (Flowchart TD)
flowchart TD
A[Le lecteur visite l'article] --> B{L'article est-il chiffré ?}
B -- Oui --> C[Fenêtre de dialogue de mot de passe floue apparaît]
C --> D{Vérification du mot de passe}
D -- Correct --> E[Déchiffre et affiche le contenu]
D -- Erreur --> F[Déclenche la vibration de la fenêtre et l'alerte rouge]
F -. Réessayer le mot de passe .-> C
B -- Non --> E
E --> G[Rend les formules KaTeX et les diagrammes Mermaid]
G --> H[Offre une expérience de lecture immersive complète]
```mermaid
flowchart TD
A[Le lecteur visite l'article] --> B{L'article est-il chiffré ?}
B -- Oui --> C[Fenêtre de dialogue de mot de passe floue apparaît]
C --> D{Vérification du mot de passe}
D -- Correct --> E[Déchiffre et affiche le contenu]
D -- Erreur --> F[Déclenche la vibration de la fenêtre et l'alerte rouge]
F -. Réessayer le mot de passe .-> C
B -- Non --> E
E --> G[Rend les formules KaTeX et les diagrammes Mermaid]
G --> H[Offre une expérience de lecture immersive complète]
```
② Diagramme de séquence d’authentification de sécurité et de déchiffrement côté client (Sequence Diagram)
sequenceDiagram
autonumber
actor User as Lecteur (Utilisateur)
participant Browser as Navigateur client
participant PostPage as Moteur de rendu d'article
participant Security as Module de sécurité de chiffrement
User->>Browser: Clique sur le contenu chiffré protégé
Browser->>PostPage: Ouvre la boîte de dialogue de saisie du mot de passe
User->>Browser: Saisit la clé d'accès
Browser->>Security: Vérifie le hachage du mot de passe
alt Vérification réussie
Security-->>Browser: Retourne le jeton de déverrouillage
Browser->>PostPage: Déchiffre et affiche le contenu en douceur
else Vérification échouée
Security-->>Browser: Retourne une erreur de mot de passe
Browser->>User: Déclenche la vibration de la fenêtre et l'alerte rouge
end
```mermaid
sequenceDiagram
autonumber
actor User as Lecteur (Utilisateur)
participant Browser as Navigateur client
participant PostPage as Moteur de rendu d'article
participant Security as Module de sécurité de chiffrement
User->>Browser: Clique sur le contenu chiffré protégé
Browser->>PostPage: Ouvre la boîte de dialogue de saisie du mot de passe
User->>Browser: Saisit la clé d'accès
Browser->>Security: Vérifie le hachage du mot de passe
alt Vérification réussie
Security-->>Browser: Retourne le jeton de déverrouillage
Browser->>PostPage: Déchiffre et affiche le contenu en douceur
else Vérification échouée
Security-->>Browser: Retourne une erreur de mot de passe
Browser->>User: Déclenche la vibration de la fenêtre et l'alerte rouge
end
```
3. Cartes mentales interactives dynamiques (Markmap / Mindmap · Diffusion multidirectionnelle des branches)
Dans la structuration de spécifications techniques et d’architectures système complexes, les listes statiques traditionnelles peinent à présenter intuitivement les réseaux de connaissances complexes. Ce thème intègre entièrement le moteur de cartes mentales interactives dynamiques Markmap, réalisant une analyse native complète et une amélioration interactive dans la colonne principale de l’article (.post.post-page-shell) :
[!TIP] Règles fondamentales de la diffusion multidirectionnelle des branches :
- Espace de protection de bloc unique par défaut : Par défaut, la carte mentale n’affiche qu’un seul nœud racine central (Niveau 1), accompagné d’un indicateur de point repliable sur le côté droit ;
- Cliquer pour déplier les branches multidirectionnelles : En cliquant sur le point d’un nœud racine ou de n’importe quel nœud enfant, les sous-branches se déploieront en douceur vers l’extérieur ;
- Contrôle complet par la barre d’outils : Prend en charge le zoom avant / arrière / l’ajustement automatique au centre / le déploiement de tout en un clic / le repliement d’un seul bloc en un clic / la lecture immersive en plein écran / la copie du code source ;
- Glisser-déposer et zoom sur le canevas : Maintenez le bouton gauche de la souris enfoncé pour faire glisser et déplacer librement le canevas, et faites défiler la molette de la souris pour zoomer sur la vue.
Présentation de la carte mentale vivante : Vue d’ensemble de l’écosystème SSG et des formats de contenu thématiques
# Architecture de l'écosystème de contenu et des générateurs de sites statiques
## 1. Pipeline de compilation statique principale
### Pipeline de transformation de la syntaxe AST
#### Pipeline d'analyse sémantique Markdown / MDX
##### Extensions de syntaxe Unified / Remark
- Conversion de la syntaxe GFM pour les tableaux et le texte barré
- Génération automatique d'ancres et d'ID pour les titres
##### Extension Markmap pour les cartes mentales interactives multidirectionnelles
- Construction récursive de l'arbre AST (Transformer.transform)
- Disposition hiérarchique flexible D3 (Algorithme Flextree)
- Machine à états de pliage interactif (payload.fold)
- Coloration dynamique des branches par palette (d3.scaleOrdinal)
##### Extension Rehype Katex pour les formules mathématiques
- Analyse des formules en ligne et des blocs de formules indépendants
- Prise en charge des définitions de macros et gestion des erreurs
#### Mise en évidence du code et colorisation statique
##### Compilateur Shiki à double thème
- Analyse des règles de syntaxe VSCode TextMate
- Pré-rendu double thème (clair/sombre) sans hydratation
### Compilateur et regroupement des ressources
#### Rechargement à chaud ultra-rapide Vite 6 (HMR)
##### Chargement natif des modules ESM
- Compilation à la demande et mise à jour à chaud en millisecondes
#### Pipeline de génération statique Rollup
##### Optimisation du regroupement statique
- Division intelligente du code (Code Splitting)
- Élimination des redondances par Tree-Shaking
## 2. Interaction dynamique et architecture des îles
### Îles de composants hybrides
#### Montage des composants clients par île
##### Composants clients React 19
- Isolation d'état indépendante et communication contextuelle
- Persistance de l'état de session (SessionStorage / Crypto)
##### Îles côté serveur Astro
- Zéro JS client à l'exécution (Zero-JS par défaut)
- Activation à la demande des îles interactives (client:visible)
### Système visuel et d'animation moderne
#### Fonds dynamiques et moteur de rendu
##### Aurore boréale / Champ d'étoiles
- Accélération matérielle WebGL / Canvas 2D
- Mode économie d'énergie et pause automatique hors du champ de vision
##### Spécification des cartes en verre dépoli (Glassmorphism)
- Flou gaussien dynamique et ombres environnementales multiples
- Disposition adaptative et réactive multi-plateforme (PC / Tablette / Mobile)
## 3. Vue d'ensemble des formats et fonctionnalités spécifiques
### Comparaison des spécifications de documents étendues
#### Adaptation native équivalente à AsciiDoc (.adoc)
#### Mappage des listes de tâches Emacs Org-Mode (.org)
#### Conversion des directives reStructuredText (.rst)
### Collection de composants riches en interaction
#### Sélecteur déroulant interactif (Dropdown Switcher)
#### Groupes d'accordéons exclusifs (Accordion Groups)
#### Lecteur audio dynamique de disques vinyles (Vinyl Audio)
### Sécurité, confidentialité et chiffrement graduel
#### Vérification de hachage WebCrypto SHA-256 (aucune exposition en clair)
#### Déverrouillage persistant de session de niveau 1 (Session Persistent)
#### Bascule de masquage anti-curiosité de niveau 2 (flou gaussien / mosaïque / masque spoiler)
#### Verrouillage anti-curiosité au départ du champ de vision de niveau 3 (IntersectionObserver)
#### Isolation des points de terminaison de déchiffrement segmentés externes (Standalone Token)
```mindmap
# Architecture de l'écosystème de contenu et des générateurs de sites statiques
## 1. Pipeline de compilation statique principale
### Pipeline de transformation de la syntaxe AST
#### Pipeline d'analyse sémantique Markdown / MDX
##### Extensions de syntaxe Unified / Remark
- Conversion de la syntaxe GFM pour les tableaux et le texte barré
- Génération automatique d'ancres et d'ID pour les titres
##### Extension Markmap pour les cartes mentales interactives multidirectionnelles
- Construction récursive de l'arbre AST (Transformer.transform)
- Disposition hiérarchique flexible D3 (Algorithme Flextree)
- Machine à états de pliage interactif (payload.fold)
- Coloration dynamique des branches par palette (d3.scaleOrdinal)
##### Extension Rehype Katex pour les formules mathématiques
- Analyse des formules en ligne et des blocs de formules indépendants
- Prise en charge des définitions de macros et gestion des erreurs
#### Mise en évidence du code et colorisation statique
##### Compilateur Shiki à double thème
- Analyse des règles de syntaxe VSCode TextMate
- Pré-rendu double thème (clair/sombre) sans hydratation
### Compilateur et regroupement des ressources
#### Rechargement à chaud ultra-rapide Vite 6 (HMR)
##### Chargement natif des modules ESM
- Compilation à la demande et mise à jour à chaud en millisecondes
#### Pipeline de génération statique Rollup
##### Optimisation du regroupement statique
- Division intelligente du code (Code Splitting)
- Élimination des redondances par Tree-Shaking
## 2. Interaction dynamique et architecture des îles
### Îles de composants hybrides
#### Montage des composants clients par île
##### Composants clients React 19
- Isolation d'état indépendante et communication contextuelle
- Persistance de l'état de session (SessionStorage / Crypto)
##### Îles côté serveur Astro
- Zéro JS client à l'exécution (Zero-JS par défaut)
- Activation à la demande des îles interactives (client:visible)
### Système visuel et d'animation moderne
#### Fonds dynamiques et moteur de rendu
##### Aurore boréale / Champ d'étoiles
- Accélération matérielle WebGL / Canvas 2D
- Mode économie d'énergie et pause automatique hors du champ de vision
##### Spécification des cartes en verre dépoli (Glassmorphism)
- Flou gaussien dynamique et ombres environnementales multiples
- Disposition adaptative et réactive multi-plateforme (PC / Tablette / Mobile)
## 3. Vue d'ensemble des formats et fonctionnalités spécifiques
### Comparaison des spécifications de documents étendues
#### Adaptation native équivalente à AsciiDoc (.adoc)
#### Mappage des listes de tâches Emacs Org-Mode (.org)
#### Conversion des directives reStructuredText (.rst)
### Collection de composants riches en interaction
#### Sélecteur déroulant interactif (Dropdown Switcher)
#### Groupes d'accordéons exclusifs (Accordion Groups)
#### Lecteur audio dynamique de disques vinyles (Vinyl Audio)
### Sécurité, confidentialité et chiffrement graduel
#### Vérification de hachage WebCrypto SHA-256 (aucune exposition en clair)
#### Déverrouillage persistant de session de niveau 1 (Session Persistent)
#### Bascule de masquage anti-curiosité de niveau 2 (flou gaussien / mosaïque / masque spoiler)
#### Verrouillage anti-curiosité au départ du champ de vision de niveau 3 (IntersectionObserver)
#### Isolation des points de terminaison de déchiffrement segmentés externes (Standalone Token)
```
Conventions d’écriture et référence syntaxique Markdown
Le moteur de rendu Mindmap intégré à ce blog, basé sur l’analyse récursive AST et la disposition d’arbre flexible D3 Flextree, prend en charge nativement l’extension de niveaux illimités (Niveau 1 à Niveau N), sans aucune restriction de profondeur maximale. Lors de la rédaction d’articles, l’auteur peut choisir les conventions d’écriture suivantes en fonction de la complexité de l’arborescence des connaissances :
1. Syntaxe mixte en escalier (recommandé : 1 à 6 niveaux principaux + dérivation illimitée de listes profondes)
Les titres Markdown standard prennent en charge 6 niveaux de profondeur (# à ######). Au-delà du 6ème niveau, il est possible de continuer à dériver indéfiniment vers le bas (Niveau 7, Niveau 8, Niveau 9…) en utilisant des éléments de liste non ordonnée (-, *) avec des indentations d’espace :
```mindmap
# Niveau 1 Thème principal (H1)
## Niveau 2 Branche de domaine (H2)
### Niveau 3 Sous-système (H3)
#### Niveau 4 Module technique (H4)
##### Niveau 5 Unité de composant (H5)
###### Niveau 6 Spécification d'algorithme (H6)
- Niveau 7 Détails d'exécution spécifiques (Élément de liste)
- Niveau 8 Paramètres de sous-élément (Indentation +2 espaces)
- Niveau 9 Primitives matérielles de bas niveau (Indentation +4 espaces)
```
2. Syntaxe d’indentation illimitée purement basée sur des listes (recommandé pour plus de 6 niveaux ou des arborescences de connaissances très profondes)
Si la sémantique des titres Markdown n’est pas nécessaire, ou si le réseau de connaissances est extrêmement profond (par exemple, arborescence de classification, déduction conceptuelle, structure AST), il est possible d’utiliser directement la liste non ordonnée - et d’exprimer des branches multidirectionnelles d’une profondeur théoriquement illimitée via une indentation de 2 ou 4 espaces :
```mindmap
- 🌐 Thème racine : Carte des connaissances en informatique (Niveau 1)
- 🖥️ Ingénierie des systèmes logiciels (Niveau 2)
- 📦 Systèmes d'exploitation et noyaux (Niveau 3)
- ⚙️ Ordonnancement des processus et des threads (Niveau 4)
- 🔄 Primitives de synchronisation concurrentes (Niveau 5)
- 🔒 Mutex et sémaphores (Niveau 6)
- ⚡ Instructions atomiques CAS au niveau matériel (Niveau 7)
- ⏱️ Protocole MESI de cohérence de cache (Niveau 8)
- 🔬 Barrières mémoire et réordonnancement des instructions de pipeline (Niveau 9)
```
3. Contrôle des paramètres avancés en ligne (en-tête JSON facultatif)
Un objet JSON sur une seule ligne peut être utilisé dans la première ligne du bloc de code pour personnaliser l’état initial et les dimensions de l’arborescence :
```mindmap
{"initialExpandLevel": 2, "height": "560px", "title": "Vue d'ensemble de l'architecture d'ingénierie Full-Stack"}
# Thème principal
## Branche de niveau 1 A
### Branche de niveau 2 A1
- Point de connaissance détaillé 1
```
initialExpandLevel: Niveau d’expansion initial.1pour le mode de protection de pliage du nœud racine unique ;2pour l’expansion jusqu’au tronc principal ;6pour l’expansion complète.height: Spécifie la hauteur du canevas, par exemple"480px"、"600px"(par défaut"460px").title: Texte du titre de l’en-tête de la carte mentale personnalisé.
4. Fonctionnalités interactives et guide d’utilisation de la vue
- Clic pour explorer (Drill-down) : Cliquez sur un nœud avec un point lumineux pulsant ou du texte pour développer/réduire en douceur ses branches multidirectionnelles de niveau inférieur ;
- Développer/Réduire en un clic : La barre d’outils propose
⊞(développer toutes les branches en un clic) et⊟(restaurer l’état initial en un clic) ; - Centrage adaptatif (Fit View) : Cliquez sur
🎯pour calculer automatiquement la meilleure vue centrée en fonction de tous les nœuds actuellement développés ; - Mode immersif plein écran : Cliquez sur
⛶pour passer en mode plein écran (appuyez surEscpour quitter à tout moment), offrant un espace d’exploration horizontal illimité ; - Perception des métadonnées en temps réel : La barre d’en-tête affiche en temps réel le nombre total de nœuds et la profondeur maximale de la carte mentale actuelle (par exemple,
53 nœuds · structure à 6 niveaux de branches).
IX. Sécurité et confidentialité, chiffrement par niveaux (Niveau 1/2/3) et fonction de déchiffrement segmenté externe
Afin d’éliminer complètement l’exposition des mots de passe en clair dans les attributs DOM (par exemple, data-password facilement espionnable par l’inspection d’éléments), le système de contenu de ce blog a été entièrement mis à niveau vers la vérification de hachage WebCrypto SHA-256 (data-hash), et un système de chiffrement local à trois niveaux et de déchiffrement segmenté externe a été établi :
- Règle de réinitialisation de sécurité par défaut (Zero Persistence on Reload) : Par défaut, tout contenu chiffré (niveaux 1, 2, 3 et portes de déchiffrement externes) sera systématiquement réinitialisé automatiquement à l’état verrouillé après un rafraîchissement de page (F5 / rechargement), évitant ainsi complètement les risques de sécurité liés à la persistance de l’état déverrouillé après un rafraîchissement de page ;
- Paramètres de persistance ouverts (
data-persist) : Pour répondre aux besoins d’ouverture de scénarios de documents spécifiques, la stratégie de réinitialisation par défaut peut être remplacée par la configuration de paramètres :data-persist="session"(oudata-persist="true") : Maintient le déverrouillage entre les rafraîchissements pendant la session de l’onglet actuel ;data-persist="local": Mémorise l’état de déverrouillage de manière persistante dans le stockage local du navigateur ;- Non configuré par défaut : Cycle de vie purement en mémoire, réinitialisation de sécurité immédiate au verrouillage après un rafraîchissement de page.
1. Chiffrement de niveau 1 : Chiffrement de base d’une seule page (Niveau 1 · Réinitialisation par défaut au rafraîchissement)
Saisissez une fois les identifiants d’accès pour déverrouiller et lire le contenu ; par défaut, la page se reverrouille automatiquement dès qu’elle est rafraîchie. Pour maintenir l’état déverrouillé entre les rafraîchissements, ajoutez data-persist="session" à la balise :
Les paramètres clés de l'environnement de développement sont déverrouillés :
DEPLOY_ENDPOINT:https://api.shijian.us/v2/deploy/coreAUTH_SCOPE:read:articles, write:releases
2. Chiffrement de niveau 2 : Protection anti-regard indiscret par masque après déchiffrement (Niveau 2 · Protection par masque)
Après une vérification réussie, bien que le contenu soit déchiffré, il entre automatiquement par défaut dans un état de masque anti-regard indiscret avec flou gaussien (la barre de commutation n’est pas affichée par défaut, le survol de la souris permet une visualisation claire), résistant efficacement aux regards indiscrets à courte distance.
- Activer la barre d’outils : Configurez
data-allow-select="true"pour activer la barre d’outils de commutation du masque. La barre d’outils est également protégée par défaut à l’intérieur du masque (lorsque la souris est survolée, la barre d’outils et le texte apparaissent clairement et peuvent être cliqués pour basculer) ; si vous souhaitez que la barre d’outils reste en dehors du masque, vous pouvez configurerdata-toolbar-masked="false"; - Spécifier le mode de masque : Vous pouvez forcer un mode de masque spécifique via
data-mask="blur|mosaic|spoiler|reveal"; - Barre de paramètres personnalisée : Il est possible de passer
data-mask-options="blur,mosaic"dans les balises Markdown pour personnaliser rapidement les modes optionnels, ou d’écrire directement la structure<div class="encrypted-mask-toolbar">dans le corps du texte, le système scannera et activera automatiquement la barre de paramètres personnalisée ; - Garantie de réinitialisation au rafraîchissement : Par défaut, la page se reverrouille automatiquement après rafraîchissement.
Voici la répartition du budget de support commercial EpoCanvas pour l'année 2026 :
- Frais de licence de privatisation d'entreprise : ¥ 280,000 / an (incluant cluster haute disponibilité et garantie SLA)
- Dépenses de trafic CDN Edge : ¥ 36,500 / mois
- Clé de consultant technique dédié :
sec_corp_epocanvas_key_2026
3. Chiffrement de niveau 3 : Reverrouillage immédiat à la sortie de la fenêtre d’affichage (Niveau 3 · Verrouillage automatique hors fenêtre d’affichage)
Niveau de sécurité ultra-élevé ! Aucune écriture dans un stockage persistant ; dès que le contenu déchiffré quitte la fenêtre d’affichage actuelle lors du défilement, ou que l’onglet du navigateur passe en arrière-plan, le système se reverrouille automatiquement instantanément. Pour le consulter à nouveau, il faut ressaisir le mot de passe :
Veuillez noter : Cette information n'est visible que dans la fenêtre d'affichage actuelle. La faire défiler vers le bas ou vers le haut pour la faire sortir de l'écran entraînera un verrouillage automatique :
# 核心节点紧急自毁 / 切换指令
curl -X POST https://cluster.shijian.us/v1/node/failover \
-H "X-Root-Token: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
4. Porte de déchiffrement de segment de lien externe (External Link Segment Decryption Gate)
Lors de la phase de construction ou de la stratification architecturale, un même article peut être physiquement divisé en un segment de texte public et un segment de texte chiffré contrôlé par lien externe. Les créateurs peuvent insérer une porte de déchiffrement externe à la fin de l’article ou à n’importe quel endroit d’un chapitre, qui, après vérification des identifiants, déchiffrera dynamiquement et montera de manière transparente la seconde moitié complète du texte :
🔐 Les chapitres approfondis du texte sont stockés de manière isolée via un lien externe
Ce long article a activé le **stockage segmenté isolé par lien externe** pendant la phase de construction : les 75% initiaux de la syntaxe de base et des descriptions de composants sont livrés publiquement ; les solutions d'implémentation d'ingénierie de niveau entreprise et les démonstrations de dérivation d'architecture ont été chiffrées et stockées. Cliquez sur le bouton ci-dessous pour entrer la clé, et le contenu restant du texte sera déchiffré et monté de manière transparente en temps réel sur cette page.
📦 Contenu déchiffré du segment externe : Spécifications d'implémentation de l'ingénierie de contenu SSG de niveau entreprise
Félicitations, vous avez déverrouillé avec succès le contenu essentiel du segment externe de cet article ! Dans l'ingénierie moderne des grandes bases de connaissances statiques, le stockage de contenu hautement sensible ou privilégié (payant) via un chiffrement de segment externe offre les avantages clés suivants :
- Minimisation de la charge initiale de l'écran : Les visiteurs non autorisés ne récupèrent que le HTML public de base, réduisant les frais de réseau de plus de 60 % ;
- Protection contre le scraping et la rétro-ingénierie : Le texte chiffré sensible et la clé sont stockés séparément, empêchant les crawlers statiques de récupérer des données valides du DOM public ;
- Accès fluide et transparent : Grâce au moteur WebCrypto côté client, les lecteurs peuvent profiter d'une expérience de lecture continue et transparente sans avoir à changer de page.
5. Flou gaussien, mosaïque et masquage de spoiler en ligne
En plus du chiffrement par bloc, le texte en ligne offre également une variété de masques légers anti-curiosité et ludiques :
- Flou gaussien de texte : Ceci est un texte spoiler clé protégé par un flou gaussien, survolez ou cliquez pour le voir clairement !
- Mosaïque de censure : Données confidentielles : SHA256-7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069
- Masque de spoiler Discord : ||Ceci est un masque de spoiler entouré de doubles barres verticales, cliquez pour révéler.||
- Verrou de contenu masqué en ligne : %%Ceci est un contenu masqué en ligne entouré de signes de pourcentage, cliquez pour développer.%%
Protection d’image par flou gaussien
X. Chronologie, barres de progression, listes de définitions et tableaux de données
1. Chronologie verticale (Vertical Timeline)
Établissement d'une nouvelle architecture Content Collections et d'un pipeline de coloration syntaxique Shiki.
Achèvement de 13 types d'Admonitions, des formules mathématiques KaTeX et du système de déchiffrement par fenêtre contextuelle de mot de passe.
Fourniture d'une chaîne d'outils de migration de contenu transparente en un clic de Hexo/WordPress vers Astro.
2. Étapes du tutoriel (Tutorial Steps)
Rédiger des articles Markdown ou MDX
Créez un fichier .md dans le répertoire src/content/posts/ et déclarez les métadonnées Front Matter.
Combiner librement des cartes multimédias riches et des composants interactifs
Choisissez selon vos besoins parmi les sélecteurs déroulants, les cartes musicales vinyles, les galeries de photos ou les blocs de chiffrement/déchiffrement.
Compilation statique en un clic et publication en quelques secondes
Exécutez npm run build pour générer des artefacts purement statiques et les pousser vers le CDN Cloudflare pour une accélération mondiale.
3. Listes de définitions et spécifications (Definition Lists & Specs)
- Îles Astro (Islands)
- Divise les pages en squelettes HTML statiques et en composants interactifs hydratés indépendamment, réduisant considérablement la taille du JavaScript.
- Compilateur KaTeX
- Effectue l'analyse AST de la syntaxe LaTeX au moment de la construction, sans délai de rendu supplémentaire côté client.
- Post Formats
- Spécification de définition de forme de contenu issue de WordPress, utilisée pour attribuer une apparence de mise en page exclusive à différents types d'articles.
XI. Micro-typographie enrichie en ligne et badges
- Surlignage multicolore (format balise HTML) :
- Surlignage jaune (annotation clé)
- Surlignage vert (recommandation réussie)
- Surlignage bleu (indice d’information)
- Surlignage rose (inspiration design)
- Surlignage violet (principe approfondi)
- Surlignage orange (alerte opérationnelle)
- Surlignage rouge (avertissement de risque)
- Surlignage cyan (protocole réseau)
- Surlignage syntaxique rapide (format
==couleur:contenu==) :- ==Texte surligné par défaut (jaune automatique)==
- ==green:Surlignage syntaxique vert (marqueur agile)==
- ==blue:Surlignage syntaxique bleu (élément d’architecture)==
- ==pink:Surlignage syntaxique rose (embellissement d’interface)==
- ==purple:Surlignage syntaxique violet (algorithme clé)==
- Badges d’état :
- Recommandé (Primary)
- Réussi (Success)
- Attention (Warning)
- Danger (Danger)
- Info (Info)
- Architecture (Purple)
- Réseau (Cyan)
- Matériel (Orange)
- Affichage des touches : Ctrl + Shift + P ouvre la palette de commandes globale.
- Annotation phonétique et prononciation multilingue (Ruby / Phonétique multilingue) :
- Pinyin chinois (Hanyu Pinyin) : 時間 · 画布 · 極客
- Symboles phonétiques chinois (Bopomofo / Zhuyin taïwanais) : 時間 · 極客 · 編程
- Kanji japonais + Furigana Hiragana (Furigana / Kundoku・Ondoku) : 時間 · 明日 · 儚い
- Mots d’emprunt et Ateji japonais en Katakana (Katakana / Mots d’emprunt & Ateji) : 画布 · 電脳 · 宇宙
- Jukujikun japonais (Jukujikun / Lecture spéciale Gikun) : 煙草 · 大人 · 今日
- Mots anglais + Transcription phonétique internationale IPA (Anglais + Transcription IPA) : EpoCanvas · Aesthetics · Chronos
- Transcription phonétique française IPA et liaisons spéciales (IPA français & Prononciation spéciale) : Rendez-vous · Déjà-vu · C’est la vie
- Umlaut et prononciation des mots composés allemands (Umlaut allemand & Mots composés) : Zeitgeist · Schadenfreude
- Grec et sa translittération latine (Grec + Romanisation) : Φιλοσοφία · Καλημέρα
- Caractères chinois coréens (Hanja) et prononciation Hangul (Hanja + Hangul) : 時間 · 極客 · 未來
- Transcription phonétique russe/cyrillique (Russe cyrillique + IPA) : Привет · Спасибо
- Sanskrit Devanagari et translittération IAST (Sanskrit Devanagari + IAST) : नमस्ते · शान्तिः
- Explication des abréviations : SSG et SPA.
- Soulignement ondulé et en pointillés : Soulignement ondulé d’accentuation et Soulignement en pointillés d’emphase.
- Boutons d’appel à l’action (CTA Buttons) :
XII. Notes de bas de page et bulles flottantes (Footnotes)
Dans les articles académiques ou techniques longs, les notes de bas de page sont une forme de citation indispensable. Survolez l’indice de note de bas de page ci-dessous pour faire apparaître directement une bulle d’explication1, sans quitter la fenêtre de lecture actuelle2.
Conclusion : Construire un système de présentation de contenu tourné vers l’avenir
Grâce à cette mise à niveau et extension complète, shijianus-blog a réalisé, dans la colonne de contenu principale (.article-body.post-content), une couverture panoramique des formats de contenu SSG grand public, des formats de publication WordPress, des listes déroulantes interactives, des accordéons pliables, des formules LaTeX, des diagrammes Mermaid et des fonctionnalités spécifiques telles que le chiffrement par mot de passe.
Qu’il s’agisse d’un article technique long et rigoureux ou d’un essai léger sur la vie et la culture, chaque créateur peut trouver la forme d’expression la plus appropriée dans ce système !
Footnotes
-
Spécification de contenu SSG : Les générateurs de sites statiques (SSG) grand public suivent tous les normes d’ingénierie de contenu modernes centrées sur Markdown/GFM, avec MDX ou des langages de template comme extensions. ↩
-
Spécification esthétique EpoCanvas : Offrant une expérience de lecture de premier ordre aux communautés chinoises et mondiales de geeks, grâce à des micro-interactions raffinées, des couleurs à contraste élevé et un usage modéré de l’espace blanc. ↩
EpoCanvas 內容格式與 Markdown 實作指南
本指南描述的是 shijianus-blog 目前真正使用的內容管線,而不是把所有靜態網站生成器都宣稱成本站原生支援。文章可作為寫作參考、功能範例與審核清單;若本文與 src/content.config.ts、astro.config.mjs 或實際建置結果不一致,程式碼與建置結果優先。
[!IMPORTANT] 本專案的內容入口是
src/content/posts/下的.md/.mdx檔案,採用 YAML front matter。AsciiDoc、Org-mode、reStructuredText、Textile 與 WordPress 原生格式可作為比較或遷移背景,但目前沒有被本專案的內容集合直接當成輸入格式。
[!NOTE] 互動元件是「正文中的 HTML 結構 + 主題增強腳本」的組合。範例能否運作,取決於 class、data 屬性、頁面掛載的
ContentFeatureEnhancer與 CSS;只複製外觀文字而不保留結構,不能保證互動正常。
1. 目前內容管線的責任邊界
1.1 輸入檔案與解析器
src/content.config.ts 以 Astro content loader 掃描 src/content/posts/ 下的 .md 與 .mdx 檔案,並為每個條目產生內容 ID。astro.config.mjs 目前啟用:
| 層 | 目前使用的實作 | 作用 |
|---|---|---|
| 內容集合 | Astro content loader + Zod schema | 檢查 front matter 欄位與型別 |
| Markdown | Astro Markdown 管線 | 產生文章 HTML 與標題結構 |
| GFM | remark-gfm | 表格、刪除線、任務清單等 GitHub Flavored Markdown 語法 |
| 數學式 | remark-math + rehype-katex | 建置期將 $...$/$$...$$ 轉成 KaTeX HTML |
| 程式碼 | Shiki | 依語言與明暗主題產生高亮程式碼 |
| MDX | @astrojs/mdx | 在 .mdx 中使用受控 JSX/元件語法 |
| 正文增強 | ContentFeatureEnhancer.astro | 表格包裹、告示框、Tabs、折疊、媒體、加密區塊等互動增強 |
1.2 靜態與動態不是同一層
文章正文通常在建置期產生 HTML;目錄、表格包裹、告示框與部分互動元件則可能在瀏覽器載入後由增強腳本初始化。這代表:
- 「HTML 已生成」不等於「每個互動元件都已完成初始化」;
- 需要瀏覽器事件、LocalStorage、API 或視口觀察的功能,不能宣稱為零 JavaScript;
- 建置成功只證明語法與產物可生成,不證明第三方嵌入、外部 API 或媒體網址一定可用。
2. Front matter:以 YAML 為本專案的標準入口
最小可用文章如下:
---
title: "文章標題"
pubDate: 2026-10-18
description: "用於 SEO 與文章卡片的簡短摘要。"
author: "shijianus"
tags: ["Astro", "Markdown"]
category: "系統設計"
---
正文從這裡開始。
2.1 目前 schema 中的主要欄位
| 欄位 | 類型/預設 | 用途與注意事項 |
|---|---|---|
title | string,必填 | 文章標題 |
pubDate | Date,必填 | 發布日期;YAML 日期會交由內容 schema 解析 |
updatedDate | Date,可選 | 最近一次內容更新日期 |
version | string,可選 | 內容版本;版本同步腳本會使用它追蹤變更 |
description / summary | string,可選 | SEO、卡片或摘要區域使用的文字 |
author | string,預設 shijianus | 顯示作者;不是帳號鑑權字段 |
tags | string[],預設 [] | 標籤列表 |
category / group / space | string,可選 | 內容分類與導航分組 |
cover / coverAlt | string,可選 | 文章封面與替代文字 |
featured | boolean,預設 false | 是否進入精選內容候選 |
sticky | number,預設 0 | 置頂排序權重;數值意義由列表實作決定 |
draft | boolean,預設 false | 草稿標記;生產內容篩選會依此處理 |
postFormat | enum,預設 standard | standard、aside、status、quote、gallery、video、audio、link、chat、image |
markup | string,可選 | 用來描述內容使用的標記方式 |
toc / hideToc | boolean,可選 | 目錄生成與顯示控制 |
math / mermaid / mindmap | boolean,可選 | 文章功能旗標;實際渲染仍需正文語法與增強器支持 |
series | string,可選 | 將文章加入系列 |
access | object,可選 | 密碼、雜湊、地區/IP 允許或封鎖設定 |
externalEncrypt / externalEncrypts | object/array,可選 | 受保護版本的雜湊與路由設定;不能把明文密碼寫入公開正文 |
i18nKey / lang | string,可選 | 關聯翻譯與語言;本篇先以正體中文維護 |
欄位名稱是資料契約的一部分。新增欄位前應先更新 schema、使用它的元件與測試,不要只在 front matter 中自行發明字段。
2.2 日期與版本同步
本專案的 scripts/sync-content-versions.mjs 會依內容雜湊同步 version 與 updatedDate。人工改寫文章後,請檢查:
- 版本是否需要提升
PATCH、MINOR或MAJOR; updatedDate是否反映真正的內容改動;- 版本清單是否只包含此次必要差異;
- 建置腳本是否因自動同步產生額外檔案修改。
3. Markdown 與 GFM 基礎寫法
3.1 標題、段落與列表
## 小節標題
用一個空行分隔段落。行內程式碼使用 `code`。
- 無序項目
- 第二個項目
1. 有序步驟
2. 下一個步驟
建議從 ## 開始撰寫正文小節,讓頁面標題 # 保持唯一;不要用連續空格或 HTML 換行堆出版面,響應式排版應交給 CSS。
3.2 引用與 GitHub Alert
普通引用:
> 先說明前提,再給出結論。
需要語義告示時使用 GitHub Alert 形式:
> [!WARNING]
> 這項操作會改變資料,請先確認備份與回滾方式。
目前正文增強器會把常見告示引用轉為主題樣式;請使用 NOTE、TIP、IMPORTANT、WARNING、CAUTION 等清楚的類型,不要只依顏色傳達危險程度。
3.3 表格與任務清單
| 欄位 | 說明 |
| :--- | :--- |
| `title` | 文章標題 |
| `pubDate` | 發布日期 |
- [x] 完成 schema 檢查
- [ ] 執行建置與瀏覽器驗證
增強器會為正文表格建立可滾動包裹,避免寬表格破壞行動裝置版面。任務清單預設是內容狀態;若需要可保存勾選狀態的教學清單,才使用主題提供的 .article-task-tracker 結構,並清楚標示其 data-storage-key。
4. 程式碼、HTML 與 MDX
4.1 程式碼區塊
type ArticleMeta = {
title: string;
pubDate: Date;
};
export function isPublished(meta: ArticleMeta, now = new Date()) {
return meta.pubDate.getTime() <= now.getTime();
}
請標示正確語言,例如 typescript、astro、bash、json 或 sql。若程式碼包含不應執行的 HTML,使用 fenced code block;不要直接把範例中的 <script> 寫成正文 HTML。
4.2 原生 HTML
Markdown 正文可以混用受控 HTML,常見於圖片、媒體與主題元件:
<div class="article-aside">
<p>這是一個語義清楚的提示區塊。</p>
</div>
HTML 不是繞過內容安全與無障礙要求的通行證。所有圖片都應有 alt,按鈕應使用 button,外部連結應標示必要的 rel,自訂元件應避免依賴固定像素才能閱讀。
4.3 MDX 的適用範圍
.mdx 可在 Astro 的 MDX 整合下使用 JSX/元件,但元件必須能在建置環境解析,且要考慮是否需要 client directive。把 React 或 Astro 元件直接貼進 .md 不會自動變成可用的 MDX;反過來,將需要瀏覽器 API 的元件改成純 Markdown 也不會保留互動。
5. 數學式、圖表與心智圖
5.1 KaTeX 數學式
行內公式使用單一美元符號:E=mc2。
區塊公式使用雙美元符號:
ReadingRate=active minutescompleted sections本專案透過 remark-math 與 rehype-katex 在建置期處理公式;文章 front matter 應設定 math: true 以表達該文章確實使用數學功能。公式中的 HTML、未跳脫底線與不完整分隔符可能使建置失敗,提交前應執行建置。
5.2 Mermaid
使用 mermaid fenced block:
flowchart LR
Source[Markdown] --> Build[Astro build]
Build --> HTML[Static HTML]
HTML --> Reader[Reader browser]
文章 front matter 使用 mermaid: true。Mermaid 是否在瀏覽器完成圖形初始化,仍取決於頁面增強器、圖表語法與瀏覽器執行環境;不要把 Mermaid 圖表寫成支付、鑑權或資料持久性的證據。
5.3 Mindmap/Markmap
本主題為 mindmap/markmap 程式碼區塊提供語言識別與互動增強入口:
```mindmap
# 內容管線
## Front matter
### YAML
## 正文
### Markdown
```
心智圖是閱讀輔助,不應取代正文中的順序說明、資料表或無障礙文字。層級過深時請補充普通標題與列表,避免只有圖形而沒有可讀文本。
6. 主題互動元件
6.1 Tabs 與下拉切換器
ContentFeatureEnhancer.astro 目前會尋找 .article-tabs、.article-tabs__button、.article-tabs__panel,以及 .article-dropdown-switcher、.article-dropdown-panel 等結構。最小 Tabs 範例:
<div class="article-tabs">
<div class="article-tabs__nav">
<button class="article-tabs__button is-active" type="button">npm</button>
<button class="article-tabs__button" type="button">pnpm</button>
</div>
<div class="article-tabs__panels">
<div class="article-tabs__panel is-active">
<code>npm install</code>
</div>
<div class="article-tabs__panel">
<code>pnpm install</code>
</div>
</div>
</div>
按鈕與面板順序必須一一對應;初始 is-active 應只放在一組上。若內容包含互動表單、長程式碼或讀屏需要,請確認切換後仍可鍵盤操作。
6.2 折疊、告示與手風琴
普通 HTML details:
<details>
<summary>查看實作細節</summary>
<p>這段內容預設收起,但仍應能以鍵盤展開。</p>
</details>
主題也會把特定告示引用轉成可折疊內容;需要互斥展開時,可使用 .article-accordion-group[data-single="true"],但要避免把重要警告全部藏在折疊內。
6.3 互動清單與本機狀態
.article-task-tracker 支援勾選、進度計算與狀態卡片。它是瀏覽器端互動,不是伺服器任務系統;清除 LocalStorage、切換瀏覽器或使用私密模式可能重置狀態。不要把其中的「已完成」當作 CI、部署或資料庫真正成功的證明。
7. 圖片、畫廊、音訊與影片
7.1 圖片與畫廊
普通圖片:

畫廊可使用主題既有的 .article-gallery、.gallery-grid 與 .gallery-item 結構。圖片燈箱由正文增強器初始化;若圖片沒有有效 src 或 alt,視覺效果即使看似正常,也不符合內容品質要求。
7.2 音訊與影片
主題支援 .article-audio-card 與 .video-embed-card 等展示結構,並會對頁面上的 audio/video 做播放互斥、行動裝置播放與基本控制屬性處理。這些處理不會消除瀏覽器下載能力,也不會替作者取得第三方音樂或影片的版權。
發布前應確認:
- 媒體來源有合法授權或明確的使用條款;
- 音訊/影片有文字標題與必要的替代說明;
- 外部 iframe 的來源、權限與隱私影響已說明;
- 不用「已禁用下載」等文字宣稱可以阻止使用者保存公開傳輸的媒體。
8. 受保護內容與安全寫作
內容 schema 支援 access、externalEncrypt 與 externalEncrypts,正文增強器也支援局部加密區塊與遮罩。這些功能的正確用途是控制展示與降低意外暴露,不是把瀏覽器變成可信任的秘密保存庫。
安全規則:
- front matter 或 HTML 中只放密碼雜湊與必要提示,不要寫入明文密碼、API token、支付密鑰或真實個資;
- 受保護內容一旦送到瀏覽器,就必須假設具備技術能力的使用者可能檢視或保存它;
- 外部加密路由要驗證 slug、雜湊、權限與回退行為,不能只依賴按鈕隱藏;
- 測試用密碼、示範 token 與真實密鑰不可寫入公開文章;
- 文章若涉及個資、支付或內部事件,應使用最小化範例並遵守隱私與資料使用說明。
行內模糊、劇透或遮罩是閱讀互動,不是加密。把 <span class="blur-text"> 或劇透元件當成機密保護,會造成錯誤的安全感。
9. 其他 SSG 格式的正確定位
Hugo、Jekyll、Eleventy、Hexo、Pelican、VitePress、Docusaurus、WordPress 等工具有各自的解析器與模板約定。本篇可用於比較遷移,但不能把它們的能力直接套到本專案:
| 格式/平台 | 本專案目前定位 | 遷移注意事項 |
|---|---|---|
| CommonMark/GFM | 主要正文格式 | 優先使用本專案建置與測試過的語法 |
| MDX | 支援 .mdx 檔案 | 元件、import 與 client 行為需在 Astro 中驗證 |
| HTML | 可在 Markdown 中混用受控結構 | 需自行負責語義、無障礙與安全 |
| AsciiDoc/Org/RST/Textile | 參考與遷移來源 | 目前沒有對應的內容集合 loader |
| WordPress Post Formats | 概念上的內容分類 | postFormat 是本專案 schema enum,不是完整 WordPress API |
| TOML/JSON front matter | 其他工具常見形式 | 本專案文章 front matter 以 YAML 為標準,勿直接照抄而不建置驗證 |
10. 建議的文章檢查流程
寫作前
- 已決定文章是普通文章、官方規範、範例或草稿。
- 已選擇必要的
postFormat、math、mermaid、mindmap與toc欄位。 - 沒有把第三方平台能力或未實作功能寫成本站承諾。
建置前
- front matter 符合
src/content.config.tsschema。 - 標題層級、表格、程式碼、圖片 alt 與連結語義完整。
- 沒有明文密碼、token、卡號、私人資料或可利用的漏洞細節。
- Mermaid、KaTeX、Tabs、折疊、媒體與受保護內容都有對應旗標或結構。
交付前
- 執行靜態建置並檢查產物路由。
- 在桌面與行動裝置檢查表格、程式碼、圖片、互動元件與暗色模式。
- 檢查瀏覽器控制台與網路請求;外部服務失敗時,正文仍有可理解的降級呈現。
- 內容版本、更新日期、授權與來源說明已更新。
結語
好的內容格式不是把功能清單堆在文章裡,而是讓讀者能理解、重現、檢查並安全地使用內容。EpoCanvas 目前以 Astro + Markdown/GFM/MDX 為核心,透過建置期處理與局部正文增強提供數學式、圖表、媒體、折疊與互動元件;未被程式碼、schema 或測試證明的能力,就應明確標為比較、實驗或待補齊,而不是宣稱已經原生支援。
最後更新:2026-10-19。
