diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..3b9e0d8 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,59 @@ +name: Build MkDocs Documentation + +on: + push: + branches: [ main, master ] + paths: + - 'docs/**' + - 'mkdocs.yml' + - 'resources/**' + - '.github/workflows/**' + - 'requirements.txt' + + pull_request: + branches: [ main, master ] + paths: + - 'docs/**' + - 'mkdocs.yml' + - 'resources/**' + - '.github/workflows/**' + - 'requirements.txt' + + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.x' + + - name: Cache pip dependencies + uses: actions/cache@v3 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Build documentation + run: | + mkdocs build --verbose + + - name: Upload build artifacts + uses: actions/upload-artifact@v3 + with: + name: mkdocs-site + path: site/ + retention-days: 30 diff --git a/.gitignore b/.gitignore index e43b0f9..f44f740 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ .DS_Store + +# MkDocs build output +site/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..5781dee --- /dev/null +++ b/README.md @@ -0,0 +1,137 @@ +# Ronin's Notes + +个人学习笔记网站,使用 MkDocs Material 主题构建。 + +## 网站信息 + +- **站点名称**: Ronin's Notes +- **站点URL**: https://execution.icu +- **主题**: Material for MkDocs +- **作者**: ronin + +## 功能特性 + +- 📝 Markdown 文档编写 +- 🎨 Material Design 主题 +- 🔍 全文搜索支持 +- 📱 响应式设计 +- 🌙 深色/浅色主题切换 +- 📊 数学公式支持 (KaTeX) +- 🎯 代码高亮 +- 📁 自动构建和部署 + +## 技术栈 + +- **MkDocs**: 静态网站生成器 +- **Material for MkDocs**: 主题 +- **GitHub Actions**: CI/CD 自动化 +- **GitHub Pages**: 网站托管 (可选) + +## 本地开发 + +### 环境要求 + +- Python 3.x +- pip + +### 安装依赖 + +```bash +pip install -r requirements.txt +``` + +### 本地预览 + +```bash +# 启动开发服务器 +mkdocs serve + +# 构建静态网站 +mkdocs build +``` + +## CI/CD 流程 + +本项目配置了 GitHub Actions 自动化流程: + +### 触发条件 + +- 推送到 `main` 或 `master` 分支 +- PR 到 `main` 或 `master` 分支 +- 手动触发 +- 文件变更检测: + - `docs/**` - 文档内容 + - `mkdocs.yml` - 配置文件 + - `resources/**` - 资源文件 + - `requirements.txt` - 依赖文件 + - `.github/workflows/**` - 工作流文件 + +### 构建流程 + +1. **环境准备** + - 检出代码 + - 设置 Python 环境 + - 缓存 pip 依赖 + +2. **依赖安装** + - 安装 `mkdocs-material` + - 安装额外插件和扩展 + +3. **文档构建** + - 执行 `mkdocs build` + - 生成静态网站文件 + +4. **构建产物** + - 上传 `site/` 目录作为构建产物 + - 保留 30 天 + +5. **自动部署** (可选) + - 仅在主分支推送时触发 + - 自动部署到 GitHub Pages + +### 工作流文件 + +- `.github/workflows/build.yml` - 主要的 CI/CD 工作流 + +## 项目结构 + +``` +. +├── docs/ # 文档源文件 +│ ├── index.md # 首页 +│ ├── arts/ # 艺术相关 +│ ├── tools/ # 工具相关 +│ ├── cs/ # 计算机科学 +│ ├── handbook/ # 手册 +│ └── cyber/ # 网络安全 +├── resources/ # 静态资源 +├── .github/ +│ └── workflows/ # GitHub Actions 工作流 +├── mkdocs.yml # MkDocs 配置文件 +├── requirements.txt # Python 依赖 +└── site/ # 构建输出 (Git 忽略) +``` + +## 配置说明 + +主要配置文件 `mkdocs.yml` 包含: + +- 网站基本信息 +- 导航结构 +- 主题配置 +- 插件设置 +- Markdown 扩展 + +## 贡献指南 + +1. Fork 本仓库 +2. 创建功能分支 +3. 在 `docs/` 目录下添加或修改 Markdown 文件 +4. 提交更改并推送 +5. 创建 Pull Request + +CI/CD 流程会自动构建和验证您的更改。 + +## 许可证 + +本项目采用相应的许可证,详见 `LICENSE` 文件。 \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index dc8fc7d..08d9b7c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,7 +10,9 @@ hide: 造就我今天的编程能力和洞察力的,不是几百万行的大型项目,而是小到几行,几十行之短的练习。不要小看了这些短小的代码,它们就是编程最精髓的东西。反反复复琢磨这些短小的代码,不断改进和提炼里面的结构,磨砺自己的思维。逐渐的,你的认识水平就超越了这些几百万行,让人头痛的项目。 > -## Core +--- + +## 📚 Core - Input → Process → Output - ***Input:*** diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..cb1b3f5 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +mkdocs-material +mdx_truly_sane_lists +mkdocs-minify-plugin \ No newline at end of file diff --git a/site/404.html b/site/404.html deleted file mode 100644 index 773c58a..0000000 --- a/site/404.html +++ /dev/null @@ -1 +0,0 @@ -
| Herb | Grams | Herb | Grams | Herb | Grams |
|---|---|---|---|---|---|
| 太子参 | 15 | 柴胡 | 15 | 当归 | 10 |
| 白术 | 15 | 白芍 | 10 | 黄芩 | 10 |
| 陈皮 | 10 | 元胡 | 10 | 黄柏 | 10 |
| 茯苓 | 10 | 半夏 | 10 | 厚朴 | 10 |
| 山楂 | 10 | 炙甘草 | 6 | 香附 | 10 |
中药冷水 850 ML 先泡半小时然后大火煮沸转小火 30 分钟,捞出药渣第一批药液放容器,药渣加一样的水重复煎煮,最终弃除药渣,将液体与第一批药液混合后分两份储存一天内喝完。
黑神话悟空最低画质在 macOS 上最低画质游玩了三天半后完成了所有剧情,详情配置方法在 Wine Guide 一文中,平常时间用 CrossOver 做任何事实际上都感觉很憋屈,因此在结束游戏后卸载了所有虚拟机配置,重回现实踏上属于自己的取经之路。游戏涉及的文化和图鉴故事最为吸引人,在此记录一些西游记文化元素的摘抄以及解读资源。
gcores.com 有很多作者对游戏剧情和文化有着深刻解析,其中看到狼小明呀用《李卓吾批评西游记》作为引子解析每章游戏剧情很是有趣,日后有机会看一下批评记:
孙悟空认为好男不跟女斗,一棒子打死她们有点欺负人,就玩心又起,变了只鹰,将七女衣服悉数叼走。(打死就没后面这么多事了,可见孙悟空也是个惹事的主。)悟空返回与八戒、沙僧汇合,八戒听说女妖精在洗澡,口称要去打杀妖精,“抖擞精神,欢天喜地举着钉钯,拽开步,径直跑到那里。”先是出言调戏,又化作鲶鱼精,往女妖精腿间乱钻。(古早黄段子手李卓吾大呼:变得妙啊,可惜没变个泥鳅鳝鱼什么的。) “黄鳝门”疑似有些落后了。(李卓吾说,八戒从来亲近女色没有像这次这样享受的,这次是有点太得意忘形了。)不怪后面蜘蛛精们向百目魔君状告八戒“奸骗”她们。
七妖精没衣服穿,赤条条回洞,从唐僧面前笑嘻嘻跑过去。(李卓吾笑批:这肯定是唐僧生平未见。虽腹中空空但是大饱眼福,化斋这一趟真是不虚此行啊!)要我说,老李这就过分了,他怕是以小人之心度君子之腹。况唐僧又不是八戒,岂能临死而仍图色乎?七妖精唤来七个干儿子,分别是蜜蜂,蚂蜂,蠦蜂,班毛,牛蜢,抹蜡,蜻蜓,请他们帮忙抵挡追兵,自己则逃去师兄百眼魔君家。七个妖怪的干儿子,这一题材或也可在游戏里大书特书。但“游科”只把他们做成了第四章里的一帮杂兵小怪。
对每个人物 Biligame 都做了图鉴收录,游戏中的故事描述能够直接在这上面阅读,甚至还有游戏原本的台词摘抄,考据,技能招式等。
第一章的金池长老和第三章的黄眉大王是全剧情中最喜欢的部分,那种自恋和偏执符合黑神话的黑暗设定的同时也带给了自己对于黑暗三角人格的再思索,剧中黄眉大王的台词:
我在很多奇怪的梦里,见过你们,你们因缘际会走到一起,怀着各不相同的目的。
你,欲成前人未竟之业,修功德圆满。
你,执着后世传颂之名,求位列仙班。
你,想跳出三界之外,图个清净自在。
还有你,无所挂碍,吃顿饱饭便善哉善哉。
可我,早就看穿了你们,满嘴的情怀大义,一心的世俗名利,唱什么命不由天,却笃信自己,才是天命之选。
可悲的取经人呐,只要心中还有放不下的偶像,终有一天,它将化为修行路上无解的业障。
黄眉大王的话真假参半,和现实生活中的自恋者一样将人的本我深刻解析,觉得众人皆醉我独醒,喜欢带着人性本恶的果去证明因。和章节结束后的动画一样,一旦有一个人漏出恶念,他就推翻所有曾经拥有过的美好过程,大笑金蝉子说自己又赢了,金蝉子只是笑:师兄如此执着输赢,可笑,可悲
还记得盂兰会上
世尊说过:众生之苦,多因不守戒律,放情纵欲。
要我说,放屁!
不杀生,仇恨永无止息;
不偷盗,强弱如我何异;
不邪淫,一切有情皆孽;
不妄语,梦幻泡影空虚;
不馋酒,忧怖涨落无常;
不耽乐,芳华刹那而已;
不贪眠,苦苦不得解脱;
不纵欲,诸行了无生趣
黄眉大王还未开庭就已经给世人定罪:
世人皆有罪,然后在此基础上像审讯犯人一样审判众生。
信什么狗屁如来,不如我自己来!
在游戏中他建立了小雷音寺大雄宝殿,和主人弥勒佛的大雷音寺相呼应,扮成弥勒的模样骗取大量的朝圣者和神佛进寺,然后用弥勒的后天袋装进去炼化成自己的魔化干将为他自己而战。
我...早就看穿了你的下场,只要你还在为他人而战,就迟早会死在他人手上,我黄眉只为自己!我没输,我不会输...只要,只要再用一次那猴子的宝贝...
即使战败他也认为我命由我不由天,还想再身份盗窃一次其他佛的法宝然后继续作战。真的弥勒佛出现后解释道:
他原本是东来佛祖弥勒佛面前司磬的一个黄眉童子,趁弥勒佛不在宫里偷了几件宝贝,在小西天假佛成精。
而游戏中已是第二次盗取他的后天袋,在借大圣之力把袋子炼成了销魂夺魄的邪宝,然后化作弥勒佛的模样借机报复当年收复他的仇人
该人物和低功能 NPD 一样善于 PUA 和言语操纵,利用滑坡谬误和破窗效应假装强大实际弱小的自己,厌恶世人的本我但自己身上的本我却体现的玲离尽致
为了几件衣服将黄眉提出的对外物的执念发挥到了极致。
根据动画黑风山金池长老在成长过程中认识了黑熊精,黑熊精并没有杀害他。
在原著中黑熊精主动学习佛法最后感动了菩萨做了守山大神,有人猜想是他传授了金池长老长生不老之术,于是就有了这句台词:
我今年二百七十岁,空挣了几百件袈裟,怎么得有他这一件?
其他黑风山全剧情可参考 B 站博主川同学不穿童鞋解析