Haml: Control whitespace around text

前端 未结 13 2157
时光说笑
时光说笑 2020-11-30 16:38

In my Rails template, I\'d like to accomplish final HTML to this effect using HAML:

I will first link somewhere         


        
13条回答
  •  无人及你
    2020-11-30 17:24

    You can also do this using Haml's "trim whitespace" modifier. Inserting > after a Haml declaration will prevent whitespace from being added around it:

    I will first
    %a{:href => 'http://example.com'}> link somewhere
    - if @condition
      , then render this half of the sentence if a condition is met
    

    produces:

    I will firstlink somewhere, then render this half of the sentence if a condition is met
    

    However, as you can see, the > modifier also strips the whitespace in front of the link, removing the desired space between the words and the link. I haven't figured a pretty way around this yet, except to add   to the end of "I will first", like so:

    I will first 
    %a{:href => 'http://example.com'}> link somewhere
    - if @condition
      , then render this half of the sentence if a condition is met
    

    Which finally produces the desired output without lots of hard-to-read interpolation:

    I will first link somewhere, then render this half of the sentence if a condition is met
    

提交回复
热议问题