2017-01-20 38 views
1

目前我的圖像是從我的CMS顯示像這樣:如何IMG內聯樣式轉換爲寬度和高度屬性

我正在創造AMP網頁,他們不接受圖像尺寸樣式。 AMP頁面要求:

<amp-img alt="stuff" src="welcome.jpg" height="200" width="203"></amp-img> 

是否有簡單的方法使用rails/ruby​​來進行此轉換?

感謝

+0

什麼是AMP頁面?你可以添加一些代碼嗎?你試過什麼了? – spickermann

+0

AMP網頁:https://www.ampproject.org/docs/get_started/create/include_image – AnApprentice

回答

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 

這將與資產管道合作,提供資產哈希/指紋生產,並與: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> 
相關問題