Рекурсивная генерация HTML с помощью Гамлета

Я хотел бы создать дерево комментариев.

<ul>
   <li> First comment
      <ul> 
        <li> reply to first comment
        <li> another reply to first comment
      </ul>
   </li>
 </ul>

у меня есть Tree (Entity Comment) состав. Я хотел бы иметь все преимущества Гамлета (#{commentContent comment} будет защищен от XSS).

Как я могу добиться рекурсивного рендеринга Html с помощью Hamlet?

1 ответ

Решение

Вы, вероятно, не можете сделать это в простой деревушке, но вы можете создать вспомогательную функцию commentTree, к которой вы можете получить доступ, используя ^{commentTree comments}, Эта функция вернула бы Гамлета и может сама использовать [hamlet|<li>^{commentTree subcomment}|] для рекурсии и [hamlet|<u>#{commentContent comment}|] для безопасной интерполяции.

(Вдохновлен этим ответом.)

Другие вопросы по тегам