使用Docsify构建Markdown文档系统私人知识库,并实现一键同步本地数据到服务器

简介: 本文详解如何用Docsify搭建轻量级Markdown知识库:零构建、纯前端渲染,支持封面/侧边栏/搜索/代码复制等插件;涵盖本地初始化、Typora写作、宝塔+WebHook自动化部署,实现文档一键同步更新。

使用Docsify构建Markdown文档系统私人知识库,并实现一键同步本地数据到服务器

本文已经首发在我的博客, 点击此处查看原文 进入博客首页

一、Docsify 简介

Docsify 是一款基于 JavaScript 开发的开源轻量化文档网站生成工具,核心优势:零构建、无需预编译静态 HTML,仅通过 Markdown 文件即可动态渲染完整文档站点。

核心特点

  1. 极简部署:仅需 Node.js 环境,一行命令完成初始化与本地预览;
  2. 轻量化:打包资源仅约 21KB,加载速度快;
  3. 高度自定义:支持封面、侧边栏、顶部导航、多主题、全文搜索、代码复制、图片缩放、Emoji 等插件;
  4. 易维护:纯 Markdown 书写,搭配 Typora / VSCode 写作体验极佳;
  5. 支持自动化同步:搭配 Git + 宝塔 WebHook 实现代码提交自动更新线上文档。

二、前期环境准备(Windows 本地)

2.1 必须安装:Node.js

Docsify 基于 npm 包管理器,必须先安装 Node.js,内置 npm 工具。

  1. 下载地址:https://nodejs.org/zh-cn
  2. 安装步骤:
    • 双击安装包,一路默认下一步即可;
    • 安装完成后,打开 CMD / PowerShell,输入校验命令:
      node -v
      npm -v
      
    • 输出版本号即代表安装成功。

2.2 推荐安装(提升写作体验)

  1. Typora:Markdown 可视化编辑器,实时预览排版,写文档首选;
  2. VS Code:用于修改站点配置文件 index.html、侧边栏/导航配置文件。

2.3 Git 环境(后续自动化部署必备)

如需上传代码到 GitHub/Gitee、实现服务器自动同步,需提前安装 Git 并配置用户名、邮箱。

三、本地 Docsify 安装与初始化

3.1 全局安装 docsify-cli 脚手架

  1. 新建一个空文件夹(例如 D:\MyDocs,存放所有文档项目);
  2. 在文件夹空白处,按住 Shift + 鼠标右键,选择「在此处打开 PowerShell 窗口」/「在此处打开命令窗口」;
  3. 执行全局安装命令:
    npm i docsify-cli -g
    
    • -g 代表全局安装,任意目录都可使用 docsify 命令;
    • 安装完成无报错即成功。

3.2 初始化文档站点目录

执行初始化命令,生成站点核心文件夹 docs:

docsify init ./docs

执行后当前目录会自动生成 docs 文件夹,这是整个文档网站的根目录,所有 Markdown、配置文件都存放于此。

3.3 docs 目录文件说明

进入 docs 文件夹,按需新建/修改以下文件,全部文件作用对照表:
| 文件名称 | 功能说明 | 是否必须新建 |
| ---- | ---- | ---- |
| index.html | 网站入口配置文件,配置插件、搜索、侧边栏、导航、网站标题、图标等 | 必须 |
| README.md | 文档首页内容,打开网站默认展示该文件 | 自动生成 |
| _coverpage.md | 网站首页封面配置,打开网站先展示封面页 | 可选 |
| _sidebar.md | 左侧侧边栏目录导航,文档分类菜单 | 可选 |
| _navbar.md | 页面顶部导航栏,放置外部链接、栏目跳转 | 可选 |
| favicon.ico | 浏览器标签页小图标 | 可选 |
| assets/ | 自定义图片、静态资源存放目录(自行新建) | 可选 |

四、核心配置文件完整编写

4.1 配置入口文件 index.html

docs/index.html 是整个站点的核心配置,包含网站基础信息、插件引入、搜索、侧边栏/导航开关、页面适配等,完整代码如下,附带详细注释:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <!-- 网页编码 -->
    <meta charset="UTF-8">
    <!-- 网站标题,浏览器标签显示 -->
    <title>Docsify使用指南</title>
    <!-- 兼容旧版IE浏览器 -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <!-- 网站描述,搜索引擎收录使用 -->
    <meta name="description" content="Docsify轻量化文档搭建教程,团队/个人知识库搭建方案">
    <!-- 移动端自适应配置,禁止缩放 -->
    <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <!-- 浏览器标签图标配置,将favicon.ico放入docs根目录生效 -->
    <link rel="icon" href="/favicon.ico" type="image/x-icon" />
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
    <!-- Docsify 默认 Vue 主题样式,可替换其他官方主题 -->
    <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/lib/themes/vue.css">
</head>
<body>
    <!-- 页面加载占位 -->
    <div id="app">文档加载中...</div>

    <script>
        // Docsify 基础全局配置
        window.$docsify = {
    
            // 网站左上角项目名称
            name: 'Docsify使用指南',
            // 右上角Github仓库跳转地址,不配置则不显示章鱼猫图标
            repo: 'https://github.com/YSGStudyHards',
            // 开启侧边栏,自动读取 _sidebar.md
            loadSidebar: true,
            // 开启顶部导航栏,自动读取 _navbar.md
            loadNavbar: true,
            // 开启封面页,自动读取 _coverpage.md
            coverpage: true,
            // Markdown 最大解析标题层级(# ~ #####)
            maxLevel: 5,
            // 侧边栏内自动生成文章内部目录,层级2-4最佳
            subMaxLevel: 4,
            // 手机等小屏设备,将顶部导航合并进侧边栏
            mergeNavbar: true,
        }
    </script>

    <script>
        // 全文搜索功能专项配置
        window.$docsify = {
    
            search: {
    
                // 搜索缓存过期时间,单位毫秒,86400000 = 1天
                maxAge: 86400000,
                // 自动扫描所有md文档建立索引
                paths: 'auto',
                // 中英文搜索框提示文字
                placeholder: {
    
                    '/zh-cn/': '站内搜索文档',
                    '/': 'Type to search'
                },
                // 无搜索结果时提示文案
                noData: '未匹配到相关文档,请更换关键词',
                // 搜索扫描标题深度
                depth: 4,
                // 搜索结果不隐藏侧边栏其他内容
                hideOtherSidebarContent: false,
                // 搜索缓存命名空间,多站点区分使用
                namespace: 'Docsify-Guide',
            }
        }
    </script>

    <!-- Docsify 核心运行JS -->
    <script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>
    <!-- Emoji 表情渲染支持 -->
    <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/emoji.min.js"></script>
    <!-- 文档内图片点击放大插件 -->
    <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script>
    <!-- 全文搜索插件 -->
    <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
    <!-- 代码块一键复制按钮插件 -->
    <script src="//cdn.jsdelivr.net/npm/docsify-copy-code/dist/docsify-copy-code.min.js"></script>
</body>
</html>

4.2 封面配置文件 _coverpage.md

在 docs 目录新建 _coverpage.md,网站打开优先展示封面,自定义标题、简介、跳转按钮:

<!-- _coverpage.md 网站封面配置 -->
# Docsify 完整使用指南
> 基于 Typora + Docsify 搭建轻量级个人&团队知识库
## 产品优势
- 无需编译生成静态HTML文件,直接Markdown渲染网页
- 资源体积极小,压缩后仅 ~21kB,访问速度快
- 丰富插件:搜索、代码复制、图片放大、Emoji、多主题
- 一键本地预览,服务器自动化同步更新

[立即开始使用](/README.md)

4.3 侧边栏目录 _sidebar.md

新建 _sidebar.md,用于左侧文档分类导航,支持多级目录,路径为相对Markdown文件路径:

<!-- _sidebar.md 左侧侧边栏菜单 -->
# 文档导航目录
* Typora + Docsify 入门教程
  * [Docsify完整搭建指南](/ProjectDocs/Docsify使用指南.md)
  * [Typora+Docsify快速上手](/ProjectDocs/Typora+Docsify快速入门.md)
* Docsify 线上部署方案
  * [宝塔自动部署教程](/ProjectDocs/Docsify部署教程.md)
* 拓展功能配置
  * [自定义主题更换](/ProjectDocs/自定义主题.md)
  * [多语言文档配置](/ProjectDocs/多语言设置.md)

注意:文档文件夹层级需和链接路径对应,示例中需在docs下新建 ProjectDocs 文件夹存放对应md文件。

4.4 顶部导航栏 _navbar.md

新建 _navbar.md,页面顶部横向导航,支持站内跳转、外部网页链接:

<!-- _navbar.md 顶部导航栏 -->
* [返回个人博客](https://www.tinsur.cn/)
* [知识库主页](https://note.tinsur.cn/)
* [Github仓库](https://github.com/YSGStudyHards)

4.5 首页文件 README.md

docs/README.md 是进入网站封面点击「开始使用」后展示的主页,可自定义欢迎文案、目录、使用说明。

五、本地实时预览文档网站

所有配置文件修改完成后,使用 docsify serve 启动本地开发服务,实时刷新修改内容:

  1. 回到 docs 文件夹的上级目录(存放docs的文件夹),打开 CMD / PowerShell;
  2. 执行启动命令:
    docsify serve docs
    
  3. 启动成功后控制台会输出访问地址:http://localhost:3000;
  4. 打开浏览器输入地址即可预览完整文档网站;
  5. 修改任意 Markdown 或配置文件,页面会自动刷新,无需重启服务。

六、线上部署 + Git 自动同步更新(宝塔服务器)

6.1 远程仓库准备(GitHub / Gitee)

  1. 登录 Gitee / GitHub,新建空白仓库,仓库名自定义;
  2. 将本地 docs 文件夹内所有文件上传至远程仓库根目录;
  3. 本地电脑配置 Git 关联仓库,完成代码提交推送:
    # 初始化仓库(首次)
    git init
    # 关联远程仓库地址
    git remote add origin 你的仓库git地址
    # 提交所有文件
    git add .
    git commit -m "初始化Docsify文档站点"
    # 推送到master分支
    git push origin master
    

6.2 宝塔面板搭建静态站点

  1. 登录宝塔面板,网站 → 添加站点,填写你的域名;
  2. 网站类型选择静态网站,网站根目录自定义(示例:/www/wwwroot/docs.yourdomain.com);
  3. 进入网站根目录,执行 Git 克隆命令,拉取远程仓库全部文件:
    git clone 你的仓库git地址 .
    

6.3 WebHook 自动同步脚本(提交代码自动更新服务器)

实现:本地推送代码到 Git 仓库 → 仓库触发 WebHook → 服务器自动拉取最新文档,无需手动操作。

  1. 宝塔软件商店安装「WebHook」插件;
  2. 新建钩子,执行脚本类型选择 Shell,粘贴以下脚本:

    #!/bin/bash
    # 此处修改为你的网站根目录
    WEB_PATH="/www/wwwroot/docs.yourdomain.com"
    # 错误日志存放路径
    LOG_FILE="/tmp/hook_error.log"
    
    # 进入网站目录
    cd $WEB_PATH
    # 拉取远程仓库最新代码,忽略安全目录限制,错误写入日志
    git -c safe.directory="*" fetch origin master 2>> $LOG_FILE
    # 强制覆盖本地文件,同步远程最新版本
    git -c safe.directory="*" reset --hard origin/master 2>> $LOG_FILE
    # 修改文件归属权限,保证网站正常读取
    chown -R www:www $WEB_PATH
    
  3. 复制 WebHook 生成的访问地址,填入 Gitee/GitHub 仓库的 WebHook 配置;
  4. 测试:本地修改 Markdown 文件,推送 Git,刷新线上网站即可看到自动更新。

七、常见补充说明

  1. 图标替换:准备 ico 格式图标,命名 favicon.ico 放入 docs 根目录,刷新页面生效;
  2. 主题更换:替换 index.html 中 link 的 css 地址,Docsify 提供 dark、pure 等多款官方主题;
  3. 目录层级:侧边栏 subMaxLevel 建议设置 2~4,层级过多会造成菜单过长;
  4. 缓存清理:搜索功能会缓存文档内容,如需立刻更新搜索索引,清空浏览器缓存即可;
  5. 权限问题:宝塔部署后页面资源404,检查网站目录权限、Git 文件归属用户。
目录
相关文章
|
Kubernetes 负载均衡 网络安全
openEuler 系统搭建高可用 Kubernetes 集群
在生产环境中,k8s 高可用集群部署能够确保应用程序稳态运行不出现服务中断情况。此处我们基于 openEuler 系统环境,配置 Keepalived 和 HAproxy 使负载均衡(LB/Load Balancer)、实现 k8s & KubeSphere 高可用集群部署。
1676 1
|
Windows
使用docsify生成静态网站和pdf epub等
docsify生成静态网站和pdf epub等
2403 0
|
前端开发 网络安全 网络协议
系统诊断小技巧(10):ssh/sshd的调试模式
网络应用的逻辑一般都是集中在两端。所以端到端的排查思路是解决问题的重要思路。排查ssh问题也是如此。 那么,怎么让ssh两端输出更多信息呢? 如何启动调试选项? ssh和sshd都有配置选项和命令行选项来启动调试。
7216 0
|
10月前
|
机器学习/深度学习 缓存 物联网
打造社交APP人物动漫化:通义万相wan2.x训练优化指南
本项目基于通义万相AIGC模型,为社交APP打造“真人变身跳舞动漫仙女”特效视频生成功能。通过LoRA微调与全量训练结合,并引入Sage Attention、TeaCache、xDIT并行等优化技术,实现高质量、高效率的动漫风格视频生成,兼顾视觉效果与落地成本,最终优选性价比最高的wan2.1 lora模型用于生产部署。(239字)
2706 106
|
3月前
|
人工智能 运维 数据可视化
阿里云百炼大模型功能介绍:一站式大模型开发与应用平台全解析
在人工智能技术快速渗透各行业的当下,大模型已成为驱动业务创新、提升效率的核心生产力工具。阿里云百炼作为一站式大模型开发与应用平台,凭借丰富的模型生态、全链路开发能力、灵活的部署方式与高性价比的计费模式,为开发者、业务人员与企业用户提供了从模型调用、定制调优到应用构建、部署运维的完整解决方案,大幅降低了大模型应用的技术门槛与落地成本,让AI能力快速赋能各类业务场景。
510 1
|
网络协议 关系型数据库 Linux
Debian 13 Trixie 发布 - 通用操作系统
Debian 13 Trixie 发布 - 通用操作系统
1911 0
|
3月前
|
网络协议 应用服务中间件 网络安全
阿里云SSL证书自动续签与部署完全指南:从托管服务到开源工具全方案解析
本文系统性地剖析了阿里云SSL证书自动续签与部署的完整技术方案。随着SSL证书有效期普遍缩短至一年甚至三个月,手动管理证书已成为运维痛点。文章首先介绍阿里云数字证书管理服务V2.0的托管服务——通过购买证书时开启托管、配置域名免验证授权、创建云产品部署任务,即可实现证书全生命周期自动化。随后深入讲解acme.sh这一开源ACME客户端的安装、阿里云DNS API配置、证书签发与自动续期Cron任务设置,并提供Nginx配置示例。进一步探讨基于阿里云OpenAPI的自定义脚本方案,展示Python SDK调用示例。还介绍了函数计算、Certimate等高级自动化工具。最后详细讨论ECS可信实例一
|
6月前
|
存储 Linux Docker
告别繁琐安装!Obsidian 容器化部署,跨设备访问笔记自由
Obsidian 作为一款备受欢迎的本地知识管理工具,凭借其灵活的笔记链接、本地存储优势,成为很多开发者、知识管理者的首选。而通过 Docker 部署 Obsidian,不仅能实现跨环境快速部署,还能轻松实现数据持久化,适配 NAS、服务器、个人电脑等多种场景。本文将详细介绍 Windows 和 Linux 两大系统下,通过 Docker 部署 Obsidian 的完整流程,同时提供 Docker 一键安装命令,降低部署门槛。
1569 2
|
4月前
|
数据采集 监控 搜索推荐
网站如何检测并封禁恶意爬虫?用IP离线库从访问频率到行为分析全搞定
本文介绍一种毫秒级反爬方案:基于IP离线库,通过net_type(识别90%+违规的数据中心IP)、proxy_type(穿透住宅代理伪装)、risk_score(0–100风险量化)及行为分析四层递进识别,在请求到达瞬间完成IP定性与风险决策,拦截率提升至96%,误拦率降至0.4%,服务器负载下降超50%。(239字)
345 0