2012-05-09 11 views
39

Tôi có jade mã này:Thêm một khoảng trắng ở cuối dòng trong Jade

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

Vấn đề là, nó trả lại để

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

nào trông giống như: "Avatar tổ chức bởi Gravatar ".

Cho dù tôi có thêm bao nhiêu dấu cách ở cuối dòng văn bản, nó vẫn trông như thế này. Tài liệu không thể giúp tôi, và tôi không thể tưởng tượng điều này là một vấn đề không phổ biến.

Trả lời

53

Nếu bạn không muốn inline HTML hoặc HTML thực thể trong mã của bạn đây là những gì bạn có thể làm:

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

hoặc đây là ngắn

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

Các sạch nhất có lẽ là

này
p Avatar hosted by #{''} 
    a(href='http://www.gravatar.com/', target='_blank') Gravatar 
+3

Đây phải là câu trả lời được chấp nhận. – Kevin

1

chỉnh sửa:
Như jmar777 chỉ ra, các phiên bản gần đây của ngọc nên tôn vinh dấu khoảng trắng see here. Điều đó thật tuyệt vời, và tôi có thể thử lại ngọc bích trong các dự án tương lai.

chỉnh sửa: Cập nhật liên kết đến trình phân tích cú pháp ngọc. Original link dùng cho ngọc bích 1.11.

39

Bạn đang sử dụng phiên bản ngọc nào? Tôi chỉ thử nghiệm (với 0,25,0) với một không gian duy nhất sau 'by', và nó hoạt động chính xác.

Các tùy chọn khác bao gồm:

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

hoặc

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

Có vẻ như tôi không thêm ràng buộc phiên bản trong 'package.json'. – Lanbo

+2

Thật tuyệt khi biết các phiên bản gần đây không loại bỏ tất cả khoảng trắng và dòng mới từ cuối khối văn bản. –

+4

nó có thể không dải, nhưng trình soạn thảo của bạn có thể. Sẽ tốt hơn nếu có một cách dễ dàng hơn. – Joe

6

Bạn có chắc chắn nó không phải là biên tập viên của bạn? Tôi sử dụng Komodo và nó đã được thiết lập để dải dấu cách khoảng trống trên lưu. Nó đã tước không gian ở cuối dòng văn bản của tôi khi tôi lưu tệp. Việc thiếu một khoảng trống giữa văn bản và liên kết của tôi đã khiến tôi phát điên lên cho đến khi tôi tìm ra điều đó. Tôi đã thay đổi các thiết lập của Komodo (Preferences-> Editor-> Save Options) để bỏ chọn dải không gian trắng, và vấn đề đã biến mất.

+3

Đây cũng là vấn đề của tôi. Trong Web Storm để tắt tính năng này, hãy chuyển đến tùy chọn và tìm kiếm dấu vết. Ở dưới cùng của trang, trong phần Other có một tùy chọn "Strip dấu cách trên Save". –

2

Tôi sử dụng biến số space ở dòng mới. Điều này:

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

Jade bây giờ hỗ trợ nội suy các thẻ nội tuyến.

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/

+0

Đây phải là câu trả lời mới được chấp nhận. –

0

Một giải pháp nhanh chóng và sạch sẽ là sử dụng cú pháp sau:

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

Lưu ý không gian sau khi | trên dòng văn bản thứ hai. Điều này sẽ thêm một khoảng trắng sau văn bản của dòng trước đó (và cũng có thể phát ra một lỗi khó chịu nếu bạn quên thêm nó!).

Cho đến nay đây là tùy chọn sạch nhất, theo ý kiến ​​của tôi.

0

Tôi đang sử dụng Harp và solution with two pipes bởi Óscar Gómez phát ra lỗi, mặc dù có vẻ rất thanh lịch.

Nhờ Даниил Пронин và Sean Gravener, tôi thấy các giải pháp này làm việc cho tôi:

#{' '}
!{' '}

= " "
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 

Ngoài ra, nếu bạn gặp loại tình huống ngược lại: khoảng text # {ref + [' ']}

Dưới đây là thêm về suy cú pháp trong Pug (Jade): https://pugjs.org/language/interpolation.html