1

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

如果我的代码中有一个返回 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 ?

4

1 回答 1

3

如果您使用的是最新版本,则可以使用fsi.AddHtmlPrinter. 我们需要改进 FsLab 文档,但这也被Atom 中的 F# Interactive Service 使用

要发出原始 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 ***)
于 2016-10-14T00:26:45.557 回答