1

我有一个带有 Jekyll 博客的 Rails 站点,使用Bloggy gem。

我想对主站点和博客进行类似的外观,所以我想在 app/assets/stylesheets 中使用 css,但这些文件是 css.scss 格式。Jekyll(在博客设置中)在 config/jekyll/css 中查找 css,并且似乎只需要 .css 文件;将 Rails css 目录符号链接到 Jekyll 层次结构似乎不起作用。

有没有办法利用资产管道,以便当我运行 jekyll:build 时,Rails 应用程序中的 SCSS 文件被制作成 CSS 文件,放置在适当的 jekyll 目录中,并与最新的 Jekyll 构建捆绑在一起。 /public/blog 文件夹?

谢谢!

4

2 回答 2

1

最终通过以下方式解决了这个问题:

  • 使用jekyll-sass gem 允许将 Rails 应用程序的 .css.scss 自动转换为 .css.css 文件。通过将 Rails app/assets/stylesheets 目录符号链接到 Bloggy 的 config/jekyll/css 中,这会将内容正确但扩展名错误的文件放在正确的位置。
  • 编写 rake 任务以将 .css.css 文件转换为 .css 文件。

    desc 'Make .css.css files into .css files'
    task :css_css do
         Dir.glob('public/blog/css/*.css.css').each do |file|
             puts `mv #{file} #{file.gsub(/\.css\.css$/, '.css')}`
         end
    end
    

不是最漂亮的解决方案,但它有效。

于 2013-05-29T06:12:56.530 回答
0

@Matthew ..您有一个很好的解决方案..对于这一部分,我手动做了一些事情。就像我将 config/jekyll/css 文件添加为 .css 扩展名而不是 .css.scss 一样,所以当我们为 bloggy 运行“rake generate”时,会在文件夹 public/blog/ 而不是 css.scss 上创建正确的格式文件。

我已经在我的博客作品集主题项目存储库中进行了更改。如果您打算使用我的代码版本,我已经进行了一些更改,例如添加 robots.txt、站点地图和集成引导程序到项目中。我还从 rails 项目中删除了所有数据库连接,因为它在部署到 heroku 时显示错误。

于 2015-01-04T15:26:57.730 回答