Есть ли способ вывести HTML прямо в журнал FsLab из файла.fsx?

Я хотел бы добавить html (сгенерированный из моего кода F#) в журнал FsLab, но, похоже, не могу найти правильное заклинание, чтобы это произошло.

Если у меня есть функция в моем коде, которая возвращает HTML-фрагмент, есть ли способ получить это прямо на странице, не будучи окруженным <pre> тег?


Я пробовал, например:

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

затем

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

но вывод - это только HTML-код, отформатированный как вывод.

Я окунулся в страницы GH форматирования F# и нашел (*** raw ***) команда, поэтому я также попытался:

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

но выход по-прежнему окружен <pre> & <code> теги.

Можно ли просто испустить сырой HTML таким образом без <pre> тег?

1 ответ

Решение

Если вы используете последнюю версию, то вы можете добавить пользовательские HTML-принтеры, используя fsi.AddHtmlPrinter, Нам нужно улучшить документы FsLab, но это также используется интерактивной службой F# в 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 ***)
Другие вопросы по тегам