Docusaurus 3.2 发布,更快的 MDX 开发体验

news2025/1/15 17:41:50

Docusaurus 是一个静态站点生成器。它构建了一个具有快速客户端导航的单页面应用程序,利用 React 的全部功能使你的网站具有交互性。它提供开箱即用的文档功能,但可用于创建任何类型的网站(个人网站、产品、博客、营销登陆页面等)。

近日,Docusaurus 发布了最新的 3.2 版本,努力减少了在生产模式下构建 Docusaurus 网站所需的时间。在 3.1 和 3.2 之间,Docusaurus 进行了几项更改,使得许多网站的生产构建速度显著加快。

下面就让我们一起来看一下新版本还有什么亮点吧!

性能提升亮点

让我们举个例子,我们在升级到 v3.2 的 React Native 网站上进行的基准测试报告了以下结果:

  • 🔥 冷构建:95 秒 ➡️ 66 秒(快 30%)
  • 🔥 增量构建:55 秒 ➡️ 22 秒(快 60%)

结果将根据你站点的拓扑和你打开的选项而有所不同,但我们预计最大的站点将看到最显着的改进。

请注意,这只是开始,Docusaurus 性能仍然可以显着提高,特别是捆绑时间和内存消耗。跟踪我们的性能问题以了解即将进行的改进。

冷构建和增量构建有什么区别?

冷构建是指 Docusaurus 缓存为空时,通常是在运行后 docusaurus clear。

当你再次运行该 docusaurus build 命令时,就会发生增量构建。Docusaurus 自动尝试重用以前构建的计算,以使后续构建更快。实际上它是基于 Webpack 持久缓存。要在 CI 服务器上启用增量构建,你可以保留 node_modules/.cache 文件夹。

更快的开发服务器

我们还致力于提高开发服务器的性能,以便你在编辑 Markdown/MDX 文件时可以获得更快的反馈。

我们最初实现内容重新加载的方式并不好。例如,编辑博客文章文件也会触发无关文档插件的无用重新加载。从现在开始,当编辑插件的内容时只有该插件才会重新加载。很难精确衡量这一变化的影响,但估计浏览器中出现的编辑速度应该至少快 50%。

我们计划不断提高开发服务器的速度,通过更精细的热重载,确保我们不会运行总是给出相同结果的无用计算。

MDX 部分

Docusaurus 现在能够将来自导入的部分的标题呈现到目录中。

Docusaurus 和 MDX 允许你将一个 Markdown 文件导入到另一个。我们通常将导入的 Markdown 文件称为部分,并使用前缀 _,以便该文件不会导致创建新页面。

# My Doc

## Doc heading

Content is imported from another MDX file:

import ImportedDoc from './\_importedDoc.mdx';

<ImportedDoc />
## Partial heading

Some paragraph

以前,标题 Partial heading 不会出现在目录中,但现在它会出现!

博客插件增强

  • 新增显示博客文章的最后更新时间和作者。
  • 新增 processBlogPosts 选项,可对博客文章进行过滤、转换、排序。
  • 新增 pageBasePath 选项,自定义博客分页URL段。

站点地图增强

新增 lastmod 选项,支持在 XML 中输出 <lastmod> 标签,通常从 Git 历史读取,也可通过文档和博客的 last_update frontmatter 自定义。

其他改进

  • 新增 Vercel Analytics 插件。
  • docusaurus swizzlecreate-docusaurus CLI 现在会询问用户是否偏好使用 TypeScript。
  • 新增冰岛语翻译。
  • 新增 allContentLoaded 插件生命周期(实验性)。

立即体验 Docusaurus 3.2 带来的速度与灵活性,让文档和网站构建更上一层楼!

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

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

相关文章

产品规划|如何从0到1规划设计一款产品?

我们要如何从0到1规划设计一款产品?在前期工作我们需要做什么呢?下面这篇文章就是关于此的相关内容,大家一起往下看多多了解了解吧! 一、什么是产品规划? 产品规划是一种策略,它设定了产品的价值和目标,并确定实施方案以实现这些目标。它考虑了产品的整个生命周期,基于…

我有一种不完美的完美主义,必须要有缺点,没有缺点就是不完美的

《程客有话说》是我们最新推出的一个访谈栏目&#xff0c;邀请了一些国内外有趣的程序员来分享他们的经验、观点与成长故事&#xff0c;我们尝试建立一个程序员交流与学习的平台&#xff0c;也欢迎大家推荐朋友或自己来参加我们的节目&#xff0c;一起加油。 本期我们邀请的程…

Textual Inversion:使用文本反转个性化文本到图像的生成

系列文章目录 DreamBooth&#xff1a;个性化的文本到图像扩散模型 文章目录 系列文章目录一、研究动机二、模型方法1、潜在扩散模型2、文本嵌入3、文本反演 三、Textual Inversion与dreambooth的对比四、Textual Inversion效果1、图像变化2、文本引导合成3、风格迁移 Textual …

全网最全的平行坐标图(parallel coordinates plot)的绘制攻略

早上起来拥抱太阳&#xff0c;写小论文&#xff0c;看到人家的图怎么那么好看&#xff01;&#xff01;&#xff1f;&#xff1f; 这不得赶紧抄下来&#xff0c;我也发一个顶刊&#xff1f;于是开始思考如何解决绘制这个问题&#xff0c;目前现有的大部分解决方案都是直接调库…

Unity3d的海盗王地图

一直以来&#xff0c;都想将海盗王的地图搬到手游unity3d上面。 经过漫长时间的研究&#xff0c;终于实现了当初的想法。

Webfunny埋点系统如何统计留存率

Hello&#xff0c;大家好&#xff0c;有小伙伴想要咨询webfunny埋点系统次日留存率该如何统计&#xff0c;今天我们就来讲一讲吧。 首先&#xff0c;我们以次日留存率来作为示例讲解说明&#xff0c;3日&#xff0c;7日留存率也是同理的。 示例场景&#xff1a;用户第一天前来…

基于SpringBoot的“幼儿园管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“幼儿园管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 个人信息界面图 缴费信息管理界…

Bentley二次开发教程02-开发环境搭建

1 Bentley 平台介绍 图 1 Bentley 平台介绍 Bentley 软件大致可分为四大平台&#xff0c;分别为用于设计的 Microstation 平台&#xff0c;用于协同的 ProjectWise 平台&#xff0c;用于对资产进行全生命周期管理的 AssetWise 平台和数据互联互通的 数字孪生平台 iTwin。 1.1 …

【六十四】【算法分析与设计】699. 掉落的方块,离散化操作,线段树优化,区间查询sum+区间更新update

699. 掉落的方块 在二维平面上的 x 轴上&#xff0c;放置着一些方块。 给你一个二维整数数组 positions &#xff0c;其中 positions[i] [left(i), sideLength(i)] 表示&#xff1a;第 i 个方块边长为 sideLength(i) &#xff0c;其左侧边与 x 轴上坐标点 left(i) 对齐。 每个…

SJMG—650T型微机控制静载锚固试验机

一.概述 SJMG-650T型微机控制静载锚固试验机是预应力锚具生产企业的出厂检验和型式试验、大型工程使用单位的锚具进场验收、产品质量监督部门对预应力锚具组装件检测的专用设备。该设备由宽调速范围数字伺服阀及微机测控技术&#xff0c;组成全自动闭环调速控制系统&#xff0…

IDM 平替 Gopeed Flutter 开源免费下载工具

IDM 平替 Gopeed Flutter 开源免费下载工具 视频 https://youtu.be/m206G5lVXPM https://www.bilibili.com/video/BV1Lz421k7Zp/ 前言 原文 https://ducafecat.com/blog/flutter-gopeed-downloader-idm-replace https://flutter.ducafecat.com/github/repo/GopeedLab/gopeed…

坚蛋运动新质生产力实践——“AI健康”战略引领产品和服务创新

进入AI时代&#xff0c;全球互联网企业均开启了以大模型及其应用为代表的第四次工业革命的激烈竞赛。坚蛋运动已在全国范围内布局300门店&#xff0c;预计实现2024年500、2025年1000门店&#xff0c;作为国内运动健康产业的头部品牌&#xff0c;坚蛋运动率先提出并推动“AI健康…

Docker 基本认识

一 国内&#xff1a; 阿里云 提供ECS&#xff08;Elastic Compute Service&#xff09;弹性计算服务&#xff0c;包括通用型、计算型、内存型等多种实例&#xff0c; 满足不同应用场景的需求。 支持按需付费、包年包月等多种计费方式。 腾讯云&#xff1a; 提供CVM&#…

重磅发布 | 《网络安全专用产品指南》(第一版)

2017年6月1日&#xff0c;《中华人民共和国网络安全法》正式实施&#xff0c;明确规定“网络关键设备和网络安全专用产品应当按照相关国家标准的强制性要求&#xff0c;由具备资格的机构安全认证合格或者安全检测符合要求后&#xff0c;方可销售或者提供。国家网信部门会同国务…

vue3 watch监听

Watch在vue3中是一个组合API&#xff0c;可以多次调用&#xff0c;它有三个参数&#xff1a; Params1&#xff1a;被监听的变量&#xff0c;可以是一个数组&#xff0c;存放多个变量。 Params2&#xff1a;回调函数&#xff0c;监听的数据有变化时调用&#xff0c;回调函数中有…

IUG-CF论文精读

Neural collaborative filtering with ideal user group labels &#xff08;具有理想用户组标签的神经协同过滤&#xff09; 论文地址&#xff1a;https://www.sciencedirect.com/science/article/pii/S0957417423023898 摘要&#xff1a; 人口统计信息是推荐系统(RSs)的关键…

机器学习(四)之无监督学习

前言&#xff1a; 前面写了监督学习的几种算法&#xff0c;下面就开始无监督啦&#xff01; 如果文章有错误之处&#xff0c;小伙伴尽情在评论区指出来&#xff08;嘿嘿&#xff09;&#xff0c;看到就会回复的。 1.聚类&#xff08;Clustering&#xff09; 1.1 概述&#xff…

javaWeb-异常处理和事务管理

异常处理 我们的代码出现异常之后&#xff0c;异常会向上抛出&#xff0c;直到抛给Spring框架&#xff0c;会去响应一个错误结果 我们要想处理异常&#xff0c;可以在Controller的方法中去捕获异常&#xff0c;但这样做很繁琐&#xff0c;常常我们会定义一个全局异常处理器来…

每日两题 / 438. 找到字符串中所有字母异位词 238. 除自身以外数组的乘积(LeetCode热题100)

438. 找到字符串中所有字母异位词 - 力扣&#xff08;LeetCode&#xff09; 记录p串每个字符出现次数 维护与p串等长的滑动窗口&#xff0c;记录其中每个字符的出现次数 每次滑动后将当前次数与p串的次数比较即可 class Solution { public:vector<int> findAnagrams(s…

Java——继承与组合

和继承类似, 组合也是一种表达类之间关系的方式, 也是能够达到代码重用的效果。组合并没有涉及到特殊的语法 (诸如 extends 这样的关键字), 仅仅是将一个类的实例作为另外一个类的字段。 继承表示对象之间是is-a的关系&#xff0c;比如&#xff1a;狗是动物&#xff0c;猫是动…