Подтвердить что ты не робот

Пакеты Templating для Haskell

Каковы некоторые предпочтительные пакеты для шаблонов в Haskell. Нечто похожее на шаблоны Django, или PHP.

Я не хочу всегда использовать его с HTML. Это может быть любая другая вещь. Я предполагаю, что я хочу, это библиотека строковой интерполяции, которая также поддерживает циклы, регистрацию утилит фильтрации/запуска, если условия и т.д.

4b9b3361

Ответ 1

Согласно статистике популярности Hackage, верхними тремя пакетами, безусловно, являются (2014):

  • (29 000 загрузок) shakespeare - замена для деревушки.
  • (27 816 загрузок) hamlet - шаблон шаблона Yesod
  • (10,625 загрузок) heist - привязка шаблонов шаблонов
  • (7099 загрузок) HStringTemplate - шаблоны общего назначения

Вы можете увидеть больше об этих двух системах в этом вопросе.

Ответ 2

Некоторые связанные пакеты:

  • Bravo - Библиотека генерации статического текста
  • chunks - Простая библиотека шаблонов со статической безопасностью
  • halipeto - Генератор веб-страниц Haskell Static
  • hamlet - файлы шаблонов, похожие на Haml, которые проверяются во время компиляции
  • hastache - реализация шаблонов усов Haskell
  • heist - Система шаблонов xhtml
  • HStringTemplate - реализация StringTemplate в Haskell.
  • Interpolation - Многострочные строки, интерполяция и шаблоны.
  • PCLT - Расширение для показа: шаблоны, каталогизация, языки, параметры и т.д.
  • press - Текстовая библиотека шаблонов, ориентированная на создание веб-сайтов/HTML
  • template - простая подстановка строк
  • twine - очень простой язык шаблонов

Ответ 3

hastache кажется довольно хорошо разработанным imo. Браво - это классная идея, но подходит для того, что я хочу (петли и т.д.), И он предполагает, что все параметры являются, так или иначе, строками.

Ответ 4

interpolatedstring-perl6 предоставляет простой и хорошо продуманный Quasiquoter для создания интерполированной строки String/Text из шаблонов, содержащих произвольные выражения Haskell.

Ответ 5

Существует также karver (github), не упомянутых в других ответах. Автор говорит, что "его синтаксис сильно вдохновлен Jinja2", но "он не настолько полнофункциональный или готовый, как Jinja".