当前位置: 首页 > news >正文

docusaurus初步体验

背景

需要为www.codedriver.com.cn 构建一个在线文档,所以就查找相关内容,找到了 Docusaurus!

什么是 Docusaurus?

Docusaurus 是由 Facebook 开源的一个项目,专为那些希望快速搭建优质文档网站的开发者设计。它基于 React,支持 Markdown 格式,让内容创作变得轻而易举。

是一款静态站点生成器。释放了 React 的全部潜能,搭建了这款带有快速的客户端导航且交互性极佳的单页应用。即开即用的文档功能不仅仅局限于文档本身,还可用于创建任何类型的网站(个人网站、产品网站、博客、营销着陆页等)。

Docusaurus 设计之初就极度重视开发者及贡献者的体验。

  • 使用 React 打造
  • 使用 React 扩展与自定义
  • 提供您自己的 React 组件,完全掌控网站的浏览体验
  • 可扩展
  • 使用基础模板搭建网站,随后使用进阶功能及插件
  • 开放您的插件源码,与社群共享
  • 开发者体验
  • 立即撰写您的软件文档
  • 统一配置文件可被轻松维护
  • 更改后飞速增量编译并热加载
  • 基于路由的代码及数据拆分
  • 轻松发布至 GitHub Pages、Netlify、Vercel 及其他部署服务


Docusaurus 的优点


1️⃣ 易于上手:即使你不是前端专家,也能轻松使用。只需几个简单的步骤,你的网站就能上线。
2️⃣ 强大的自定义能力:你可以根据自己的需求,对网站进行个性化调整。
3️⃣ SEO 友好:帮助你的网站在搜索引擎上获得更好的排名。
4️⃣ 国际化支持:它支持多语言文档,让你的内容触及更广泛的受众。
5️⃣ 版本控制:方便地管理文档的不同版本。

其目标为——快速让用户找到需要的内容,并更好地了解您的产品。我们将与您分享我们的最佳实践,帮助您正确构建自己的文档网站。

  • 为每条路径静态生成 HTML 文件
  • 指定页面 SEO 来帮助您的用户快速查阅官方以解决现有问题
  • MDX 驱动
  • 使用 JSX 及 React 撰写交互组件并嵌入 Markdown 文本
  • 搜索 - 全站均可被搜索
  • 文档分版 - 帮助您的项目发行及文档保持同步
  • i18n - 将您的网站翻译至多国语言


应用案例


📱 React Native,作为一个广受欢迎的移动应用开发框架,其官方文档使用 Docusaurus 构建,提供了关于如何使用 React Native 的详细信息和教程。
🔧 Babel,作为一个广泛使用的 JavaScript 编译器,其官方文档也是用 Docusaurus 开发的,为开发者提供了关于 Babel 的详尽信息。

官网上有很多经典的应用,并且很重要的是,这样的个人网站,或者开发在线文档都提供了源码。 Docusaurus Site Showcase | Docusaurus
 


我的使用体验


最近我开始使用Docusaurus搭建www.codedriver.com.cn 文档网站。核心诉求就是快速、美观、全文搜索。这三个诉求都比较容易搜索,接下来的步骤就是找模版: Docusaurus - 快速构建高效的网站,专注处理内容 | Docusaurus中文文档 | Docusaurus中文网

  1. 下载对应的git源码
  2. 安装bun npm install -g bun
  3. vs 打开对应的目录 bun install
  4. bun start 这个时候会报错 ,原因是版本问题,直接升级

Update available 3.7.0 → 3.8.1

To upgrade Docusaurus packages with the latest version, run the following command:

`npm i @docusaurus/core@latest @docusaurus/preset-classic@latest`

5. 然后运行,就可以 bun start 了,效果如下图

关于基本结构,如何修订个性化,以及如何设置使用 全站的搜索,比如使用Algolia文档搜索等,在另外的章节进步探讨。

学习资源


如果你对 Docusaurus 感兴趣,可以访问官网 Docusaurus.io,那里有详尽的指南和教程。

Docusaurus文档手册 | Docusaurus中文文档网 中文文档,可以参照基本的信息

http://www.lqws.cn/news/592705.html

相关文章:

  • Bootstrap 安装使用教程
  • 多bin技术:为LoRa项目赋能的高效远程升级方案
  • OpenCV CUDA模块设备层-----双曲正切函数tanh()
  • Terraform Helm:微服务基础设施即代码
  • 《UE5_C++多人TPS完整教程》学习笔记39 ——《P40 远程过程调用(Remote Procedure Calls)》
  • LabVIEW自动扶梯振动监测
  • RabbitMQ简单消息发送
  • Node.js与Express框架的深度整合
  • beego打包发布到Centos系统及国产麒麟系统完整教程
  • react-数据Mock实现——json-server
  • 飞算 JavaAI 开发助手:深度学习驱动下的 Java 全链路智能开发新范式
  • 发票PDF处理工具,智能识别合并一步到位
  • Foundation 5 安装使用教程
  • 【Unity实战】UI按钮回调管理:职责分离与持久化策略
  • 基于 Vue + RuoYi 架构设计的商城Web/小程序实训课程
  • 网络基础知识与代理配置
  • Java 大视界 -- Java 大数据在智能交通共享单车智能调度与停放管理中的应用(329)
  • 数字雨动画背景
  • 深入剖析AI大模型:TensorFlow
  • 浅谈「线性代数的本质」 - 系列合集
  • 系统思考力量与实践
  • 从数据资产识别与防泄密看零信任产品
  • 什么叫单通
  • .Net 使用OpenAI开源离线语音识别模型Whisper
  • CppCon 2018 学习:EFFECTIVE REPLACEMENT OF DYNAMIC POLYMORPHISM WITH std::variant
  • Helix Toolkit 在 WPF 中加载带贴图素材的模型
  • 《全程软件测试》第1章
  • 坚石ET ARM加密狗复制模拟介绍
  • 23.安卓逆向2-r0capture搭配Wireshark方式抓包
  • Nuxt 3 中实现跨组件通信方式总结:使用 Pinia、Provide/Inject 或 Props