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' 参数强制jade 删除或添加空格

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在开发中设置为true,因为我想阅读呈现的html。两个输入之间的空间会导致样式问题。

我目前的解决方案是对这两个输入使用原始 html:

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

这混合了一些非玉文本,但呈现输入时没有额外的空间。

于 2013-02-25T10:18:10.320 回答