如何为Jekyll包含autoprefixer

时间:2015-03-21 20:01:12

标签: css ruby jekyll jekyll-extensions autoprefixer

Jekyll的新手和Ruby的新手我试图将我的(s)css文件的autoprefixer-rails直接包含到Jekyll中。因此,一旦页面由Jekyll生成,autoprefixer将运行我生成的css文件。不幸的是,我还没有设法正确设置,autoprefixer似乎甚至无法触摸我的文件。

关注我的Gemfile:

source "https://rubygems.org"

gem 'jekyll'
gem 'jekyll-assets'
gem 'autoprefixer-rails'

我的Jekyll配置文件的一部分:

...
gems: ['jekyll-assets', 'autoprefixer-rails']
...

缺少哪些设置才能使其正常工作? 任何帮助表示赞赏!

4 个答案:

答案 0 :(得分:3)

我可以通过在这里安装octopress autoprefixer与jekyll 3一起使用它: https://github.com/octopress/autoprefixer

然后你把: 配置文件中的gems: [octopress-autoprefixer]。我没有使用octopress,我只安装了这个以确定它是否可行。

在这个过程中我还安装了node.js(在个人电脑上,赢了10),所以我可以安装autoprefixer-rails。不确定octopress安装程序是否照顾了这个,我只是尝试随机的东西,看看它是否会起作用。我认为node.js是一个要求,因为我记得在重新启动之前没有任何事情发生,然后一切正常。

效果很好,虽然它确实减慢了我的构建时间 - 在一个通常在0.5秒内建立起来的小网站上它可以长达12秒。

答案 1 :(得分:1)

使用abstractjekyll-assets向Jekyll添加自动修复程序的文档已更新: https://github.com/jekyll/jekyll-assets#addons

答案 2 :(得分:1)

这完全有可能,而且也很容易!

您将在网上找到的大多数资源都建议您切换到Jekyll Assets,它带有许多默认插件,包括autoprefixer-rails。但是,这将替换整个Jekyll资产管道,并且需要在很多地方进行更改。只是为了使其正常运转而需要一笔相当高的投资。另外,该项目似乎是dormant

在继续寻找一个简单问题的简单解决方案的过程中,我遇到了jekyll-autoprefixer,可以作为Ruby Gem使用。令人尴尬的是,将其集成到我的Jekyll工作流程中很简单:

  • 更新 Gemfile 以包括以下内容:

    gem "jekyll-autoprefixer", "~> 1.0.2"
    
  • 将以下内容添加到 _config.yml

    plugins:
      - jekyll-autoprefixer
    
  • (可选)将必需的浏览器支持添加到 _config.yml (例如,对于最新的2个版本以及Edge版本14及更高版本):

    autoprefixer:
      browsers: 
        - last 2 versions
        - Edge >= 14
    

    注意:您也可以在根目录中提供一个 .browserslistrc 文件。

  • (可选)启用CSS网格布局前缀。这似乎是不安全的,并且默认情况下处于禁用状态。您可以使用control comment(例如/* autoprefixer grid: autoplace */)从CSS代码启用它,也可以通过 _config.yml 全局启用它:

    autoprefixer:
      grid: autoplace
    

这是将自动前缀添加到Jekyll中所需要的全部。

答案 3 :(得分:0)

autoprefixer-rails是一个Rails插件,它与Jekyll无关,无法在Jekyll中使用。

如果您需要Jekyll中的类似功能,那么您目前除了自己开发之外没有其他选择。您可以从Rails插件中获取部分代码,但Jekyll插件的工作方式却大不相同。