跳到主要内容

Docusaurus 3.5

· 阅读需 7 分钟
Sébastien Lorber
Docusaurus maintainer, This Week In React editor

我们很高兴地宣布 Docusaurus 3.5 版本发布。

此版本包含许多 令人兴奋的新博客功能

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

Docusaurus 博客文章社交卡片

亮点

博客社交图标

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

blog/authors.yml
slorber:
name: Sébastien Lorber
# 其他作者属性...
socials:
x: sebastienlorber
linkedin: sebastienlorber
github: slorber
newsletter: https://thisweekinreact.com

显示带有 4 个社交平台图标的 slorber 作者的作者社交屏幕截图

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

博客作者页面

#10216 中,我们增加了为 全局博客作者 (在 authors.yml 中声明)创建他们自己的专用页面的可能性,该页面列出了他们贡献的所有博客文章。

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

blog/authors.yml
slorber:
name: Sébastien Lorber
# 描述将显示在作者页面上
description: '一位自由职业的 React 和 React-Native 开发人员...'
page: true # 启用此功能

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

slorber 全局作者的作者页面屏幕截图

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

列出多个作者的作者索引页面

查看 博客作者页面指南 了解详情。

博客 Feed 样式

#9252 中,我们通过为 RSS 和 Atom Feed 提供自定义 XSLT .xls 文件,增加了对 设置博客 Feed 样式 的支持。这允许浏览器以更具视觉吸引力的方式呈现 Feed,例如常规 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,
},
};

Docusaurus 博客 RSS Feed 的屏幕截图,样式精美

博客侧边栏分组

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

Docusaurus 博客的屏幕截图,特别是按年份分组的侧边栏项目

此功能现在默认启用,但可以使用 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 playground 中测试任何拉取请求代码。
  • #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 更新日志 以获取所有更改的详尽列表。