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

时间:2016-10-13 22:52:28

标签: f# fslab

我想将一些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>&amp; <code>代码。

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

1 个答案:

答案 0 :(得分:3)

如果您使用的是最新版本,则可以使用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 ***)