Создать список HTML в Snap - PullRequest
2 голосов
/ 21 декабря 2011

Я хочу интегрировать шаблонизатор Snap и построитель Blaze HTML, создав некоторый HTML-код и привязав его к тегу для использования в шаблоне Heist. Вот то, что я пытался.

numbers :: Int -> Splice AppHandler
numbers n = return $ [TextNode $ T.concat.toChunks.renderHtml $ do
                    p "A list of natural numbers"
                    ul $ forM_ [1 .. n] (li .toHtml)]

Это не работает так, как задумано, поскольку snap визуализирует строку HTML непосредственно на сгенерированную страницу Как получить оснастку для рендеринга сгенерированного Blaze HTML?

1 Ответ

3 голосов
/ 21 декабря 2011

Если вы хотите придерживаться сращивания Heist, функция renderHtmlNodes из модуля Text.Blaze.Renderer.XmlHtml в пакете xmlhtml в этом случае очень поможет.

Документы: http://hackage.haskell.org/packages/archive/xmlhtml/0.1.5.2/doc/html/Text-Blaze-Renderer-XmlHtml.html

Я не совсем понимаю ваш пример, но я бы изменил его, чтобы включить мое предложение:

numbers :: Int -> Splice AppHandler
numbers n = return $ renderHtmlNodes $ do
                    p "A list of natural numbers"
                    ul $ forM_ [1 .. n] (li .toHtml)
...