Jekyll Asset Pipeline 使用教程
项目介绍
Jekyll Asset Pipeline 是一个强大的资产管道,能够自动收集、转换和压缩/最小化你的 Jekyll 站点的 JavaScript 和 CSS 资产。它没有任何增量依赖,除了 Jekyll 本身所需的依赖。
项目快速启动
安装 Jekyll Asset Pipeline
-
通过 Rubygems 安装
jekyll_asset_pipeline
gem:$ gem install jekyll_asset_pipeline
-
如果你使用 Bundler 管理项目 gem,只需将
jekyll_asset_pipeline
添加到你的 Gemfile 并运行bundle install
:gem 'jekyll_asset_pipeline'
-
在你的项目中添加一个
_plugins
文件夹(如果没有的话)。在_plugins
文件夹中添加一个名为jekyll_asset_pipeline.rb
的文件,内容如下:require 'jekyll_asset_pipeline'
-
将你的资产移动到一个 Jekyll 忽略的文件夹(即以
_
开头的文件夹),这样 Jekyll 就不会包含这些原始资产。
配置资产压缩
在 jekyll_asset_pipeline.rb
文件中添加以下代码以使用 Yahoo 的 YUI Compressor 压缩 CSS 和 JavaScript 资产:
module JekyllAssetPipeline
class CssCompressor < JekyllAssetPipeline::Compressor
require 'yui/compressor'
def self.compress(content)
compressor = YUI::CssCompressor.new
compressor.compress(content)
end
end
class JsCompressor < JekyllAssetPipeline::Compressor
require 'yui/compressor'
def self.compress(content)
compressor = YUI::JavaScriptCompressor.new
compressor.compress(content)
end
end
end
应用案例和最佳实践
处理远程资产
目前,Jekyll Asset Pipeline 不提供任何方法来包含远程资产,除非你先将它们保存到本地。Moshen 的 Jekyll Asset Bundler 允许你包含远程资产,这是一个有趣的解决方案。然而,通常更好的做法是保持远程资产分离,以便它们可以异步加载。
最佳实践
- 始终使用压缩功能来减少资产大小,提高站点速度。
- 将资产存储在 Jekyll 忽略的文件夹中,以避免原始资产被包含在生成的站点中。
典型生态项目
Octopress
Octopress 是一个流行的 Jekyll 框架,可以帮助你快速搭建博客。Jekyll Asset Pipeline 可以添加到 Octopress 站点中,只需按照以下步骤:
- 将
gem 'jekyll_asset_pipeline'
添加到你的 Gemfile 并运行bundle install
。 - 将
jekyll_asset_pipeline.rb
文件放入 Octopress 站点根目录中的plugins
文件夹。 - 将你的资产存储在一个 Jekyll 忽略的文件夹中。
通过这些步骤,你可以在 Octopress 站点中使用 Jekyll Asset Pipeline 来管理你的资产。