2017-05-24 1 views
1

私はtitlecontentのmixinを持っています。Pug mixin - 文字列内にhtmlマークアップをフォーマットします

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

私はちょうどそれが正常に動作しますが、私はなどcodebem、などの文字列にインライン要素を追加するとき、それはそれだけでパグを表示するタグを作成していないテキストでミックスインを使います構文。それと

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

私は出力がI have <b>bold</b> text
になりたい代わりに、私が望ましい結果を得るために何ができるI have #[b bold] text

を作成していますか?

答えて

0

これは実際には特殊文字がエスケープシーケンスの置換をデフォルトで取得するために起こります。あなたはそれを望んでいないので、単純に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') 
+0

ことまだそれを同じ方法でフォーマットします... –

+0

また、あなたはmixinにhtmlを渡しています、それはpug構文でなければなりません –

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 
関連する問題