Docsify介绍—md文件直接生成网页的工具

Markdown是一种轻量级标记语言,它使用易读易写的纯文本格式,用于编写文档,如README,wiki,博客文章等。Markdown语言最初由约翰·格鲁伯(John Gruber)和亚伦·斯沃茨(Aaron Swartz)在2004年创建,并且得到了广泛的应用。Markdown以简洁的语法约定和易于阅读的格式,使得文档具有良好的可读性和可移植性,并且可以轻松地转换为HTML等其他格式。
Markdown创建的文件的后缀名是 .md , 在项目中经常使用 README.md 来对项目进行一些描述, 这样在GitHub 直接可以很容易的查看。在大多数的IDE中都提供了Markdown语言的编写和Preview 的效果。
比如Eclipse:
在这里插入图片描述

比如VS Code:
在这里插入图片描述

相对在IDE中, 在Web中Markdown显示的效果更为美观, 而且对于项目来说, 将md文件转换为Wed端浏览的网页对于文档的阅读和维护都比较有益, 于是有了Docsify 这样的工具。

Docsify 是什么

Docsify 是一个基于JavaScript的文档网站生成器,可以速轻松地搭建基于文本文档的静态网站。它没有预设的主题,所有的网站样式都由Markdown文件生成,可以自由定制。docsify的优点是简单易用,不需要复杂的配置,文档可以直接写在Markdown文件中,支持插件扩展和多语言支持。
Docsify 直接将 Markdown 文件解析成 HTML,并且无需预先构建,只需部署文档的 Markdown 文件即可。这使得 docsify 非常轻便,可以直接运行在 GitHub Pages 上。

Docsify 的主要特征

  • 无需构建:只需要创建 markdown 文件,然后通过 docsify 初始化项目后即可预览你的网站。这意味着你在创建文档或添加新部分时无须等待编译过程。

  • 自定义主题:Docsify 提供了一些内置的主题可以使用,并且你可以通过覆盖默认样式自定义主题。

  • 多种插件:Docsify 提供了强大的插件API,这个比其他静态站点生成器更加具有弹性和易扩展性。

  • 全文搜索:Docsify 的搜索插件可以为你的文档站点提供快速的全文搜索。

  • 提供丰富的 API 和全局 CLI 工具:你可以通过编程方式控制 docsify,或者在任何地方使用 CLI 工具来管理你的文档网站。

  • 适合有版本需求的文档:你可以为你的文档创建不同的版本,并且通过 dropdown menu(下拉菜单)方便的进行切换。

Docsify 的快速使用

Docsify 是基于Node.js 的, 所以需要先安装Node.js环境, 具体步骤如下:

  1. 安装Node.js, 需要 7.6.0之上的版本, 这里安装的是目前最新的长期支持版本 node-v18.18.0
    下载地址: https://nodejs.org/dist/v18.18.0/node-v18.18.0-x64.msi
  2. 全局安装 docsify
    在命令含输入:
npm i docsify-cli -g

安装完成的效果如下:
在这里插入图片描述

  1. 初始化docsify项目
    创建一个项目的目录, 这里是 D:\devworkspace\nodejs\docsify,命名行切换到该目录下, 执行
docsify init ./docs

改命令会产生 docs 目录和三个文件
在这里插入图片描述

  • index.html 入口文件
  • README.md 主页面
  • .nojekyll 阻止GitHub忽略下划线开头的文件
  1. 本地预览网站,将在 3000 端口启动,你可以在浏览器中通过 localhost:3000 进行访问
    命令行输入:
docsify serve docs

成功启动如下显示
在这里插入图片描述

  1. 在浏览器输入 http://localhost:3000/#/
    在这里插入图片描述

问题解决之— node_modules\docsify-cli\node_modules\update-notifier\index.js:103

在使用 docsify 启动服务的时候, 有时候会遇到如下问题:

node_modules\docsify-cli\node_modules\update-notifier\index.js:103async fetchInfo() {^^^^^^^^^SyntaxError: Unexpected identifierat createScript (vm.js:56:10)at Object.runInThisContext (vm.js:97:10)at Module._compile (module.js:549:28)

遇到的这个错误是由于你在执行docsify命令的时候,Node.js版本太低,无法识别或执行fetchInfo()这个async函数。

async/await是Node.js 7.6.0以后的版本开始支持的特性。需要升级Node.js到最新的稳定版本(比如 Node.js 14 或者 16 版本)来解决该问题。

以下是升级Node.js的步骤:

  1. 首先确认当前Node.js的版本,可以在终端中输入以下命令:
node -v
  1. 如果版本低于7.6.0,你需要更新Node.js。你可以从Node.js官网下载和安装最新版本。

  2. 安装完毕后,重新在终端中输入以下命令,确认Node.js是否已经更新:

node -v
  1. 更新 Node.js 后,可能还需要重新安装 docsify-cli ,确保它在新版本的环境下运行:
npm uninstall -g docsify-cli
npm install -g docsify-cli

完成上述步骤后,你应该可以成功执行docsify命令了。

.nojekyll 文件的作用

.nojekyll 是一个用于 GitHub Pages 服务的特殊文件。当 GitHub Pages 看到你的仓库中有这个文件时,它就会跳过 Jekyll 构建过程。

Jekyll 是一个静态网站生成器,它是 GitHub Pages 的默认构建工具。在正常情况下,当你推送文件到 GitHub Pages 的仓库时,Jekyll 会自动对你的文件进行处理,包括解析 Markdown 文件,处理 Liquid 模板标签,等等。

然而,有时候你可能并不想使用 Jekyll 对你的网站进行构建。比如说,你的网站可能已经是静态的 HTML/CSS/JavaScript 文件,或者你使用其他的工具自己进行构建。在这些情况下,在你的仓库根目录添加一个名为 .nojekyll 的文件(无需任何内容)会告诉 GitHub Pages 跳过 Jekyll 构建。

此外,如果你的站点包含下划线(_)开头的文件或文件夹,那么默认情况下 Jekyll 会忽略它们。如果你有这样的文件需要被 GitHub Pages 发布,那么你需要添加 .nojekyll 文件来跳过 Jekyll 的处理。

Docsify的功能和应用场景

使用 Docsify 可以实现以下功能:

  1. 构建技术文档:使用 Docsify 可以方便地构建技术文档,为用户提供高质量的技术文档。
  2. 搭建博客:使用 Docsify 可以快速搭建一款简洁美观的个人博客。
  3. 建立个人主页:使用 Docsify 可以建立一个个性化的个人主页,向他人展示自己的能力和成果。

Docsify的应用场景包括:

  1. 文档管理:Docsify可以帮助团队更好地管理和共享文档,可以在文档中加入标签、注释等功能以便于搜索和整理。
  2. 客户支持:Docsify可以用来管理客户支持文档,例如FAQ、教程、指南等,方便客户快速找到需要的信息。
  3. 销售资料:销售人员可以使用Docsify来管理销售资料,例如销售演示文档、客户案例等。
  4. 项目管理:Docsify可以用来组织项目文档、会议记录、进度报告等,方便团队协作和沟通。
  5. 培训资料:Docsify可以用来做培训文档,例如培训材料、课程大纲、考试题目等。

总之,Docsify适用于任何需要管理和共享文档的场景,可以帮助团队更好地管理信息、提高工作效率和合作能力。

参考

  • 官方站点:https://docsify.js.org


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/82668.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是HTTP状态码?常见的HTTP状态码有哪些?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是HTTP状态码?⭐ 1xx - 信息性状态码⭐ 2xx - 成功状态码⭐ 3xx - 重定向状态码⭐ 4xx - 客户端错误状态码⭐ 5xx - 服务器错误状态码⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前…

华为云云耀云服务器L实例评测|用PHP从数据库到后端到前端完整实现一个中秋节祝福语项目

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师…

大数据知识点之大数据5V特征

大数据的特征可以浓缩为五个英文单词,Volume(大量)、Variety(多样性)、Velocity(速度)、Value(价值)、Veracity(准确性)。因为是5个特征都是以“V”开头的英文单词,又叫大数据5V特征。 概述&…

Putty连接服务器

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

Java版本spring cloud + spring boot企业电子招投标系统源代码

项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及审…

【数据结构】二叉树的层序遍历(四)

目录 一,层序遍历概念 二,层序遍历的实现 1,层序遍历的实现思路 2,创建队列 Queue.h Queue.c 3,创建二叉树 BTree.h BTree.c 4,层序遍历的实现 一,层序遍历概念 层序遍历:除了先序…

面试官:什么是虚拟DOM?如何实现一个虚拟DOM?说说你的思路

🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 一、什么是虚拟DOM 二、为什么需要虚拟DOM 三、如何实现虚拟DOM 小结 一、什么是虚拟DOM 虚拟 DOM &#xff08…

Android13适配-Google官方照片视频选择器

官方照片选择器 图 1. 照片选择器提供了一个直观的界面,便于与您的应用分享照片。 照片选择器的界面可供浏览和搜索,并按日期降序向用户显示其媒体库中的文件。如隐私保护最佳实践 Codelab 中所示,照片选择器为用户提供了一种安全的内置授权…

Nginx配置SSL证书

1 Ubuntu 20.04 上安装 Nginx Nginx 发音 “engine x” ,是一个开源软件,高性能 HTTP 和反向代理服务器,用来在互联网上处理一些大型网站。它可以被用作独立网站服务器,负载均衡,内容缓存和针对 HTTP 和非 HTTP 的反向代理服务器。…

API接口采集电商平台阿里巴巴中国站获得1688商品评论数据货品评分、评价内容接口调用指南

淘宝API商品评论接口,主要用于获取某个商品的评价信息。通过该接口,我们可以获取到商品的所有评价内容、评价时间、评价等级等相关信息,帮助我们更好地了解用户对商品的反馈,进而进行数据分析和业务优化。 1688.item_review-获得…

java项目之咖啡馆管理系统ssm+jsp

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的咖啡馆管理系统。技术交流和部署相关看文章末尾! 开发环境: 后端: 开发语言:Java 框架&am…

C++设计模式_04_Strategy 策略模式

接上篇,本篇将会介绍C设计模式中的Strategy 策略模式,和上篇模板方法Template Method一样,仍属于“组件协作”模式,它与Template Method有着异曲同工之妙。 文章目录 1. 动机( Motivation)2. 代码演示Stra…

STP介绍

目录 STP概述 二层环路带来的问题 1.广播风暴 2.MAC地址漂移问题 3.多帧复制---这个好理解,同一个数据帧被重复收到多次,被称为多帧复制。 802.1D生成树 STP的BPDU BPDU主要分为两大类 配置BPDU RPC COST 配置BPDU的工作过程 TCN BPDU TCN…

2023年以就业为目的学习Java还有必要吗?(文末送书)

目录 一、活力四射的 Java二、从零开始学会 Java三、准备工作四、基础知识五、进阶知识六、高级知识七、结语参与方式 大家好,我是哪吒。 文末送5本《Java编程动手学》 今天来探讨一个问题,现在学 Java 找工作还有优势吗? 在某乎上可以看到…

Soft-Serve小巧强大-轻量级Git服务

文章目录 前言一、Soft-Serve官方解释:我的要求 二、使用步骤我的环境公钥、私钥生成安装镜像参数解释: 配置config.yamlconfig 实操创建用户及绑定公钥创建代码仓库及添加合作者之后就是 git 基本操作了 总结 前言 用过 Gitlab, 也挺好用。 遇到几个问…

十一、MySql的事务(上)

文章目录 一、引入(一)CURD不加控制,会有什么问题?(二)CURD满足什么属性,能解决上述问题? 二、什么是事务?三、事务的特性(一)原子性:…

数据库计算机三级等级考试--数据库技术相关知识点和笔记

数据库计算机三级等级考试–数据库技术 计算机三级等级考试笔记,是博主通过计算机三级数据库技术考试的相关笔记,此篇博客,不仅适合需要考计算机三级考试的各位考生,也适合在职场处理关于数据库的部分操作,个人认为算是一篇使用性…

视频监控管理平台/视频汇聚/视频云存储EasyCVR安全检查的相关问题及解决方法3.0

智能视频监控系统/视频云存储/集中存储/视频汇聚平台EasyCVR具备视频融合汇聚能力,作为安防视频监控综合管理平台,它支持多协议接入、多格式视频流分发,视频监控综合管理平台EasyCVR支持海量视频汇聚管理,可应用在多样化的场景上&…

python 学习笔记(6)—— Flask 、MySql

目录 Flask 1、起步 2、渲染项目的首页 3、处理无参数的 GET 请求 4、处理有 query 参数的 GET 请求 6、处理 params 参数的 get 请求 6、处理 application/json 类型请求体的 POST 请求 7、根据参数渲染模板页面 8、上传文件 数据库操作(mysql&#xff0…

「聊设计模式」之中介者模式(Mediator)

🏆本文收录于《聊设计模式》专栏,专门攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎持续关注&&收藏&&订阅! 前言 在软件开发过程中,我们通常会遇到一个问题&…