Pug mixin - 在字符串

时间:2017-05-24 19:06:32

标签: html pug

我的mixin需要titlecontent

mixin card-header(title, content)
  .card.section
    .card-header.secondary-color.white-text
      h4.card-title= title
    .card-body
      p= content

当我使用mixin时只使用文本它工作正常,但是当我将内联元素添加到字符串中时,例如codebem等,它不会#39 ; t创建标签,它只显示pug语法。

+card-header('Page Header', 'I have #[b bold] text')

有了这个,我希望输出为I have <b>bold</b> text
相反,它正在创建I have #[b bold] text

我可以做些什么来获得理想的结果?

2 个答案:

答案 0 :(得分:2)

这实际上是因为特殊字符默认情况下会获得转义序列替换。由于您不需要,只需将p = content替换为p!= content。

所以,让你的哈巴狗代码看起来像这样:

mixin card-header(title, content)
  .card.section
    .card-header.secondary-color.white-text
      h4.card-title= title
    .card-body
      p!= content

+card-header('Page Header', 'I have <b>bold</b> text')

答案 1 :(得分:0)

哈巴狗不会两次渲染文字,但是你可以像这样在你的混合中放一块:

mixin card-header(title, content)
    .card.section
        .card-header.secondary-color.white-text
            h4.card-title= title
        .card-body
            block

+card-header('Page Header')
    p I have #[b bold] text