前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【教你搭建服务器系列】(10)利用Docsify搭建个人笔记网站

【教你搭建服务器系列】(10)利用Docsify搭建个人笔记网站

作者头像
HaC
发布2021-12-07 13:30:01
2.1K0
发布2021-12-07 13:30:01
举报
文章被收录于专栏:HaC的技术专栏HaC的技术专栏

写文档的工具非常多,但是作为程序员,大部人还是偏爱Markdown的,有时需要写一份开发文档,以供自己或者他人查看,那如何把 Markdown 文件转换成文档呢?

docsify 就可以做到了,docsify 可以直接加载 Markdown 文件并动态渲染,同时还可以生成封面页,还可以部署在github pages ,效果图像以下这种:

docsify官方文档:https://docsify.js.org/#/zh-cn/

1、安装docsify

安装docsify需要node环境,所以必须先安装Node环境才能进行下一步。

Node下载地址:https://nodejs.org/zh-cn/download/current/

配置完node环境后,使用npm下载docsify组件:

代码语言:javascript
复制
npm i docsify-cli -g

2、初始化文档目录

演示为 windows 系统

新建一个目录 为 LearnJavaToFindAJob

进入目录,再新建一个文件 docs

docs 目录表示我所有文章的根目录

代码语言:javascript
复制
docsify init ./docs

看到这个目录生成了文件:

这个index.html 就是首页了,可以放在自己的服务器,利用Nginx、Tomcat进行部署都行。或者你也可以使用GitHubPage进行部署。

3、运行

代码语言:javascript
复制
docsify serve ./docs

打开 http://localhost:3000 就发现可以访问文档了。

4、其他配置

docsify 提供了很多配置给到用户自行设置,更详细的配置都可以在官网找到:

docsify官方文档:https://docsify.js.org/#/zh-cn/

下面列举一下我自己的配置:

4.1、index.html

如果你的MD文件多,首次访问是非常慢的,因为docsify的原理也是通过把md文件渲染成html,所以白屏时间可以加个提示:

代码语言:javascript
复制
<div id="app">
    正在加载中.....
</div>

其他一些插件:

代码语言:javascript
复制
<script>
    window.$docsify = {
        coverpage: true,
        name: 'LearnJavaToFindAJob',
		//点击name对应的URL
        nameLink: '#/README',
        repo: 'https://github.com/DogerRain/LearnJavaToFindAJob',
        loadNavbar: true,
        loadSidebar: true, // 加载自定义侧边栏
        maxLevel: 0, // 默认情况下会抓取文档中所有标题渲染成目录,可配置最大支持渲染的标题层级。
        subMaxLevel: 0, // 生成目录的最大层级
        mergeNavbar: true, // 小屏设备下合并导航栏到侧边栏
        alias: { // 定义路由别名,可以更自由的定义路由规则。 支持正则
            '/.*/_sidebar.md': '/_sidebar.md',//防止意外回退
            '/.*/_navbar.md': '/_navbar.md'
        },
		
        auto2top: true,
		//代码一键复制
        copyCode: {
            buttonText: '复制',
            errorText: 'Error',
            successText: '复制成功'
        },
		//分页
        pagination: {
            previousText: '上一章节',
            nextText: '下一章节',
            crossChapter: true,
            crossChapterText: true,
        },
		//全局搜索
        search: {
            paths: 'auto',
            placeholder: '搜索',
            noData: '找不到结果',
            depth: 3, //搜索的标题深度
        },
		//字数统计,需要引入js
        count:{
            countable:true,
            fontsize:'0.9em',
            color:'rgb(90,90,90)',
            language:'chinese'
        },
		 coverpage: true,
		onlyCover: true

    }
</script>
<!-- Docsify v4 核心-->
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
<!--不同代码的高亮-->
<script src="//cdn.jsdelivr.net/npm/prismjs@1.22.0/components/prism-c.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/prismjs@1.22.0/components/prism-cpp.min.js"></script>
<script src="//unpkg.com/prismjs/components/prism-bash.js"></script>
<script src="//unpkg.com/prismjs/components/prism-java.js"></script>
<script src="//unpkg.com/prismjs/components/prism-sql.js"></script>
<script src="//unpkg.com/prismjs/components/prism-bash.js"></script>
<script src="//unpkg.com/prismjs/components/prism-c.js"></script>
<script src="//unpkg.com/prismjs@1.23.0/components.js"></script>
<!--代码复制-->
<script src="//cdn.jsdelivr.net/npm/docsify-copy-code"></script>
<!--图片缩放-->
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script>
<!--分页-->
<script src="//cdn.jsdelivr.net/npm/docsify-pagination/dist/docsify-pagination.min.js"></script>
<!--搜索-->
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
<!--字数统计-->
<script src="//unpkg.com/docsify-count/dist/countable.js"></script>

<!--主题-->
<!--<script src="https://cdn.jsdelivr.net/npm/docsify-themeable@0/dist/js/docsify-themeable.min.js"></script>-->
<!--卜蒜子访问统计-->
<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>

4.2、左侧栏

新建一个 _sidebar.md 文件,只需要写入自己的表题和路径即可:

(注意:这里一定是要对应你文章的相对路径)

代码语言:javascript
复制
- [算法](articles\算法\高频算法面试题.md)
- [八大排序算法](articles\算法\八大排序算法.md) 
    - <font style="color:orange;font-size:14px;font-weight:500">字符串(辅助Map):</font>
    - [1-两数之和](articles\算法\1-两数之和.md) 
    - [2-两数相加](articles\算法\2两数相加.md) 
    - [387-字符串中的第一个唯一字符](articles\算法\387-字符串中的第一个唯一字符.md) 
    - [20-有效的括号](articles\算法\20-有效的括号.md) 
    -  [09-用两个栈实现一个队列](articles\算法\09-用两个栈实现一个队列.md) 
    - <font style="color:orange;font-size:14px;font-weight:500">链表:</font>
    - [19-删除链表的倒数第N个结点](articles\算法\19-删除链表的倒数第N个结点.md) 
    - [206-翻转链表](articles\算法\206-翻转链表.md) 
    -  [141环形链表](articles\算法\141环形链表.md) 
    -  [234回文链表](articles\算法\234回文链表.md) 
    - <font style="color:orange;font-size:14px;font-weight:500">树:</font>
    - [543-二叉树最大直径](articles\算法\543二叉树最大直径.md) 
    - [11-盛水最多的容器](articles\算法\11-盛水最多的容器.md) 
    - <font style="color:orange;font-size:14px;font-weight:500">动态规划:</font>
    -  [70-爬楼梯](articles\算法\70-爬楼梯.md) 
    -   [53-连续最大子序和](articles\算法\53-连续最大子序和.md) 
    -   <font style="color:orange;font-size:14px;font-weight:500">回溯:</font>
    -  [46-全排列](articles\算法\46-全排列.md) 

展示效果:

4.3、导航栏

新建一个 _navbar.md 文件,写入:

代码语言:javascript
复制
* [技术博客](https://rain.baimuxym.cn/)

* [Github地址](https://github.com/DogerRain/LearnJavaToFindAJob)

展示效果:

4.4、首页

新建一个 _coverpage.md 文件,写入:

代码语言:javascript
复制
<!--图片-->
<div align="center"> <img src="https://blog-1253198264.cos.ap-guangzhou.myqcloud.com/%E5%85%AC%E4%BC%97%E5%8F%B7HelloCoder.png"/  style="zoom:50%;"> </div>

<!--一些描述-->
#  LearnJavaToFindAJob

### LearnJavaToFindAJob  是一个帮助Java程序员到找到一份工作的面试指南。

 

- Java常见的面试题
- MySQL、MQ、Nginx等中间件
- 计算机网络、操作系统
- 高频算法
- 大厂原题
- 项目经验
- 简历

<!--卜蒜子统计-->
<span id="busuanzi_container_site_pv">
👀    本站总访问量 <span id="busuanzi_value_site_pv"></span>次
</span>| 🐒本站访客数<span id="busuanzi_value_site_uv"></span>人次

[开始阅读](/README.md)

<!--封面-->
![](images/cover.jpg)

设置完后再打开,就发现封面变了:

体验地址:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-06-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、安装docsify
  • 2、初始化文档目录
  • 3、运行
  • 4、其他配置
    • 4.1、index.html
      • 4.2、左侧栏
        • 4.3、导航栏
          • 4.4、首页
          • 体验地址:
          相关产品与服务
          容器服务
          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档