8

Jade を使用して実装したい単純な検索フォームがあります。

form
    input(
        type="text"
        size="16"
        placeholder="Enter your keywords")
    input(
        type="button"
        value="Search")

出力は次のようにレンダリングされます。

<form>
      <input type="text" size="16" placeholder="Enter your keywords">
      <input type="button" value="Search">
</form>

改行によってボタンと検索ボタンの間にスペースができることを除いて、これは完璧です。テキストボックスとボタンの間にスペースは必要ありません。次のようにレンダリングするコードが必要です。

<form>
      <input type="text" size="16" placeholder="Enter your keywords"><input type="button" value="Search">
</form>

ただし、このプロジェクトを使用して、HTML 形式で読み取る必要があるコードを作成しており、プロジェクト全体から空白を単純に削除することはできません。

ドキュメントの残りの部分で空白と改行を保持しながら、示されているようにフォームを出力する方法はありますか?

4

3 に答える 3

10

私は同じものを探していて、これに出くわしました:http ://scalate.fusesource.org/documentation/jade-syntax.html

プレーンテキストの下:空白の削除:>および<

<a>タグ内の空白に問題がありました:

a.external(href={"http://foo.bar/" + reference.dxLink.get})
  |CrossRef

をもたらしました

<a href="http://foo.bar/10.1002/rmv.439">
                  CrossRef
</a>

行の終わりに<を追加します。

a.external(href={"http://foo.bar/" + reference.dxLink.get})<
  |CrossRef

をもたらしました

<a href="http://foo.bar/10.1002/rmv.439">CrossRef</a>
于 2012-11-23T15:27:49.360 に答える
2

これが Node JS の Jade の場合、'pretty' パラメータを使用して、強制的に空白を削除または追加することができます。

var jade = require('./../')
  , path = __dirname + '/whitespace.jade'
  , str = require('fs').readFileSync(path, 'utf8')
  , fn = jade.compile(str, { filename: path, pretty: true });

フォーム テンプレートを別のファイル (例: myform.jade) に入れて、読み込み時にそのテンプレートに対して pretty を false に設定するか、同じ目的でヘルパーを作成することができます。

于 2013-01-17T04:55:13.537 に答える
1

私もこの問題を抱えていました。locals.prettyレンダリングされたhtmlを読みたいので、開発中はtrueに設定されています。2 つの入力の間のスペースは、スタイルの問題を引き起こします。

私の現在の解決策は、その2つの入力に生のhtmlを使用することです:

form
  <input type="text" size="16" placeholder="Enter your keywords"><input type="button" value="Search">

これにより、翡翠以外のテキストが少し混ざりますが、入力の間に余分なスペースを入れずにレンダリングされます。

于 2013-02-25T10:18:10.320 に答える