Real-Fruit-Snacks/Notes
GitHub: Real-Fruit-Snacks/Notes
一个基于 MkDocs Material 的网络安全笔记站点启动模板,支持 Obsidian 编写并自动部署到 GitHub Pages,帮助安全从业者快速搭建美观的知识库。
Stars: 0 | Forks: 0
# MyNotes — MkDocs Material 启动模板
一个可随时发布的网络安全笔记站点。采用 Catppuccin Mocha 主题,Obsidian 风格,支持 GitHub Pages 自动部署。
## 日常工作流
1. 在 Obsidian 中编写笔记(保存在 `docs/` 目录下)。
2. `git add . && git commit -m "..." && git push`
3. 大约 1 分钟后,你的站点将在 `https://.github.io//` 上线。
就是这样。无需构建命令。
## 一次性设置
### 1. 安装 Python(如果你还没有安装)
```
python --version # should be 3.10+
```
### 2. 在本地安装依赖(可选,用于预览)
```
pip install -r requirements.txt
mkdocs serve
```
打开 `http://127.0.0.1:8000` 在编写时进行预览。
### 3. 推送到 GitHub
```
git init -b main
git remote add origin https://github.com//mynotes.git
git add .
git commit -m "initial site"
git push -u origin main
```
### 4. 启用 Pages
GitHub → 你的仓库 → **Settings → Pages** → 在 **Source** 下,选择 **GitHub Actions**。
位于 `.github/workflows/deploy.yml` 的工作流会在每次推送到 `main` 分支时运行,构建站点并发布。在第一次成功运行后,你的站点将在 `https://.github.io//` 上线。
## 你的笔记存放位置
```
mynotes/
├── docs/ ← your Obsidian vault content lives here
│ ├── index.md ← homepage
│ ├── assets/
│ │ ├── extra.css ← Catppuccin Mocha theme overrides (don't delete)
│ │ ├── extra.js
│ │ └── favicon.svg
│ ├── networking/
│ │ ├── index.md
│ │ └── nmap-cheatsheet.md
│ └── web/
│ └── ...
├── mkdocs.yml ← site config
├── requirements.txt ← pinned plugin versions
└── .github/workflows/
└── deploy.yml ← auto-deploy to GitHub Pages
```
### 从 Obsidian 同步的两种方式
**选项 A — 仓库即是 Vault(最简单)。**
将这整个文件夹作为你的 Obsidian vault 打开。笔记存放在 `docs/` 中。在 Obsidian 中保存 → 提交 → 推送。
**选项 B — 单独的 Vault。**
将你的 Obsidian vault 保留在它原本的位置。添加一个脚本(或仅使用 `cp -r`)在每次推送前将 `*.md` 文件复制到 `docs/` 中。可以通过 git pre-commit hook 自动完成此操作。
## 开箱即用的功能
- **`[[wiki-links]]`** — 通过 `roamlinks` 插件渲染为真实链接
- **Frontmatter** (`---\ntags: [...]\n---`) — 标签变得可过滤
- **Callouts** — Obsidian 的 `> [!info]` 和 MkDocs 的 `!!! info` 均受支持
- **代码块** 带有复制按钮 + 语法高亮
- **全文搜索**(内置于 Material 中)
- **最后更新日期** 提取自 git 历史
- **自动侧边栏** 根据你的文件夹结构生成
## 自定义配置
- **站点名称** — 编辑 `mkdocs.yml` 中的 `site_name`
- **颜色** — 编辑 `docs/assets/extra.css`(顶部的 CSS 变量)
- **字体** — 在 `mkdocs.yml` 中更改 `theme.font`
- **侧边栏顺序** — 在任意文件夹中添加 `.pages` 文件(awesome-pages 插件)
## 故障排除
**工作流失败并提示 "site_url not set"** — 在 `mkdocs.yml` 中进行设置,或者从 `.github/workflows/deploy.yml` 中移除 `--strict`。
**工作流运行成功但站点显示 404** — 仓库的 **Settings → Pages** 必须将 **Source** 设置为 **GitHub Actions**(而不是 "Deploy from a branch")。
**Wiki-links 无法解析** — 确保目标文件存在于同一个 `docs/` 目录树中。文件名匹配区分大小写。
**站点显示在错误的 URL 上** — GitHub Pages 的 URL 模式为 `.github.io/`。如果你的仓库位于 `github.com/me/mynotes`,你的站点将在 `me.github.io/mynotes/`。对于用户/组织站点(仓库命名为 `.github.io`),URL 就是 `.github.io/`。
## 匹配内容
此包的生成旨在匹配原原型中的 "Terminal" 风格 —— 相同的 Catppuccin Mocha 色板、JetBrains Mono 代码字体、绿色的提示符强调色以及 ASCII 风格的界面。外观会非常接近但可能不是像素级完美;你可以继续调整 `extra.css`。
标签:Catppuccin Mocha, Cheatsheet, GitHub Actions, GitHub Pages, Markdown, Material for MkDocs, MkDocs, Obsidian, Ruby, Syscall, Web开发, 个人博客, 前端, 技术笔记, 文档站点, 特权提升, 知识库, 笔记, 网络安全, 自动化部署, 自动笔记, 运维, 逆向工具, 防御加固, 隐私保护, 静态站点生成