Напишите отформатированный текст в атрибутах pug mixin - PullRequest
0 голосов
/ 01 марта 2020

Мне нужно написать многострочный текст в атрибуте mixin. Но не могу найти правильный способ сделать это.

Все эти методы не работают:

+someMixin({
  key: "text in \n two lines"
})
+someMixin({
  key: "text in two lines"
})
+someMixin({
  key: `text in${ }two lines`
})
+someMixin({
  key: `text in#{ }two lines`
})
+someMixin({
  key: `text in${\n}two lines`
})
+someMixin({
  key: `text in#{\n}two lines`
})
+someMixin({
  key: `text in#{br}two lines`
})
+someMixin({
  key: `text in${br}two lines`
})
+someMixin({
  key: `text in<br/>two lines`
})
+someMixin({
  key: 'text in<br/>two lines'
})

Расскажите, пожалуйста, о возможности сделать это и о правильном пути. Спасибо!

1 Ответ

0 голосов
/ 01 марта 2020

Мопсины мопса были разработаны, чтобы принимать атрибуты для управляющих переменных и блоки для контента. Вы пытаетесь использовать атрибуты для контента, поэтому вам так трудно выполнить sh this.

Этот миксин будет обрабатывать ключ как строку с разделителями, разбивая его на массив, затем выводит <p> элементов для каждого члена в массиве.

mixin someMixin(options)
  - var delimiter = '\n';
  - var output = options.key.split(delimiter);
  each line in output
    p= line

Так что это

+someMixin({
  key: "text in \n two lines \n no wait make it three"
})

Затем будет выводить это:

<p>text in </p>
<p> two lines <p>
<p> no wait make it three</p>
...