问题描述
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
上的文档