# static-blog **Repository Path**: zlmggg/static-blog ## Basic Information - **Project Name**: static-blog - **Description**: 禾光知寒(SRE Notes)是一个基于 VitePress 构建的个人 SRE 运维知识库,Markdown 驱动、构建为纯静态站点,通过 Docker + Nginx 部署。 内容覆盖 Linux 运维、服务部署、监控告警、日常排障、容器与云原生(Docker / Kubernetes)、自动化与 IaC、DevOps 与平台工程等方向,主要包含: - 操作指南:原理讲解 + 可直接复制的 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-09-30 - **Last Updated**: 2026-10-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# 禾光知寒 · SRE Notes **一个基于 VitePress 的个人 SRE 运维知识库 —— 操作指南 · 命令速查 · 排障训练 · 面试整理** [在线站点](https://www.sresec.com) · [快速开始](#-快速开始) · [代码结构](#-代码结构与功能说明) · [自定义站点](#-自定义改成你自己的站) · [部署上线](#-部署上线) ![License](https://img.shields.io/badge/license-MIT-blue.svg) ![VitePress](https://img.shields.io/badge/VitePress-1.6-64a36b.svg) ![Node](https://img.shields.io/badge/node-%3E%3D18-339933.svg)
--- ## 简介 禾光知寒(SRE Notes)是一个用 [VitePress](https://vitepress.dev/zh/) 构建的个人运维知识库,Markdown 驱动、构建为纯静态站点,通过 Docker + Nginx 部署。 内容覆盖 Linux 运维、服务部署、监控告警、日常排障、容器与云原生(Docker / Kubernetes)、自动化与 IaC、DevOps 与平台工程等方向。 > 建这个库的初衷,是让自己遇到问题时能快速搜到、快速回忆处理方法;也希望这些能直接抄走的方案,帮到同样在路上的运维同学。 ## ✨ 特性 - **开箱即用的知识库结构**:操作指南 / 命令速查 / 排障训练场 / 面试专区四大板块,导航与目录已规划好; - **命令速查**:Linux / 网络 / Docker / kubectl / Git / 云原生,按命令拆成独立页面,翻到即用; - **排障训练场**:50 个典型故障场景,按「现象 → 定位 → 根因 → 解决」编排,练可复用的排查套路; - **文章元信息条**:分类、难度(初级 / 中级 / 高级)、日期,以及自动估算的阅读时长; - **Mermaid 图表**:浏览器端渲染架构图 / 流程图 / 时序图,自动跟随深浅色主题; - **本地全文搜索**:`Ctrl + K` 纯前端搜索,无需服务端; - **深色护眼主题**:玻璃态导航、终端风格首页、深浅色一键切换; - **纯静态 + Docker 部署**:一份 Dockerfile,一条命令上线。 ## 🧱 目录结构 ```text . ├─ docs/ # 站点内容(VitePress 的 srcDir) │ ├─ .vitepress/ │ │ ├─ config.mts # ⭐ 站点配置:导航 / 侧边栏 / Markdown 增强 │ │ └─ theme/ # 自定义主题(组件与样式,功能见下节) │ │ ├─ index.ts # 主题入口:注册组件、挂载 Layout │ │ ├─ custom.css # ⭐ 全局样式 / 配色 / 玻璃态变量 │ │ ├─ Layout.vue # ⭐ 全局布局中枢 │ │ ├─ Mermaid.vue # Mermaid 图表渲染组件 │ │ └─ components/ │ │ ├─ Home.vue # ⭐ 首页(首屏 + 项目 + 分类) │ │ ├─ MetaBar.vue # 文章元信息条 │ │ └─ ThemeToggle.vue # 主题切换按钮 │ ├─ index.md # 首页入口(挂载 ) │ ├─ about.md # 关于页 │ ├─ roadmap.md # 学习路线 │ ├─ guide/ # 操作指南(聚合页 + 系列文章) │ ├─ reference/ # 命令速查(速查页 + cmd-* 详解) │ ├─ cases/ # 排障训练场(t-* 案例 + 排障记录) │ ├─ projects/ # 我的项目(项目总览 + 项目文章) │ ├─ interview/ # 面试专区 │ └─ public/ # 静态资源(logo / fonts 字体 / 插图) ├─ scripts/ │ └─ gen-feed.mjs # 构建后生成 RSS 订阅源 ├─ deploy/ # 部署示例(Dockerfile / compose / nginx) ├─ .github/workflows/build.yml # CI:push / PR 自动构建 ├─ FILES.md # 英文文件名 ↔ 中文标题对照表 └─ package.json ``` ## 🧩 代码结构与功能说明 这一节讲清楚每个组件、脚本、配置文件分别负责什么,方便你快速定位「想改某个效果,该动哪个文件」。 ### 1. 主题入口 `theme/index.ts` - 继承 VitePress 默认主题,挂载自定义 `Layout`; - 全局注册两个组件:`Mermaid`(图表)、`Home`(首页); - 引入全局样式 `custom.css`。 ### 2. 全局布局中枢 `theme/Layout.vue` 全站级逻辑都在这里,分四块: | 功能区 | 作用 | |---|---| | 主题切换 `provide('toggle-appearance')` | 从点击位置**圆形涟漪扩散**切换深浅色(View Transitions API);浏览器不支持时直接切换 | | 右侧大纲自动滚动 | 监听大纲激活项变化,把当前标题自动滚进可视区;切换路由时重置 | | 复制按钮增强 | 给代码块复制按钮注入「复制 / ✓ 已复制」文字;用 MutationObserver 应对 SPA 路由切换后出现的新按钮 | | 插槽挂载 | `#layout-top` 全局背景、`#doc-before` 元信息条、`#nav-bar-content-after` 主题按钮、`#layout-bottom` 页脚 | 页脚内容(构建说明 / 版权 / 备案号)在这个文件的 `#layout-bottom` 插槽里。 ### 3. 首页组件 `theme/components/Home.vue`(改动最频繁的文件) **`