如何编写带有可运行代码段的Scala文档,类似于mdbook?

问题描述

Rust工具mdbook从Markdown生成文档。它使读者可以将它们通过管道传递到Rust Playground,从而直接在浏览器中编辑和运行Rust片段。这样,您就可以编写可读的文档,同时让读者可以尝试示例,而无需剪切并粘贴到本地编辑器中。 Rust文档使用此。

Scala有这样的东西吗? Scala有一个游乐场(SCastie),所以似乎很难解决。也许有像gitbook这样的通用工具可以通过将SCastie配置为后端来做到这一点?

解决方法

Mdoc允许从您的代码中创建SCastie代码段。

来自文档:

之前:

```scala mdoc:scastie
val x = 1 + 2
println(x)
```

之后:

<script src="https://scastie.scala-lang.org/embedded.js"></script>
<pre class='scastie-snippet-2bc0b4f2-db76-4c68-8e7f-3a472d59c50d'></pre>
<script>window.addEventListener('load',function() {
 scastie.Embedded('.scastie-snippet-2bc0b4f2-db76-4c68-8e7f-3a472d59c50d',{
   code: `val x = 1 + 2
println(x)`,theme: 'light',isWorksheetMode: true,targetType: 'jvm',scalaVersion: '2.12.6'
  })
})</script>
,

您可以制作scalafiddle片段。请参阅https://github.com/scalafiddle/scalafiddle-core/blob/master/integrations/README.md

上的文档

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...