Scaladoc 的新功能

语言

新的 Scala 版本 3 带来了完全重写的文档生成器 Scaladoc 的全新实现。本文将介绍 Scaladoc 中已引入或即将引入的新功能亮点。有关一般参考,请访问 Scaladoc 手册

新功能

Markdown 语法

新版 Scaladoc 引入的最大变化是 docstring 默认语言的改变。到目前为止,Scaladoc 仅支持 Wikidoc 语法。新的 Scaladoc 仍然可以解析旧的 Wikidoc 语法,但 Markdown 已被选为格式化注释的主要语言。要切换回 Wikidoc,可以在运行 doc 任务之前传递全局标志,或者可以通过 @syntax wiki 指令为特定注释定义它。

有关如何使用 docstings 的全部功能的更多信息,请查看 Scaladoc docstrings

静态网站

Scaladoc 还提供了一种简单的方法来创建静态网站,用于文档和博客文章,类似于 Jekyll 的方式。借助此功能,您可以以非常方便的方式将文档与生成的 Scaladoc API 存储在一起。

有关如何配置静态网站生成的更多信息,请查看 静态文档 章节

博客文章

博客文章是一种特殊的静态网站类型。在 Scaladoc 手册中,您可以找到有关如何使用 博客文章 的更多信息。

此外,Scaladoc 提供了一种简单的方法来配置您的 社交媒体链接,例如 Twitter 或 Discord。

实验性功能

以下功能目前(2021 年 5 月)尚未稳定发布到 scaladoc,但我们很乐意听取您的反馈。每个功能在 scala-lang 贡献者网站上都有自己的主题,您可以在那里分享您的意见。

代码片段编译

Scaladoc 的一项实验性功能是代码片段编译器。此工具将允许您编译附加到 docstring 的代码片段,以检查它们是否按预期运行,例如,正确编译。此功能与 tutmdoc 工具非常相似,但将与 Scaladoc 一起提供,以便轻松设置并集成到您的项目中。使代码片段交互式(例如,让用户在浏览器中编辑和编译它们)正在考虑中,但此功能目前不在范围之内。

展示

  • 隐藏代码
  • 断言编译错误
  • 代码片段包含

有关更多信息,请参阅 指南,或关注此 Scala 贡献者主题

通过符号名称搜索函数可能很耗时。这就是为什么新的 scaladoc 允许您通过类型搜索方法和字段。

因此,对于声明

extension [T](arr: IArray[T]) def span(p: T => Boolean): (IArray[T], IArray[T]) = ...

除了搜索 span,我们还可以搜索 IArray[A] => (A => Boolean) => (IArray[A], IArray[A])

要使用此功能,只需在 scaladoc 搜索栏中键入您要查找的函数的签名。这就是它的工作原理

此功能由 Inkuire 搜索引擎提供,该引擎适用于 Scala 3 和 Kotlin。要了解此功能的最新开发情况,请关注 Inkuire 存储库

有关更多信息,请参阅 指南

请注意,此功能仍在开发中,因此可能会发生重大变化。如果您遇到错误或有改进想法,请随时在 Inkuirescala3 上创建问题。

贡献者