Задать вопрос

Есть ли альтернативные пакеты для html шаблонов(написал свой)?

Мне не нравится предлагаемый подход GO к html шаблонам - больше всего неудобства доставляет разница в синтаксисе которая в шаблонах весьма убогая.
Когда проект небольшой все красиво и понятно, НО когда проект разрастается, и например в шаблон надо передать множество переменных, контролировать это становится тяжело, так как один и тотже шаблон может вызываться разными контроллерами...
мне не нравятся pipeline`ы, мне не нравится что приходится для простейших условий писать свои функции, типа больше, меньше, ит.д. это же все уже есть в самом GO почему в шаблоне нельзя написать: {{if int1 > int2}}one{{else}}two{{end}} ???

или я что-то делаю не так?

Долгий поиск привел меня к шаблонизаторам типа erb к примеру - https://github.com/benbjohnson/ego - здесь меня все устраивает кроме объявления кода через <%%> - всеже если разработчики go предлагают фигурные скобки почему бы не использовать их - ИМХО: <> - для тэгов, {{}} - для логики - гораздно читабельнее
поэтому было решено написать свой велосипед для этой задачи - https://github.com/sg3des/gotemplator - это пока скорее набросок, чем завершенное решение!

Минус этого подхода это то что шаблон приходится генерировать в go code перед тем как запускать проект

Вопроса 3:
1) если стандартный подход на самом деле удобный, а я ошибаюсь, подскажите в какую сторону копать, а лучше пример того где это реализовано УДОБНО.
2) посоветуйте хорошие шаблонизаторы с GO синтаксом.
3) оцените мой пакет.

Спасибо
  • Вопрос задан
  • 482 просмотра
Подписаться 6 Оценить Комментировать
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 3
@vGrabko99
html, css, js, php, golang, mysql
Все прелести php говнокода решили в golang перенести?!
Ответ написан
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
почему бы не использовать их - ИМХО: <> - для тэгов, {{}} - для логики - гораздно читабельнее

Из вашего же README
{{for key,val := range data { }} //<- кучка скобок в одном месте
     <div><b>{{=key}}</b>:<i>{{=val}}</i></div>
{{ } }} //<- еще большая кучка скобок в одном месте

Не так уж и наглядно получается.
Ответ написан
mirrr
@mirrr
Программист и просто хороший человек
Я бы отдавал html как статику, а рендер вынес на сторону клиента, используя микро-темплейтер типа doT.js или swig
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы