慣性聚合 高效追蹤和閱讀你感興趣的部落格、新聞、科技資訊
閱讀原文 在慣性聚合中打開

推薦訂閱源

WordPress大学
WordPress大学
M
MIT News - Artificial intelligence
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
T
The Blog of Author Tim Ferriss
Engineering at Meta
Engineering at Meta
Jina AI
Jina AI
Last Week in AI
Last Week in AI
I
InfoQ
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
MongoDB | Blog
MongoDB | Blog
The Cloudflare Blog
月光博客
月光博客
爱范儿
爱范儿
D
Docker
罗磊的独立博客
博客园 - 叶小钗
博客园 - 司徒正美

掘金

Win 安装Claude Code FastAPI 的 CORSMiddleware 跨域中间件 Java 自研 ReAct Agent 半年后,我用 LangGraph 验证了这些设计取舍 🚀AI编程工作流终极形态:GitNexus!零Token消耗实现代码知识图谱化!让Claude Code和Codex拥有上帝视角彻底告别盲目改代码,复杂项目重 LeetCode 72. 编辑距离:动态规划经典题解 被The Graph的GraphQL查询坑了三天,我用一个真实DeFi项目把链上数据索引彻底搞懂了 (AI) 编写简单 AI 助手 (ds-agent) 别再让 pnpm 跟着 nvm 跑了!独立安装终极指南 Claude Code 为什么这么顺?Anthropic 最新复盘:真正撑住它的不是模型,而是缓存 从 /simplify 指令深挖 Claude Code 多 Agent 协同机制 Function-Calling与工具使用 新手上路(六):Claude code装上ECC全家桶:38 个子代理、156 个技能、生产级 Hooks 与 Rules 体系 我在 Claude、Kimi、opencode 三个 AI 之间搭了一条自动协作管道 【技能篇】OpenClaw Skill 详解:给 AI 装上"专业外挂" wagmi v2 多链钱包切换:一个 Uniswap 仿盘项目让我踩了三天坑 两周浅学 RAG 我把 Python re 模块比喻成摸金手套 新手上路(三):Claude Code Skills 装了一堆没用?20+ 个 Skill 横向对比 + 三套组合方案,按需抄 K2.6、DeepSeek V4、GPT-5.5 都来了,组合拳打起来 Claude Code 进阶之路:从记忆系统到子代理编排 [java] 编译之后的记录类(Record Classes)长什么样子(上) 国产大模型能力大比拼,社区有话说 我研读了 500 个 Spring Boot 生产级代码库,90% 都犯了这 7 个致命错误 JAVA重点难点 转发-中央网信办部署开展“清朗·整治AI应用乱象”专项行动 合同同步逻辑 【合并已排序数组的三种实现策略,哪一种更可取?】 30天减20斤挑战:少一斤发100红包(2) 我竟然被JavaScript的隐式类型转换坑了三天! 二十五.Electron 初体验与进阶 本地到生产,解决 AI 全栈最后一公里——构建&部署&运维 程序员创业半年:顺的事、不顺的事,和我一直没想清楚的事 UI组件库elementplus 像使用 Redis 一样操作 LocalStorage 向量检索的流程是怎样的?Embedding 和 Rerank 各自的作用? LangChain DeepAgents 速通指南(七)—— DeepAgents使用Agent Skill 为什么越来越多的大厂抛弃MCP,转向CLI? 【节点】[SquareRoot节点]原理解析与实际应用 juejin.cn juejin.cn 从 “存得下” 到 “算得快”:工业物联网需要新一代时序数据平台越来越多工业用户开始意识到一个问题:**数据是存下来了, - 掘金 放弃 Claude 订阅?我用 8 年前的服务器,强跑 Google 最强开源模型 Gemma 4 真实测评! Python开发者狂喜!200+课时FastAPI全栈实战合集,10大模块持续更新中🔥 从 Claw-Code 看 AI 驱动的大型项目开发:2 人 + 10 个自治 Agent 如何产出 48K 行 Rust 代码 秒级创建实例,火山引擎 Milvus Serverless 让 AI Agent 开发更快更省火山引擎MilvusSer MediaPlayer 播放器架构:NuPlayer 的 Source/Decoder/Renderer 三驾马车 juejin.cn juejin.cn juejin.cn juejin.cn
從想法到上線:我用AI在一天內“摸”出了一個面試文檔系統
修己xj · 2026-05-27 · via 掘金

從想法到上線:我用AI在一天內“摸”出了一個面試文檔系統

隨著 AI 編程工具的日益成熟,對於我們個人而言,只要擁有一個想法,將其變為項目和產品的難度已經大大降低。無論是否有編程經驗,我們每個人都可以扮演產品經理、全棧開發等角色。最近,我正好有一個想法,想和大家分享下我從想法到項目的完整經歷。

項目背景

最近公司毫無徵兆地裁掉了一部分同事,所以我打算重啟刷面試題的計劃。一方面是為了鞏固基礎知識,另一方面也希望能以面試題為切入點,瞭解和學習一些 AI 相關的知識。

基於這個目的,我發現單純看面經很容易忘記,也達不到預期的效果。如果通過編碼或寫文檔的方式走一遍,效果可能會更好。然而,常規的 Markdown 編輯器或在線文檔功能有限,有的數據保存在本地無法同步,有的功能不全,有的無法分享,還有的不能與他人交流。

因此,一個可以免費部署到公網、支持多設備共享、便於與他人交流、並且可以個性化定製的項目變得十分必要。這正是我今天要介紹的這個項目的由來。

項目信息及效果

首頁、文檔結構樹、頂部欄

閱讀數、分類、標籤、介紹

評論

提示

sequence

chart圖表

項目開發工具

  • 開發 AI 工具:CodeBuddy CN

開發流程

  • 第一步:創建文件夾

創建一個項目目錄,並使用 CodeBuddy CN 打開。

  • 第二步:確認方案

打開 CodeBuddy CN 對話框,我使用的是 Craft 模式,模型選擇 Deepseek-V4-Flash,並輸入以下內容:

基於以下文檔先設計方案及技術選型,設計完成後找我確認,確認完成後在進行開發

## 項目背景

將面試相關的文檔分類整理後放在一個目錄中:

docs/
├── java/
│   ├── java基礎/ 
│   │   ├── collection.md
│   ├── cli/       
│   └── web/       
├── ai/
│   ├── skills/      
│   ├── db/        
│   └── shared/    
├── README.md
├── CONTRIBUTING.md

現在我想做一個 Node 項目,需實現以下功能:

1. 按文件目錄生成左側文檔結構樹;
2. 每添加一篇 md 文件,通過 GitHub Pages 部署後可在頁面查看;
3. 每篇文章頭部都添加 YAML Front Matter,並據此在每篇文章頭部渲染出一塊區域,展示如 title、tags、category、slug 等配置信息;
4. Markdown 中包含 ```mathjax!、```sequence、```mermaid! 等語法的代碼塊,也需要支持渲染;
5. 基於 GitHub 實現評論功能(如果可以,希望增加閱讀數統計)。
  • 第三步:生成代碼,根據具體情況進行多輪對話調整

在對話框中選擇技術選型及設計方案,確認後會進行代碼生成。生成之後,根據實際效果進行多輪對話修正。

  • 第四步:推送到 GitHub,進行環境變量等一系列配置

  • 第五步:調試 GitHub Pages 構建,並查看頁面

  • 第六步:讓工具總結,生成 README

至此,整個項目完成了從想法到開發再到部署的全流程。

項目耗時

這個想法萌生於早上通勤的路上。到公司後,我便利用工作間隙開始了嘗試。整個開發過程完全交給 AI,我只需要清晰地描述需求,並在它生成代碼後進行驗證和對話調整。

到下午下班時,項目已基本成型。晚上回家後,我又集中花了約 3 個小時進行細節調優、多輪對話修正以及 GitHub Pages 的部署配置。

總計耗時:白天零散的“摸魚時間” + 晚上集中的 3 小時。從想法到可公網訪問的完整項目上線,實際投入的淨時間不到一天。

項目說明

以下將對項目的系統架構、核心功能、使用方法及部署方式做詳細說明。

面試知識庫 📖

面試文檔知識庫系統,支持自動掃描 Markdown 文檔、渲染圖表/公式/流程圖,通過 GitHub Pages 一鍵部署。


一、系統架構
graph TD
    subgraph 源碼
        A[docs/ *.md] --> B[scripts/build-manifest.js]
        B --> C[public/docs-manifest.json]
    end
    subgraph 前端 SPA
        D[index.html] --> E[src/main.jsx]
        E --> F[App.jsx]
        F --> G[Sidebar]
        F --> H[ArticleView]
        H --> I[MarkdownRenderer]
        I --> J[ChartBlock / MermaidBlock / CodeBlock]
        H --> K[Comments / PageViews]
    end
    C --> G
    A --> H

技術棧:

技術用途
構建Vite 5開發服務器 + 生產構建
UI 框架React 18SPA 頁面組件
路由react-router-dom 6HashRouter 頁面切換
Markdownreact-markdown 9核心渲染引擎
數學公式KaTeX + remark-math + rehype-katexLaTeX 公式渲染
圖表Recharts餅圖、柱狀圖、折線圖等
流程圖Mermaid流程圖、時序圖、狀態圖
文檔掃描gray-matter (Node)構建時提取 YAML Front Matter
部署GitHub Actions自動構建並部署到 Pages

二、全部功能及用法
2.1 左側文檔樹

構建時自動掃描 docs/ 目錄生成文檔樹,按目錄層級展示。支持展開/摺疊和搜索。

效果: 頁面加載後左側顯示文件樹

📂 java
  📂 java基礎
    📚 collection
  📂 cli
  📂 web
📂 ai
  📂 skills
    🤖 機器學習基礎
📄 README
📄 CONTRIBUTING

用法: 只要在 docs/ 下放 .md 文件,構建時自動收錄


2.2 YAML Front Matter 卡片

每篇 .md 文件頭部用 --- 包裹的元信息,渲染為藍色主題卡片。

效果:

╔═══════════════════════════════════════════╗
║  📚 Java集合框架詳解                       ║
║  分類: Java/Java基礎  📅 2024-01-15       ║
║  [Java] [集合] [面試]                      ║
║  全面梳理 Java 集合框架核心知識點...        ║
╚═══════════════════════════════════════════╝

寫法:

---
title: Java集合框架詳解
tags: [Java, 集合, 面試]
category: Java/Java基礎
slug: java/java基礎/collection
emoji: 📚
description: 完整的中文描述
created: 2024-01-15
updated: 2024-03-20
---

2.3 數學公式(KaTeX)

支持行內公式和塊級公式。

效果:

行內:E=mc2E = mc^2

塊級:

ex2dx=π\int_{-\infty}^{\infty} e^{-x^2} \, dx = \sqrt{\pi}

寫法:

行內公式:$E = mc^2$

塊級公式:
$$
\int_{-\infty}^{\infty} e^{-x^2} \, dx = \sqrt{\pi}
$$

也支持 mathjax 代碼塊:

```mathjax
f(x) = \sum_{i=1}^{n} i^2
```

2.4 圖表(Recharts)

支持 piebarlinearearadar 五種圖表。

效果: 彩色可交互圖表,鼠標懸停顯示數據

寫法:

```chart
{
  "type": "pie",
  "title": "技術棧分佈",
  "data": [
    { "name": "Java", "value": 40 },
    { "name": "Python", "value": 25 },
    { "name": "前端", "value": 20 }
  ]
}
```

各圖表類型:

類型說明關鍵字段
pie餅圖/環形圖angleField, colorField
bar柱狀圖xField, yField
line折線圖xField, yField
area面積圖xField, yField
radar雷達圖xField, yField

2.5 流程圖/時序圖(Mermaid)

效果:

graph TD
    A[添加文檔] --> B[Git Push]
    B --> C[GitHub Actions]
    C --> D[部署 Pages]

寫法:

```mermaid
graph TD
    A[添加文檔] --> B[Git Push]
    B --> C[GitHub Actions]
    C --> D[部署 Pages]
```

時序圖:

```sequence
participant A as 客戶端
participant B as 服務端
A->>B: 請求
B-->>A: 響應
```

支持所有 Mermaid 類型:

類型代碼塊語言說明
流程圖mermaidgraph TD / LR / BT
時序圖sequencesequenceDiagram
餅圖mermaid內置 pie 語法
類圖mermaidclassDiagram
甘特圖mermaidgantt
狀態圖mermaidstateDiagram

2.6 代碼塊 + 複製按鈕

所有代碼塊自動添加語言標籤和複製按鈕。

效果:

┌─ java ──────────────────── 📋 複製 ─┐
│                                     │
│  public class Hello {               │
│      public static void main(..)    │
│  }                                  │
│                                     │
└─────────────────────────────────────┘

點擊複製按鈕 → 自動複製到剪貼板,按鈕變為 ✅ 已複製(1.8 秒後恢復)。

寫法:

```java
public class Hello {
    public static void main(String[] args) {}
}
```

不寫語言也自動渲染為代碼塊:

```
純文本代碼塊
```

2.7 GitHub Alert 提示

5 種顏色不同的警報提示塊。

效果:

[!NOTE] 藍色提示,用於補充信息

[!TIP] 綠色提示,用於小技巧

[!IMPORTANT] 紫色提示,用於重要信息

[!WARNING] 橙色提示,用於警告

[!CAUTION] 紅色提示,用於謹慎操作

寫法:

> [!NOTE]
> 提示內容寫在這裡
類型顏色適用場景
NOTE補充信息
TIP實用技巧
IMPORTANT關鍵信息
WARNING注意提醒
CAUTION風險警告

2.8 表格(Pipe Table)

標準 GFM 表格語法。

效果: 帶邊框的格式化表格

算法類型優點
線性迴歸迴歸簡單
決策樹分類可視化

寫法:

| 算法 | 類型 | 優點 |
|------|------|------|
| 線性迴歸 | 迴歸 | 簡單 |
| 決策樹 | 分類 | 可視化 |

2.9 閱讀量統計

基於 GitHub Gist API 的跨設備閱讀量計數器。

效果: 文章頭部顯示 👁️ N(每次瀏覽 +1)

啟用步驟:

① 創建 Gist
訪問 gist.github.com → 右上角 + → New gist:

  • 文件名:counts.json
  • 內容:{}
  • Create secret gist
  • 創建後 URL 形如 https://gist.github.com/xiuji008/abc123,複製 Gist ID(最後一段 abc123

② 生成 Token
訪問 GitHub Settings → Tokens (classic) → Generate new token:

  • 只勾選 gist 權限
  • 生成後複製 Token

③ 填入配置

// src/utils/gistCounter.js
const GIST_ID = '你的GistID'
const GIST_TOKEN = 'ghp_xxxx (僅 gist 權限,不影響代碼倉庫)'

⚠️ Token 會打包到前端 JS,務必只勾選 gist 權限,定期更換更安全。


2.10 評論系統(giscus)

基於 GitHub Discussions 的評論區,無需 OAuth App,無 token 洩露風險。

效果: 文章底部展示 GitHub 風格的評論區,每篇文章獨立討論

啟用步驟:

  1. 倉庫 Settings → Features → 勾選 Discussions
  2. 訪問 giscus App → Install → 選本倉庫
  3. 訪問 giscus.app 填入 xiuji008/xjdoc-interview 獲取 ID
  4. repoIdcategoryId 填入:
// src/components/Comments.jsx
const GISCUS_CONFIG = {
  repo: 'xiuji008/xjdoc-interview',
  repoId: 'R_kgDOSoPcRg',
  category: 'Announcements',
  categoryId: 'DIC_kwDOSoPcRs4C94wU',
}
  • 使用 data-mapping="specific" + data-term={slug} 按文章獨立分頁
  • 支持 GitHub Reactions(👍❤️🎉 等)

三、項目目錄結構
xjdoc-interview/
├── docs/                           # 📁 文檔源文件
│   ├── java/
│   │   ├── java基礎/collection.md
│   │   ├── cli/
│   │   └── web/
│   ├── ai/
│   │   ├── skills/
│   │   ├── db/
│   │   └── shared/
│   ├── README.md
│   └── CONTRIBUTING.md
├── public/
│   ├── _config.yml                 # GitHub Pages 配置
│   └── docs-manifest.json          # 構建時自動生成的文檔清單
├── scripts/
│   └── build-manifest.js           # 掃描 docs/ 生成 manifest
├── src/
│   ├── main.jsx                    # React 入口
│   ├── App.jsx                     # 路由 + 佈局
│   ├── App.css                     # 全局樣式
│   ├── components/
│   │   ├── Sidebar.jsx             # 左側文檔樹
│   │   ├── ArticleView.jsx         # 文章詳情頁
│   │   ├── ArticleHeader.jsx       # Front Matter 卡片
│   │   ├── MarkdownRenderer.jsx    # 統一渲染管線
│   │   ├── MermaidBlock.jsx        # Mermaid 圖渲染
│   │   ├── ChartBlock.jsx          # Recharts 圖表渲染
│   │   ├── CodeBlock (內聯)        # 代碼塊 + 複製按鈕
│   │   ├── PageViews.jsx           # 閱讀量統計
│   │   ├── Comments.jsx            # giscus 評論
│   │   └── ErrorBoundary.jsx       # 錯誤邊界
│   ├── hooks/
│   │   ├── useDocManifest.js       # 加載文檔清單
│   │   └── useDocContent.js        # 加載 .md + 解析 Front Matter
│   └── utils/
│       └── gistCounter.js          # GitHub Gist 計數器
├── .github/workflows/deploy.yml    # GitHub Actions 自動部署
├── worker-counter.js               # Cloudflare Worker 備用方案
├── vite.config.js
├── package.json
└── index.html

四、快速開始
# 1. 安裝依賴
npm install

# 2. 生成文檔清單 + 啟動開發服務器
npm run dev

# 3. 打開瀏覽器訪問
open http://localhost:5173

# 4. 構建生產版本
npm run build

五、部署

推送 main 分支到 GitHub 後,.github/workflows/deploy.yml 自動執行:

  1. npm ci — 安裝依賴
  2. npm run build — 生成 manifest + 構建 SPA
  3. 部署到 GitHub Pages

需要在倉庫 Settings > Pages 中設置 Source 為 GitHub Actions


六、添加新文檔
---
title: 文檔標題
tags: [標籤1, 標籤2]
category: 分類/子分類
slug: 路徑/文件名(唯一標識)
emoji: 📝
description: 簡短描述
---

.md 文件放入 docs/ 下對應目錄 → 提交推送 → 自動部署上線。

寫在最後

需要特別說明的是,這個項目只是一個知識載體,真正有價值的,是其中沉澱的內容。工具幫你降低了表達的門檻,但堅持每天更新知識內容、在使用中持續優化項目,才是這件事能否走遠的關鍵。

AI 不會替代開發者,但它正在重新定義“開發者”的門檻。以前,一個想法到產品之間,隔著厚厚的編程語法、框架選型、環境配置等障礙。而現在,AI 像一位 7x24 小時在線的資深搭檔,幫你把這些“髒活累活”快速落地。

重要的不再是你掌握多少語法,而是你是否有清晰的邏輯、能否準確地描述需求,以及是否願意把自己的想法付諸實踐。

希望我的這次分享能給你帶來一些啟發。如果你也有一個醞釀已久的想法,不妨現在就打開一個 AI 工具,讓它幫你邁出第一步。