Dj *_*ana 1 ruby-on-rails cdn jekyll
我有一个rails 4应用程序正确使用config.action_controller.asset_host ="xxxxxxx.cdn.com"来渲染资产网址指向CDN.
该应用程序还有一个使用jekyllrb的文档站点.现在我希望能够从CDN引用资产,但到目前为止还没有运气.
我无法找到有关如何为doc站点设置CDN主机的文档.
我正在尝试这样的东西:
<img type="image/svg+xml" src="{{ '/docs/images/' | append: page.logo_image | asset_url}}">
Run Code Online (Sandbox Code Playgroud)
但没有运气,我只是得到图像网址但没有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)
Run Code Online (Sandbox Code Playgroud)
将其保存在
_plugins/cdn.rbJekyll站点目录的根目录下.然后我在我的
_config.yml文件中添加了一个CDN条目.如果我评论这一行,我的资产将从S3(或本地主机,如果我在本地运行Jekyll)服务.Run Code Online (Sandbox Code Playgroud)cdn: http://cdn.maxmasnick.com每当我想要CDN提供资产时,我都会通过这个Liquid过滤器.例如,在我的布局文件中,我有:
<link rel="stylesheet" href="{{ "assets/css/frameless.css" | cdn }}" />
资料来源:http: //www.maxmasnick.com/2012/01/21/jekyll_s3_cloudfront/