跳至主要内容

Docusaurus 3.5

·阅读时长 4 分钟
Sébastien Lorber
Docusaurus维护者,本周 React 编辑

我们很高兴宣布 Docusaurus 3.5 的发布。

此版本包含许多 激动人心的新博客功能

升级应该很容易。我们的 发布流程 遵循 语义版本控制。次要版本不包含任何重大更改。

Docusaurus blog post social card

亮点

博客社交图标

#10222 中,我们添加了将社交链接与博客作者关联的可能性,用于在 front matter 中声明的内联作者或通过 authors.yml 文件全局声明的作者。

blog/authors.yml
slorber:
name: Sébastien Lorber
# other author properties...
socials:
x: sebastienlorber
linkedin: sebastienlorber
github: slorber
newsletter: https://thisweekinreact.com

Author socials screenshot displaying slorber author with 4 social platform icons

为预定义平台 xlinkedingithubstackoverflow 提供图标和句柄快捷方式。可以为任何其他平台条目(如上面的示例中的 newsletter)提供完整 URL。

博客作者页面

#10216 中,我们添加了 全局博客作者(在 authors.yml 中声明)拥有自己的专用页面,列出他们贡献的所有博客帖子的可能性。

此功能是可选的,主要适用于 多作者博客。您可以通过设置 page: true 属性来为特定作者打开它

blog/authors.yml
slorber:
name: Sébastien Lorber
# the description will be displayed on the author's page
description: 'A freelance React and React-Native developer...'
page: true # Turns the feature on

这将在 /blog/authors/slorber 创建一个 专用作者页面

Author page screenshot for slorber global author

还会创建一个 作者索引页面,列出所有博客作者。

Author index page listing multiple authors

查看 博客作者页面指南 以获取详细信息。

博客提要样式

#9252 中,我们添加了对 为您的博客提要设置样式 的支持,方法是为 RSS 和 Atom 提要提供自定义 XSLT .xls 文件。这允许浏览器以更具视觉吸引力的方式呈现提要,就像普通的 HTML 页面一样,而不是默认的 XML 视图。

website/docusaurus.config.js
const blogOptions = {
feedOptions: {
xslt: {
rss: 'custom-rss.xsl',
atom: 'custom-atom.xsl',
},
},
};

编写自己的 XSLT 可能很复杂,但您也可以使用 xslt: true 来打开内置样式

website/docusaurus.config.js
const blogOptions = {
feedOptions: {
xslt: true,
},
};

Screenshot of the Docusaurus blog RSS feed, beautifully styled

博客侧边栏分组

#10252 中,我们添加了对按年份在博客侧边栏中对博客帖子进行分组的支持。

Screenshot of the Docusaurus blog, in particular the sidebar items grouped by year

此功能现在默认启用,但可以通过 themeConfig.blog.sidebar.groupByYear: false 禁用。

博客一致性选项

我们添加了新的博客选项以执行博客帖子的推荐做法

onInlineAuthors

我们认为,通过使用 全局作者(在 authors.yml 中声明)可以更容易地管理大型多博客。这尤其允许避免在多个博客帖子中重复作者信息,现在允许生成 作者页面

#10224 中,我们添加了 onInlineAuthors 选项。使用 onInlineAuthors: 'throw' 来禁止 内联作者,并强制一致地使用 全局作者

onUntruncatedBlogPosts

我们认为,博客帖子最好使用 截断标记<!-- truncate -->{/* truncate */})。在分页列表(博客首页、标签页、作者页)上,这允许呈现更简洁的博客帖子预览,而不是完整的博客帖子。

#10375 中,我们添加了 onUntruncatedBlogPosts 选项。使用 onUntruncatedBlogPosts: 'throw' 来强制一致地使用 截断标记

翻译

  • 🇪🇪 #10339: 添加爱沙尼亚语主题翻译。
  • 🇮🇩 #10325: 添加印尼语主题翻译。
  • 🇪🇸 #10360: 改善西班牙语主题翻译。
  • 🇩🇪 #10235: 改善德语主题翻译。
  • 🇨🇳 #10257: 改善繁体中文 (zh-Hant) 主题翻译。

其他更改

其他值得注意的更改包括

  • #10369: 添加对 pkg.pr.new 持续发布的支持,以便您可以在 StackBlitz 操场中测试任何拉取请求代码。
  • #10376: 主题未列出/草稿横幅也会在开发中显示,这样您就不会忘记发布您的内容。
  • #10335: Markdown 顶级标题 # title 会自动包装在 <header> 中,以与 front matter title: Title 保持一致。
  • #10286: 允许 Docusaurus 插件通过返回 null 来自行禁用。
  • #10241: 添加对 MDX 处理器 recmaPlugins 选项 的支持,以修改 MDX Estree AST。
  • #10324: 文档自动生成的 _category_.json 接受一个新的 description 属性,该属性将显示在生成的索引页面上。
  • #10368: CLI 命令 docusaurus --version 现在实际上返回 Docusaurus 版本。
  • #10240: Markdown mdx-code-block 现在支持缩进。
  • #10219: 修复 <TabItem lazy>className 属性的支持。
  • #10313: 与博客相关的 @docusaurus/theme-common/internal API 已移至 @docusaurus/plugin-content-blog/client
  • #10316: 与文档相关的 @docusaurus/theme-common/internal API 已移至 @docusaurus/plugin-content-docs/client

查看 3.5.0 变更日志条目 以获取完整的更改列表。