目前我的图像是从我的cms中显示的,如下所示:
我正在努力创建AMP页面,但他们不接受样式中的图像尺寸。 AMP页面需要:
<amp-img alt="stuff" src="welcome.jpg" height="200" width="203"></amp-img>
使用rails / ruby进行转换有一种简单的方法吗?
由于
答案 0 :(得分:3)
如果你这么做,你可以创建一个像image_tag
这样的视图助手:
module AmpHelper
include AssetUrlHelper
def amp_image_tag(source, options={})
options = options.symbolize_keys
src = options[:src] = path_to_image(source)
options[:width], options[:height] = extract_dimensions(options.delete(:size)) if options[:size]
content_tag("amp-img", nil, options)
end
protected
def extract_dimensions(size)
size = size.to_s
if size =~ %r{\A\d+x\d+\z}
size.split('x')
elsif size =~ %r{\A\d+\z}
[size, size]
end
end
end
这将与Asset Pipeline配合使用,在生产中提供资产哈希/指纹,并使用:size
选项:
amp_image_tag 'foo.jpg', size: '300x200', alt: 'Foo Bar!'
#=> <amp-img src="/assets/foo-abc123.jpg" width="300" height="200" alt="Foo Bar!"></amp-img>