web-dev-qa-db-ja.com

Jadeの行末に空白を追加する

私はこれを持っています jade コード:

p
    | Avatar hosted by
    a(href='http://www.gravatar.com/', target='_blank') Gravatar

問題は、それが

<p>Avatar hosted by<a href="http://www.gravatar.com/" target="_blank">Gravatar</a></p>

これは次のようになります: " Gravatar "でホストされるアバター。

テキスト行の最後にスペースをいくつ追加しても、それはまだこのように見えます。ドキュメントは私を助けることができませんでした、そしてこれがそのような珍しい問題であるとは想像できません。

40
Lanbo

コードにインラインHTMLまたはHTMLエンティティが必要ない場合は、次のことを実行できます。

p
    | Avatar hosted by
    =  ' '
    a(href='http://www.gravatar.com/', target='_blank') Gravatar

またはこれは短いです

p= 'Avatar hosted by '
    a(href='http://www.gravatar.com/', target='_blank') Gravatar

一番きれいなのはこれでしょう

p Avatar hosted by #{''}
    a(href='http://www.gravatar.com/', target='_blank') Gravatar
55
iopq

どのバージョンのヒスイを使用していますか?私は(0.25.0で)「by」の後に1つのスペースを入れてテストしたところ、正しく動作しました。

その他のオプションは次のとおりです。

p
    | Avatar hosted by&nbsp;
    a(href='http://www.gravatar.com/', target='_blank') Gravatar

または

p
    | Avatar hosted by
    |  <a href='http://www.gravatar.com/' target='_blank'>Gravatar</a>
39
jmar777

Jadeはインラインタグの補間をサポートするようになりました。

p this is #[strong test] of how jade will treat #[i #[u inline tags]]... like #[a(href="/") anchor tags] and #[+a() mixins].

http://jade-lang.com/reference/interpolation/

18
Sean Gravener

それはあなたの編集者ではないのですか?私はコモドを使用し、保存時に末尾の空白を削除するように設定されていました。ファイルを保存すると、テキスト行の末尾のスペースが削除されていました。私のテキストとリンクの間にスペースがないことが、私がそれを理解するまで私を狂わせていました。 Komodoの設定([設定]-> [エディター]-> [保存オプション])を変更して、末尾の空白を削除するチェックを外し、問題は解消しました。

6
Fred Polli

新しい行でspace変数を使用しています。この:

p
    | You must follow
    =space
    a(href=default_url) this link

edit:
jmar777が指摘したように、jadeの最近のバージョンでは、末尾の空白 ここを参照 を尊重する必要があります。それは素晴らしいです、そして私は将来のプロジェクトで再びヒスイを試すかもしれません。

edit:jadeパーサーへのリンクを更新しました。 元のリンク は翡翠1.11用でした。

1
Jim Schubert

すばやくクリーンな解決策は、次の構文を使用することです。

p
    | Avatar hosted by
    | 
    a(href='http://www.gravatar.com/', target='_blank') Gravatar

2番目のテキスト行の|の後のスペースに注意してください。これにより、前の行のテキストの後に空白スペースが追加されます(追加するのを忘れた場合は、厄介なエラーが吐き出されます!)。

これまでのところ、私の意見ではこれが最もクリーンなオプションです。

私はHarpを使用しています。非常にエレガントに見えますが、オスカーゴメスの 2つのパイプを使用したソリューション がエラーをスローします。

ДаниилПронинとSean Gravenerのおかげで、次の解決策がうまくいくことがわかりました。

#{''}
!{''}

そして

= ""
p
  | Avatar hosted by #{' '}
  a(href='http://www.gravatar.com/', target='_blank') Gravatar

そして

p
  | Avatar hosted by
  = ' '
  a(href='http://www.gravatar.com/', target='_blank') Gravatar

また、逆の状況の場合は、次のようにします。スパンテキスト#{ref + ['']}

Pug(Jade)での構文補間の詳細は次のとおりです。 https://pugjs.org/language/interpolation.html

0
Alice Tribuleva