Могу ли я создать шаблон группы общих атрибутов с помощью Pug? - PullRequest
0 голосов
/ 21 февраля 2019

Я настраиваю шаблоны для электронных писем в формате HTML, и многие из моих таблиц выглядят так:

table( align='center', border='0', cellpadding='0', cellspacing='0', width='100%' )

Чтобы сэкономить время и улучшить читаемость, я подумал, что это будет милоесли бы я мог написать что-то более похожее на это:

- var tableAttrs = "align='center', border='0', cellpadding='0', cellspacing='0', width='100%'"
table( tableAttrs )

Вышеуказанные выходные данные tableAttrs="tableAttrs" или #{="#{" tableAttrs="tableAttrs" }="}", если интерполированы.

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

mixin table()
  table( align='center', border='0', cellpadding='0', cellspacing='0', width='100%' )

+table()
  tbody...

Если моя цель возможна или невозможна, я хотел бы знать!

1 Ответ

0 голосов
/ 21 февраля 2019

Mixins поддерживают вложение, если вы включаете оператор block.

Mixin:

mixin table()
  table(align='center', border='0', cellpadding='0', cellspacing='0', width='100%')
    if block
      block

Использование:

+table()
  tr
    td text

Результат:

<table align="center" border="0" cellpadding="0" width="100%">
  <tr>
    <td>text</td>
  </tr>
</table>
...