"Sass"中的"font-url"方法是在哪里定义的?

10

Bourbon使用font-url,具体可参考这里

Rails有font_url方法,我相当确定这是被调用的方法。但是,我找不到连接这两个东西的地方。我已经探索了bourbon、sass、sass-rais和rails的代码库。

font-url在哪里定义或者与Rails的font_url之间的联系是如何建立的?

更新

澄清一下:我的最终目标是在Rubyland中定义自己的帮助程序,这些帮助程序与font_url同级。

1个回答

9

font-url就像image-url一样是rails资源管道的一部分。如果您查看rails指南,它清楚地说明:

使用资源管道时,必须重写到资源的路径,并且sass-rails为以下资源类提供了-url和-path帮助程序(在Sass中为连字符,在Ruby中为下划线):图像,字体,视频,音频,JavaScript和样式表。

因此,如果您使用font-url("some_font"),它将在app/assets/font目录中查找some_font

更新:

如文档所述,如果您使用sass,则可以使用带连字符的url(image-url)使用资源,但是如果您使用ruby文件,则那些帮助程序将被下划线化(image_url),可能是因为Ruby不喜欢您在名称中有带连字符的方法或变量语法上,但从语义上讲,没有什么问题。


很好,越来越接近了。但是你能指出在Rails代码中什么地方进行破折号到下划线的转换吗? - John Bachir
1
(此外,文档似乎表明sass-rails提供了这个功能,但您的答案似乎表明rails提供了这个功能) - John Bachir
@JohnBachir 是的,sass-rails 提供了它。我只是说它是 Rails 资产管道的一部分。如果你正在使用 sass,那么你可以使用连字符 url,但如果你想在 ruby 文件中使用你的资产,那么这些帮助程序就会有下划线。我认为这两个帮助程序彼此是互斥的,因为它们是分别定义的。 - Mandeep
我找不到连字符版本的定义,这就是我在问题中询问的内容。我的目标是定义自己的帮助程序。我会更新问题以反映这一点。 - John Bachir
1
将连字符与下划线互换是Sass的一个功能。但是,这取决于函数的定义方式,有时可能无法正常工作。 - cimmanon
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接