Jekyll博客文件夹不能在github页面上编译,但离线工作

时间:2015-08-09 22:54:14

标签: github sass jekyll github-pages

我在myuser.github.io设置了一个github用户页面repo。我在那里建立了一个常规的html静态网站,效果很好。 (我还设置了一个带有CNAME文件和CNAME DNS记录的自定义域,以便myuser.github.io转到www.example.com)

然后我还在该回购中创建了一个/blog文件夹,然后我放入了一个jekyll博客模板。

在本地运行jekyll build servebundle exec jekyll serve没有错误。我可以发布新帖子,它们会显示在localhost:4000/blog/上。

但是当我将我的博客文件夹推送到github时,会发生以下情况:

  • 我收到来自github的电子邮件说"文件b2/css/main.scss包含语法错误。有关更多信息,请参阅 https://help.github.com/articles/page-build-failed-markdown-errors。"
  • 如果我尝试访问www.example.com/blog/index.html,我会收到404.
  • 如果我尝试使用/ blog /并且错误仍在回购中,则对我的回购进行任何新的更改(例如,更改主要标题, 非博客页面,或更改随机图像等),我推,改变 不要在网上注册(虽然他们在github.com上显示在 repo file tree)。

这意味着github由于该错误而吓坏了,并且在它被修复之前不会更新。

我怎样才能弄明白" main.scss"错误是?因为它在当地很好。 我是jekyll(和github页面)的新手,但我尽可能地遵循文档。

这是我的main.scss:

---
layout: null
# Only the main Sass file needs front matter (the dashes are enough)
#http://sassmeister.com/
---
@charset "utf-8";


// Our variables
$base-font-family: "Raleway",Arial,sans-serif;
$base-font-size:   16px;
$small-font-size:  $base-font-size * 0.875;
$base-line-height: 1.5;

$spacing-unit:     30px;

$text-color:       #111;
$background-color: #fdfdfd;
$brand-color:      #2a7ae2;

$grey-color:       #828282;
$grey-color-light: lighten($grey-color, 40%);
$grey-color-dark:  darken($grey-color, 25%);
$blue-color:       #515865;

// Width of the content area
$content-width:    800px;

$on-palm:          600px;
$on-laptop:        800px;



// Using media queries with like this:
// @include media-query($on-palm) {
//     .wrapper {
//         padding-right: $spacing-unit / 2;
//         padding-left: $spacing-unit / 2;
//     }
// }
@mixin media-query($device) {
    @media screen and (max-width: $device) {
        @content;
    }
}



// Import partials from `sass_dir` (defaults to `_sass`)
@import
        "base",
        "layout",
        "syntax-highlighting"
;

PS:这是我正在使用的jekyll博客主题:https://github.com/smallmuou/Jekyll-Pithy

1 个答案:

答案 0 :(得分:3)

Github页面是从根生成的。如果您将Jekyll放在/blog文件夹中,则不会发现_setting.yml,并且可能会混淆scss导入路径。

如果要在本地重现,则必须重新创建相同的文件夹架构并从根目录中激活jekyll serve --trace,而不是从/ blog。

解决方案是创建一个blog存储库并将你的jekyll推送到gh-pages分支。