首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【云+社区年度征文】用上神器docsify 靠MarkDown 就能写自己的网站

【云+社区年度征文】用上神器docsify 靠MarkDown 就能写自己的网站

原创
作者头像
韩旭051
修改于 2020-12-03 09:27:37
修改于 2020-12-03 09:27:37
1.5K0
举报
文章被收录于专栏:刷题笔记刷题笔记

搭建个人网站

动态博客

  之前尝试过搭建自己的博客,有知名的 PHP 动态博客 WordPress 托管到我自己的服务器上,后面又自己开发了一款 SpringBoot 和 VUE 的前后端分离博客,这个用来学习还是不错的,但是终归需要一个服务器来跑这个,而且需要数据库 MySQL 之类的 关系型数据库 用来存储数据,用有逼格的专业话讲就是 用关系型数据库将数据持久化。

静态博客

hexo

  除了动态的博客,还体验过静态的博客,之前一直在用 hexo 这款静态博客,

hexo是用 markdown 作为源文件,但是需要本地通过 hexo 程序进行渲染,转换成 HTML 文件转成静态页面,再由 web服务器 进行托管。放在 github 码云 gitee 都可以 使用静态页面托管。

很是方便而且免费,不需要再自己整一个服务器,但是 hexo 还是有点麻烦的,需要本地有 node 环境才可以编译。

当然,万能的 Github 后面有了 特别特别好用的 Github Action 可以白嫖资本主义的服务器,用微软家的云服务器编译成 HTML 静态页面,再自动托管到 仓库里。

这个也蛮方便的,解决了上面的问题,不过配置这个 Github Action 就挺麻烦的,需要很多安全验证,感兴趣的话,我后面还是可以讲一下这个配置方案,不过对于新手来说真的是麻烦很多。

docsify

知道前两天 我发现了一个更方便的文档生成工具 docsify (一个神奇的文档生成器 A magical documentation generator.)

使用了一下才发现 这个比 hexo 要方便很多,更适合小白来使用。

docsify 效果

docsify 样例

他们的官网 就是用这个技术写的,打开看一下 蛮不错的,还有一个研究生在读的大佬的笔记 cs-wiki 也是使用的这个技术完成的搭建。

  • docsify 是专业用来写文档的,配合 github 的在线托管,特别方便就可以使用

左边可以显示目录 和 每篇文档 自动生成小标题,文章内容也是解析好的 markdown 文件

与其我干巴巴的说效果,不如大家点进去体验一下

与其看着这两个样例不如自己也部署好了,亲自感受下自己的站点。

废话不说了,直接上安装教程

小白无 npm 环境 直接硬写版

手动 创建一个 html 文件 index.html

假设写在空文件夹 /doc 里面吧

写入这些代码

代码语言:txt
AI代码解释
复制
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <meta charset="UTF-8">
  <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/themes/vue.css">
</head>
<body>
  <div id="app"></div>
  <script>
    window.$docsify = {
      //...
    }
  </script>
  <script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>
</body>
</html>

这就好了

是不是不敢相信

不过真的是这样

环境安装就是这么 的简单

按照官网文档的教程,如果你有 Python 环境 直接跑一个 web 服务就能预览了

cd docs && python -m SimpleHTTPServer 3000

然后浏览器 访问300端口 就 OK啦

localhost:3000

或者

127.0.0.1:3000

这就是一个空网页

想添加内容 就写一个 markdown

默认的主页叫做 readme.md

所以我们 先创建这个 文档

写一些内容 ,保存后 刷新网页

就会可以实时的预览了。

非小白 npm 用户

  1. 全局安装 docsify-cli 工具 npm i docsify-cli -g
  2. 如果想在项目的 ./docs 目录里写文档,直接通过 init 初始化项目。 docsify init ./docs
  3. 直接编辑 docs/README.md 就能更新文档内容
  4. 预览效果 docsify serve docs

进阶使用内容

多页文档

官方文档

写了一两篇文章 发现 readme.md 这个文件越来越长,真的很难顶,不可能一个博客要是二三十偏文章 全都蜗居在一个 markdown 里面吧。想想就来气,在宿舍不能上床下桌 不能四人间 不能双人间 不能独立卫浴 毕业了也没钱租个大平层,博客也要蜗居在一个文件里? 想想就气的要死

查了查文档 发现 官方早就考虑到了这个问题,多页文档,就能很好的解决这个问题。

查官网是这么说的

如果需要创建多个页面,或者需要多级路由的网站,在 docsify 里也能很容易的实现。例如创建一个 guide.md 文件,那么对应的路由就是 /#/guide

假设你的目录结构如下:

代码语言:txt
AI代码解释
复制
.
└── docs
    ├── README.md
    ├── guide.md
    └── zh-cn
        ├── README.md
        └── guide.md

那么对应的访问页面将是

代码语言:txt
AI代码解释
复制
docs/README.md        => http://domain.com
docs/guide.md         => http://domain.com/guide
docs/zh-cn/README.md  => http://domain.com/zh-cn/
docs/zh-cn/guide.md   => http://domain.com/zh-cn/guide

说人话 就是 除了readme.md 这个默认主页,别的文章你就随便起一个别的 markdown 的名字就行,访问这个页面就在地址栏在之前的域名之后加入相对位置就行,学过 HTML 的老同志都懂

侧边栏定制显示层数

之前我说了 侧边栏 可以自动生成 根据你 markdown 的 #1 #2 #3 #4 #5 #6 如果全部生成就是六层

写的时候很顺手,但是渲染出来前端,就像一个手风琴一样

六层目录,全部在侧边栏展示出来,太丑了,官方经过多次的产品迭代,也早就知道我会有这种强迫症问题

可以设置 subMaxLevel 配置显示的层数 1 就是只显示#1 以此类推,一般渲染到 #3 就好了,大标题 小标题 和各部分的内容 应该就够了

自定义侧边栏同时也可以开启目录功能。设置 subMaxLevel 配置项,具体介绍见 配置项#sub-max-level。

代码语言:txt
AI代码解释
复制
<!-- index.html -->

<script>
  window.$docsify = {
    loadSidebar: true,
    subMaxLevel: 2
  }
</script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>

搜索框

用时间长了 博客里记录的东西 也多了,总不可能一直用 Ctrl + F 来搜索文档吧

看看有没有搜索功能,我用 Ctrl+F 这种上古搜索方案 找了一下没找到

我灵机一动 一动动,一动不动,发现样例的左上角 不就是一个 搜索框吗? 既然样例有,那么 我也能用

直接搜到了 Search 插件

一句话说 直接 在 最开始的 本地 html 文件里 的

代码语言:txt
AI代码解释
复制
window.$docsify= {

}

加入 search: 'auto', // 默认值 就够了

我觉得 默认的 就挺好的

代码语言:txt
AI代码解释
复制
window.$docsify= {
	search: 'auto'
}

官方文档 给出了 更完整的配置教程,能看懂就OK

全文搜索插件会根据当前页面上的超链接获取文档内容,在 localStorage 内建立文档索引。默认过期时间为一天,当然我们可以自己指定需要缓存的文件列表或者配置过期时间。

代码语言:txt
AI代码解释
复制
<script>
  window.$docsify = {
    search: 'auto', // 默认值

    search : [
      '/',            // => /README.md
      '/guide',       // => /guide.md
      '/get-started', // => /get-started.md
      '/zh-cn/',      // => /zh-cn/README.md
    ],

    // 完整配置参数
    search: {
      maxAge: 86400000, // 过期时间,单位毫秒,默认一天
      paths: [], // or 'auto'
      placeholder: 'Type to search',

      // 支持本地化
      placeholder: {
        '/zh-cn/': '搜索',
        '/': 'Type to search'
      },

      noData: 'No Results!',

      // 支持本地化
      noData: {
        '/zh-cn/': '找不到结果',
        '/': 'No Results'
      },

      // 搜索标题的最大层级, 1 - 6
      depth: 2,

      hideOtherSidebarContent: false, // 是否隐藏其他侧边栏内容

      // 避免搜索索引冲突
      // 同一域下的多个网站之间
      namespace: 'website-1',

      // 使用不同的索引作为路径前缀(namespaces)
      // 注意:仅适用于 paths: 'auto' 模式
      //
      // 初始化索引时,我们从侧边栏查找第一个路径
      // 如果它与列表中的前缀匹配,我们将切换到相应的索引
      pathNamespaces: ['/zh-cn', '/ru-ru', '/ru-ru/v1'],

      // 您可以提供一个正则表达式来匹配前缀。在这种情况下,
      // 匹配到的字符串将被用来识别索引
      pathNamespaces: /^(\/(zh-cn|ru-ru))?(\/(v1|v2))?/
    }
  }
</script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>

部署到 github page 和 gitee page 服务

最后也是最重要的就是 怎么 部署到 github 上吧

  1. 新建一个仓库 一定要 public 名字无所谓 (后面 访问的链接 就会是 你的名字.github.io/仓库名) 比如我这个就是 HANXU2018.github.io/docs 创建点那个绿色的大按钮 这个就不用我教了吧
  1. 仓库下载到本地

我就用 github Desktop 打开这个仓库了

我把他克隆到本地了

  1. 把刚才写好的 docs 文件夹放进去
  1. 把仓库提交到 github 上

Git 的使用教程 还有 Github Desktop 的教程 由于篇幅原因 我就不教了

挖个坑 后面有机会就写 哈哈

  1. 回到 Github 刷新 可以看到 东西传上去了

但是现在还不能访问,因为我们还没有配置 github page 静态托管 服务 还差最后 一步。

进入仓库配置页面 Settings

往下拉找到 Github Page 选择 Branch 为 master

文件夹路径 默认为 ROOT

因为咱们访问的是 index.html 我放在 docs 文件夹里面了,所以要把 root 改成 /docs

最后 Save 保存 别忘了哦

  1. 访问 github.io 最后 访问我 在第一步里面说的 网址 浏览器访问就可以 看到 最后的效果了

访问的链接 就会是 你的名字.github.io/仓库名

比如我这个就是 HANXU2018.github.io/docs

见证奇迹的时刻

最后 BB 两句

总算讲完了,我写的也不是很好,我才刚看了两天这个工具,准备作为自己的笔记本使用

以后 有啥 要更新的 更好的功能,我还会再继续更新

ヾ( ̄▽ ̄)Bye~Bye~再见~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
「docsify」学习笔记
请注意,本文编写于 179 天前,最后修改于 161 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
1K0
「docsify」学习笔记
基于docsify的基本操作&配置
​ 多级目录构建navbar、sidebar引用404问题:在构建多级文件目录的时候,针对多级文件夹下的md文件,其会相应加载同级目录下的navbar.md、sidebar.md文件,但这个时候由于navbar.md、sidebar.md文件存放在根目录或者是自定义指定的文件夹下,引用相对路径则会报404问题。针对上述情况,可以有如下调整方案:
hahah
2022/08/30
3.3K0
[置顶] Docsify使用指南(打造最快捷、最轻量级的个人&团队文档)
  网上关于动态文档生成工具有很多如:Docsify、 VuePress、Docute 、Hexo这些都是一些非常优秀的文档生成工具,本章主要介绍如何快速使用Docsify搭建一个快捷、轻量级的个人&团队文档。
追逐时光者
2022/02/15
3.5K0
[置顶]
        Docsify使用指南(打造最快捷、最轻量级的个人&团队文档)
【工具】10分钟快速搭建属于自己的文档网站
本文就来介绍一下 Docsify[1] + Github Page 的方式,旨在快速搭建属于自己的文档网站
GopalFeng
2022/08/01
1.8K0
【工具】10分钟快速搭建属于自己的文档网站
工具安利 | docsify 入坑指南与我放弃 Gitbook 的那些理由
leetcode-notebook[1] 的题解越来越多,原先选择 Gitbook[2] 构建解题本的弊端逐渐显现出来,每次补充一道题解重新 build 项目时居然要花上 30 秒左右……
江不知
2019/12/12
2.2K0
Docsify 动态生成文档网站
docsify 是一个动态生成文档网站的工具。不同于 GitBook、Hexo 的地方是它不会生成将 .md 转成 .html 文件,所有转换工作都是在运行时进行。
acc8226
2022/05/17
1.1K0
Docsify 动态生成文档网站
Markdown 拓展-Docsify 构建接口文档
优点:使用 markdown 编写,docsify 作为支撑。快速高效,若搭载搜索功能,功能较为完善。且可部署在内网环境。
acc8226
2022/05/17
5770
Markdown 拓展-Docsify 构建接口文档
几分钟上线一个项目文档网站,这款开源神器实在太香了!
Docsify是一款开源的文档生成工具,目前在Github上已有21K+Star。Docsify可以快速帮你生成文档网站,不同于VuePrese和Hexo的地方是它不会生成静态的.html文件,所有转换工作都是在运行时。
macrozheng
2022/12/14
2.2K0
几分钟上线一个项目文档网站,这款开源神器实在太香了!
【教你搭建服务器系列】(10)利用Docsify搭建个人笔记网站
写文档的工具非常多,但是作为程序员,大部人还是偏爱Markdown的,有时需要写一份开发文档,以供自己或者他人查看,那如何把 Markdown 文件转换成文档呢?
HaC
2021/12/07
2.7K0
【教你搭建服务器系列】(10)利用Docsify搭建个人笔记网站
Docsify程序员的文档利器
今天我们继续介绍一款文档软件,它堪称程序员文档利器。是Docute的大哥。也是专注纯净的文档构建。对于SEO并不擅长,但是它简单高效的特点斩获了大批的用户,我也是其忠实的拥护者。
Python研究所
2022/09/01
1.4K0
Docsify程序员的文档利器
作为程序员,谁不想简单快捷地搭建一套属于自己的技术博客网站呢?
你是否也见过像apollo这样的清爽干净的指南界面,是否觉得阅读起来赏心悦目?是否想过自己也弄一套类似的个人博客网站?作为程序员,积累技术文档还是很有必要的,只需要看完这篇,你也可以拥有属于自己的漂亮博客网站。
程序员小义
2024/04/10
5790
作为程序员,谁不想简单快捷地搭建一套属于自己的技术博客网站呢?
docsify快速入门
根据官方说法,docsify是一个神奇的文档网站生成工具,也可以把它当做一个简易版的静态站点诸如Hexo、Hugo等。当然,它是专门针对文档的,忽然想到了程序员深恶痛绝的就是写API文档……
雨临Lewis
2022/01/12
1.1K0
docsify简单教程
简介 一个神奇的文档网站生成器。 简单而轻便(〜18kB压缩) 没有静态构建的HTML文件 多个主题 快速开始 建议docsify-cli全局安装,这有助于本地初始化和预览网站。 npm i docsify-cli -g 初始化 如果在根目录中编写文档 docsify init ./ 写作内容 在之后init完成后,你可以看到在文件列表./根目录。 index.html 作为入口文件 README.md 作为主页 .nojekyll 防止GitHub页面忽略以下划线开头的文件 您可以轻松更新文档./READ
用户8851537
2021/08/03
1.1K0
【如何使用Docsify即时将你的文档转换成一个美观且易用的博客网站】
今天我要给大家推荐一款超级实用且方便的工具——Docsify,如果你是技术博主、开发者或者任何需要频繁撰写和分享文档的人,这款工具绝对能让你的工作变得更加轻松愉快。
kwan的解忧杂货铺
2024/12/27
3080
使用docsify 写开源文档
这将非常实用,如果只是需要快速的搭建一个小型的文档网站,或者不想因为生成的一堆 .html 文件“污染” commit 记录,只需要创建一个 index.html 就可以开始写文档而且直接部署在 GitHub Pages。
悟空聊架构
2020/04/08
1.7K0
Windows系统使用Docsify文档编辑器搭建个人博客并一键发布公网
本文主要介绍如何在Windows环境本地部署 Docsify 这款以 markdown 为中心的文档编辑器,并即时生成您的文档博客网站,结合cpolar内网穿透还能将博客一键发布至公网允许所有人访问,无需公网IP,也不用设置路由器那么麻烦。
E绵绵
2024/10/11
4340
Windows系统使用Docsify文档编辑器搭建个人博客并一键发布公网
docsify部署及配置
初始化之后其实有三个文件,index.html、README.md、.nojekyll。
jwangkun
2021/12/23
3.5K0
docsify部署及配置
Docsify+腾讯云对象存储 COS,一键搭建云上静态博客
最近一直在想如何利用 COS 简化静态博客的搭建过程。搜了很多的静态博客搭建过程,发现大部分的静态博客都要通过编译才能生成静态页面。功夫不负有心人,终于让我找到了一个超简洁博客的搭建方法。
云存储
2020/12/03
2.6K0
基于 Gitee 搭建个人网站-入门教程
这是一篇基于Gitee搭建个人网站的保姆级教程。从零到一。如果你想基于云服务器搭建,我以前写过一篇菜鸟篇。
JavaPub
2022/03/13
3K0
基于 Gitee 搭建个人网站-入门教程
2022-09-25 docsify 站点发布
docsify 终于算是弄完了,简单记录下。然后发现一个问题,相比 Hexo,Hugo 这些页面加载很慢,鱼与熊掌不可兼得,运行时生成只能这样了。
三流之路
2022/09/30
1.4K0
推荐阅读
相关推荐
「docsify」学习笔记
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档