我有一个Rails 4应用,该应用正确使用config.action_controller.asset_host =“ xxxxxxx.cdn.com”来呈现资产URL指向CDN。
该应用程序还具有使用jekyllrb的文档站点。现在,我也希望能够引用CDN中的资产,但到目前为止还没有运气。
我找不到有关如何为文档站点设置CDN主机的文档。
我正在尝试这样的事情:
<img type="image/svg+xml" src="{{ '/docs/images/' | append: page.logo_image | asset_url}}">
但没有运气,我只获得了图像网址,但没有CDN的东西。我发现的全部都是Shoppify链接(我认为也可以使用Liquid)
任何提示都值得欢迎!
谢谢
发现了这一点:
CloudFront的Jekyll配置为了简化从CloudFront服务我的资产的过程,我设置了一个自定义的Liquid过滤器:
module Jekyll
module AssetFilter
def cdn(input)
"#{@context.registers[:site].config['cdn']}/#{input}"
end
end
end
Liquid::Template.register_filter(Jekyll::AssetFilter)
将其保存在
_plugins/cdn.rb
Jekyll网站目录的根目录下。然后,我在
_config.yml
文件中添加了CDN条目。如果我将这一行注释掉,我的资产将由S3(如果我在本地运行Jekyll,则为localhost)提供服务。cdn: http://cdn.maxmasnick.com
每当我希望CDN提供资产时,我都会通过此液体过滤器。例如,在我的布局文件中,我有:
<link rel="stylesheet" href="{{ "assets/css/frameless.css" | cdn }}" />
资料来源:http://www.maxmasnick.com/2012/01/21/jekyll_s3_cloudfront/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句