修剪模板 – 删除块标记周围的空格
我在一个新项目中尝试Slim模板(在使用Haml很长一段时间后)。 虽然整体体验很棒,但我遇到的问题是,空格总是插在通常使用display: block
标签周围
说,
ul.ampm li.am am li.pm pm
生成
- am
- pm
而
.ampm span.am am span.pm pm
生成
ampm
通常这不是一个大问题,但我们使用响应式布局应用display: inline-block
to li
tags; 显然,它们之间有空格会破坏布局。
我知道
Slim::Engine.options[:pretty] = true
选项(打开它会删除有问题的空白),但它会使所有生成的源难以阅读,而不仅仅是我想要修复的部分。
Slim中的<
和>
似乎与我需要的相反 – 它们旨在用于在内联标签周围添加空格。
所以…
- 是否有可能删除Slim中单个块标签周围的空白,类似于HAML空白食客? (没有关闭漂亮选项的影响,那是)
- 如果不是,它是一个基本的Slim限制(“设计”)或路线图中的某些东西,将来可能实施吗?
非常感激。
我通过在关键位置恢复内联HTML来解决这个问题。 对我来说,它是为options
添加一组options
:
select - my_collection.each do |item|
我可以在极少数情况下忍受这一点(正如我在option
元素中所做的那样)。 但是如果你需要在整个代码中使用更好的whitespacing,我认为你运气不好。
它是一个基本的Slim限制(“设计”)或路线图上的某些东西,将来可能实施吗?
对于这两个人,我会选择“不”。 看起来Slim团队只是实现了一个天真的算法,并没有回头看。 例如, 来自GitHub问题跟踪器的引用 :
由于Slim的重点在于性能,因此漂亮的渲染器在某些情况下效果不佳。 如果你有时间,请为寺庙项目的漂亮渲染器https://github.com/judofyr/temple提供补丁,并提供测试用例。