框架概述
ICT 学习客栈是一个基于 Astro 7.0 构建的静态技术文档网站,专注于信息与通信技术(ICT)领域的学习知识库。项目以 Markdown/MDX 为内容载体,通过 Astro SSG 生成纯静态 HTML。
技术栈
| 技术 | 版本要求 | 用途 |
|---|---|---|
| Astro | >= 7.0 | 静态站点生成,SSG 核心 |
| MDX | >= 7.0 | 在 Markdown 中嵌入 Astro 组件 |
| Shiki | 内置 | 代码块语法高亮 |
| Tailwind CSS | >= 3.0 | 原子化 CSS 框架 |
相关依赖详见 package.json:
CODEjson
{"dependencies": { "@astrojs/mdx": "^7.0.2", "@astrojs/rss": "^4.0.19", "astro": "^7.0.6", "rehype-raw": "^7.0.0", "remark-gfm": "^4.0.1", "remark-directive": "^4.0.0"}}主要功能
栏目分类
支持多层级栏目结构,通过 sections.json 配置即可扩展:
CODEtext
云 计 算 — FusionCompute / Ansible / Kubernetes / OpenStack / 容器技术网络技术 — 搭建实验平台 / 网络基础实验操作系统 — openEuler / openEuler实验 / Windows技术文章 — Git / Markdown / Windows 工具使用手册 — EVE-NG / EID / 项目手册内容管理
使用 MDX 格式编写文章,支持 Front Matter 元数据和内置组件混排。项目定义了一套统一的 baseSchema,所有内容集合共享相同的元数据规范。
MDX 组件
文章中可以嵌入以下内置组件:
| 组件 | 文件 | 说明 |
|---|---|---|
| CodeBlock | CodeBlock.astro | 5 种差异化代码块 |
| Callout | Callout.astro | 提示、警告等标注框 |
| StepCard | StepCard.astro | 步骤卡片 |
| AuthorCard | AuthorCard.astro | 作者信息卡片 |
| DownloadCard | DownloadCard.astro | 下载卡片 |
| BilibiliPlayer | BilibiliPlayer.astro | B 站视频嵌入 |
| FAQ | FAQ.astro | 折叠式常见问题 |
| References | References.astro | 参考资料列表 |
| Copyright | Copyright.astro | 版权声明 |
内置搜索
构建时自动扫描 src/content/ 目录生成 public/search-index.json,前端通过该索引实现纯静态全文搜索。
深色模式
支持亮色/深色双主题,通过 CSS 变量体系切换,主题选择持久化到 localStorage。
使用说明
本项目为内部学习知识库,仅供个人部署使用,源码不公开、不接受外部投稿。文档中涉及的开源组件详见 致谢与鸣谢 页面。