# MarkLive **Repository Path**: dacaba/mark-live ## Basic Information - **Project Name**: MarkLive - **Description**: 基于 Markdown 的全动态说明手册网页应用 - **Primary Language**: Unknown - **License**: MPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-12 - **Last Updated**: 2026-02-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MarkLive 一个基于 Markdown 的全动态说明手册网页应用。 ## 项目结构 ``` project/ ├── index.html # 主页面 ├── package.json # 项目依赖配置 ├── vite.config.ts # Vite 构建配置 ├── src/ │ ├── main.ts # 应用入口 │ ├── App.vue # 根组件 │ ├── components/ # Vue 组件 │ ├── composables/ # 组合式函数 │ ├── utils/ # 工具函数 │ └── styles/ # 样式文件 ├── public/ │ ├── config/ # 配置文件目录 │ │ └── menu-config.json # 菜单配置文件 │ └── content/ # Markdown 内容文件目录 │ └── readme.md # 默认欢迎页面 └── tests/ ├── unit/ # 单元测试 └── properties/ # 属性测试 ``` ## 技术栈 - **Vue 3**: 前端框架 - **Element Plus**: UI 组件库 - **markdown-it**: Markdown 渲染 - **highlight.js**: 代码语法高亮 - **Axios**: HTTP 请求 - **Vitest**: 测试框架 - **fast-check**: 属性测试库 ## 安装 ```bash npm install ``` ## 开发 ```bash npm run dev ``` ## 构建 ```bash npm run build ``` ## 测试 ```bash # 运行所有测试 npm run test # 运行测试(单次) npm run test:run # 运行测试 UI npm run test:ui ``` ## 配置与使用说明 - **菜单配置目录**: `public/config/`,主配置文件为 `public/config/menu-config.json`。 - **内容目录**: `public/content/` — 放置所有 Markdown 文件,支持子目录组织。 - **路径说明**: 在 `menu-config.json` 中使用相对于 `public/` 的路径,例如 `"file": "content/readme.md"` 或 `"file": "content/guide/installation.md"`。 示例 `menu-config.json`: ```json { "menu": [ { "title": "菜单标题", "file": "content/example.md", "children": [ { "title": "子菜单标题", "file": "content/sub-example.md" } ] } ] } ``` 如何添加页面: - 在 `public/content/` 新建或上传你的 Markdown 文件(可放子目录)。 - 在 `public/config/menu-config.json` 中引用对应 `file` 路径(如 `content/example.md`)。 - 开发模式下保存后通常会热重载;若未刷新,请重启开发服务器: ```bash npm run dev ``` 最佳实践与注意事项: - 使用相对于 `public/` 的路径,不要把路径写成 `/public/content/...`。 - 文件名尽量使用小写、短横(kebab-case),避免空格和特殊字符以提高兼容性。 - 确保 `public/config/` 和 `public/content/` 在构建/发布时包含到最终静态站点(Vite 默认会处理 `public` 目录)。 简短总结:菜单由 `public/config/menu-config.json` 配置,内容由 `public/content/` 存放,二者通过 `file` 字段按相对路径关联。