2012-08-08 29 views
8

Tôi có một mẫu tìm kiếm đơn giản mà tôi muốn triển khai bằng cách sử dụng Jade.Jade - Kiểm soát ngắt dòng trong đầu ra HTML

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

Kết quả này được render thành:

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

này là hoàn hảo ngoại trừ dòng-break đang gây ra một khoảng trống giữa nút của tôi và nút tìm kiếm. Tôi không cần khoảng cách giữa hộp văn bản và nút. Tôi cần mã để render như thế này:

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

Tuy nhiên tôi đang sử dụng dự án này để tạo mã mà sẽ cần phải được đọc dưới dạng HTML của nó, và có thể loại bỏ khoảng trắng không đơn giản từ dự án của tôi như một toàn thể .

Có cách nào tôi có thể xuất biểu mẫu của mình như được chỉ ra trong khi vẫn giữ khoảng cách trắng và ngắt dòng trong phần còn lại của tài liệu của tôi không?

Trả lời

10

tôi đang tìm kiếm điều tương tự và đã xem qua này: http://scalate.fusesource.org/documentation/jade-syntax.html

Dưới Plain text: Khoảng trắng Removal: > và <

Tôi đã có một vấn đề với khoảng trắng bên trong một < thẻ >:

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

dẫn đến

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

Thêm < đến cuối dòng:

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

dẫn đến

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

Điều này có vẻ phù hợp với một số thẻ, ví dụ: 'blockquote' và' a', như trong ví dụ của bạn ở đây, nhưng Jade v1.11.0 tạo ra lỗi và sẽ không biên dịch khi thử với thẻ 'input'. FWIW, liên kết fusesource.org ở trên không hoạt động. Tài liệu cũng có sẵn [ở đây] (http://scalate.github.io/scalate/documentation/jade-syntax.html#Whitespace_Removal:__code__gt___code__and__code__lt___code_). – matty

2

Nếu đây là Jade cho Node JS bạn có thể force jade to remove or add whitespace with the 'pretty' paramater

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

Bạn có thể đặt mẫu của bạn mẫu trong một tệp riêng biệt (ví dụ: myform.jade) và đặt khá giả cho mẫu đó khi bạn tải, hoặc tạo người trợ giúp cho mục đích tương tự này.

1

Tôi cũng gặp sự cố này. locals.pretty được đặt thành true theo sự phát triển vì tôi muốn đọc html được hiển thị. Khoảng cách giữa hai đầu vào sẽ gây ra vấn đề về kiểu dáng.

giải pháp hiện tại của tôi là sử dụng html liệu cho rằng hai đầu vào:

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

này pha trộn một ít văn bản none-ngọc nhưng ám chỉ rằng đầu vào mà không có thêm không gian giữa chúng.

+1

Bạn có thể đọc kết quả HTML với bất kỳ Trình kiểm tra trình duyệt nào thay vì mã thô. –

Các vấn đề liên quan