使用Bloggy gem的Rails站点中的Jekyll博客:如何在每个构建中使用Rails css作为博客?

时间:2013-05-23 18:10:17

标签: ruby-on-rails blogs jekyll

我使用Bloggy gem创建了一个包含Jekyll博客的Rails网站。

我想对主站点和博客进行类似的查看,所以我想在app / assets / stylesheets中使用css,但这些文件采用css.scss格式。 Jekyll(在Bloggy设置中)在config / jekyll / css中查找css,似乎只想要.css文件;将Rails css目录符号化为Jekyll层次结构似乎无法正常工作。

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

谢谢!

2 个答案:

答案 0 :(得分: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
    

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

答案 1 :(得分:0)

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

我在bloggy portfolio theme project存储库中进行了更改。如果您打算使用我的代码版本,我已经做了一些更改,例如将robots.txt,sitemap和集成引导程序添加到项目中。我还从rails项目中删除了所有数据库连接,因为它在部署到heroku时显示错误。