从想法到上线:我用AI在一天内“摸”出了一个面试文档系统

简介: 需要特别说明的是,这个项目只是一个知识载体,真正有价值的,是其中沉淀的内容。工具帮你降低了表达的门槛,但坚持每天更新知识内容、在使用中持续优化项目,才是这件事能否走远的关键。AI 不会替代开发者,但它正在重新定义“开发者”的门槛。以前,一个想法到产品之间,隔着厚厚的编程语法、框架选型、环境配置等障碍。而现在,AI 像一位 7x24 小时在线的资深搭档,帮你把这些“脏活累活”快速落地。**重要的不再是你掌握多少语法,而是你是否有清晰的逻辑、能否准确地描述需求,以及是否愿意把自己的想法付诸实践。**

随着 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 18 SPA 页面组件
路由 react-router-dom 6 HashRouter 页面切换
Markdown react-markdown 9 核心渲染引擎
数学公式 KaTeX + remark-math + rehype-katex LaTeX 公式渲染
图表 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 = mc^2$

块级:
$$ \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 类型:

类型 代码块语言 说明
流程图 mermaid graph TD / LR / BT
时序图 sequence sequenceDiagram
饼图 mermaid 内置 pie 语法
类图 mermaid classDiagram
甘特图 mermaid gantt
状态图 mermaid stateDiagram

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 工具,让它帮你迈出第一步。

目录
相关文章
|
5天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
2690 9
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
|
13天前
|
人工智能 开发工具 iOS开发
Claude Code 新手完全上手指南:安装、国产模型配置与常用命令全解
Claude Code 是一款运行在终端环境中的 AI 编程助手,能够直接在命令行中完成代码生成、项目分析、文件修改、命令执行、Git 管理等开发全流程工作。它最大的特点是**任务驱动、终端原生、轻量高效、多模型兼容**,无需图形界面、不依赖 IDE 插件,能够深度融入开发者日常工作流。
3449 12
|
16天前
|
Shell API 开发工具
Claude Code 快速上手指南(新手友好版)
AI编程工具卷疯啦!Claude Code凭借任务驱动+终端原生的特性,成了开发者的效率搭子。本文从安装、登录、切换国产模型到常用命令,手把手带新手快速上手,全程避坑,30分钟独立用起来。
3526 25
|
9天前
|
人工智能 Linux BI
国内用 Claude Code 终于不用翻墙了:一行命令搞定,自动接 DeepSeek
JeecgBoot AI专题研究 一键脚本:Claude Code + JeecgBoot Skills + DeepSeek 全平台接入 一行命令装好 Claude Code + JeecgBoot Skills + DeepSeek 接入,无需翻墙使用 Claude Code,支持 Wind
2660 6
国内用 Claude Code 终于不用翻墙了:一行命令搞定,自动接 DeepSeek
|
7天前
|
人工智能 自然语言处理 供应链
|
7天前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全+三种模式+记忆体系+实战工作流完整手册
Claude Code 是当前最流行的终端级 AI 编程助手,能够直接在命令行中完成代码生成、项目理解、文件修改、命令执行、错误修复等全流程开发工作。它不依赖图形界面、不占用额外资源,却能深度理解项目结构,自动生成规范代码,大幅提升研发效率。
1227 3
|
28天前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23611 15
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」

热门文章

最新文章