【问题标题】:How to write Scala documentation with runnable snippets, similar to mdbook?如何使用可运行的片段编写 Scala 文档,类似于 mdbook?
【发布时间】:2021-01-29 11:08:38
【问题描述】:

Rust 工具 mdbook 从 Markdown 生成文档。它允许读者通过将 Rust sn-ps 管道传输到 Rust Playground,直接在浏览器中编辑和运行 Rust sn-ps。这使您可以编写可读的文档,同时让您的读者尝试示例,而无需将其剪切并粘贴到本地编辑器中。 Rust 文档使用了这个。

Scala 有这样的东西吗? Scala 有一个操场(SCastie),所以看起来困难的部分已经解决了。也许有一个更通用的工具,比如 gitbook,可以通过将 SCastie 配置为后端来做到这一点?

【问题讨论】:

  • 我为 GitBook 找到了一个 ScalaFiddle 扩展,但它只适用于旧的 GitBook。显然,GitBook 专注于不允许扩展的服务。 (还没有?)

标签: scala gitbook


【解决方案1】:

Mdoc 允许从您的代码中创建 SCastie sn-ps。

来自文档:

之前:

```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>

【讨论】:

    【解决方案2】:

    你可以制作scalafiddle sn-ps。请参阅https://github.com/scalafiddle/scalafiddle-core/blob/master/integrations/README.md的文档

    【讨论】:

    • 这看起来像我需要的。我在 Blogger 中尝试了嵌入式 ScalaFiddle,效果很好。
    猜你喜欢
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    • 2010-12-09
    • 2016-08-27
    相关资源
    最近更新 更多