有没有办法将 HTML 从 .fsx 文件直接发送到 FsLab 日志中?

Is there a way to emit HTML directly into an FsLab journal from the .fsx file?

我想将一些 html(从我的 F# 代码生成)发送到 FsLab 日志中,但似乎无法找到实现它的正确咒语。

如果我的代码中有一个函数 returns 一个 html 片段,有没有办法直接将其放入页面而不被 <pre> 标记包围?


我试过,例如:

let f () = 
    """Some <b>bold</b> sample"""
let htmlContent = f ()

然后

(*** include-value:htmlContent ***)

但输出只是 html 代码本身,其格式类似于输出。

我深入研究了 F# 格式化 GH 页面并找到了 (*** raw ***) 命令,所以我也尝试了:

(*** include-value:htmlContent, raw ***)

但输出仍然被 <pre> & <code> 标签包围。

是否可以在没有 <pre> 标签的情况下以这种方式简单地发出原始 html?

如果您使用的是最新版本,则可以使用 fsi.AddHtmlPrinter 添加自定义 HTML 打印机。我们需要改进 FsLab 文档,但这也被 F# Interactive Service in Atom.

使用

要发出原始 HTML,您可以在脚本中包含如下内容:

(*** hide ***)
type Html = Html of string
#if HAS_FSI_ADDHTMLPRINTER
fsi.AddHtmlPrinter(fun (Html h) ->
  seq [], h)
#endif

然后,您应该能够创建 HTML 个节点:

let b = Html("""Some <b>bold</b> sample""")
(*** include-value:b ***)