由于YAML错误,Hugo无法使用GitHub Pages构建

时间:2019-02-18 01:40:41

标签: github markdown jekyll github-pages hugo

我在Github Pages上使用Hugo,每当我将网站推送到原始位置时,我都会收到以下错误消息:

  

master分支的页面构建失败,出现以下错误:   <unknown>did not find >expected key while parsing a block mapping的第2行第1列存在YAML语法错误。有关更多信息,请参见> https://help.github.com/articles/page-build-failed-invalid-yaml-in-data-file/。   有关对Jekyll进行故障排除的信息,请参阅:    https://help.github.com/articles/troubleshooting-jekyll-builds   如果您有任何疑问,可以通过回复此电子邮件与我们联系。

我该如何解决?我听说在root用户中创建一个.nojekyll文件会有所帮助,但我不知道该怎么做

我在网上尝试了一些无效的解决方案,并在根目录下创建了一个nojekyll.nojekyll文件来希望禁用Jekyll,如果那是问题所在...

2 个答案:

答案 0 :(得分:1)

使用.nojekyll告诉Github不要使用Jekyll处理文件,因此,在构建网站后,只需将.nojekyll文件放在gh-page的根目录或{ {1}}文件夹。

例如,将Hugo生成的所有文件移动到docs文件夹中,然后将docs空文件放在.nojekyll中。然后选择/docs文件夹作为Github页面文件的容器,Github将为这些文件提供服务。

如果您想观看现场示例,我正在主题https://github.com/marcanuy/simpleit-hugo-theme中使用该方法,并且效果很好,可以使用以下 {{ 3}} 配方自动完成:

docs

您可以在https://marcanuy.github.io/simpleit-hugo-theme/的更多信息中阅读更多内容。

答案 1 :(得分:0)

我也碰巧遇到了这个问题!我认为最简单的解决方案是:

  1. 将您的源代码放入一个分支,例如来源
  2. 仅在master分支上部署您的站点。

在此处查看如何使用hugo的github动作模板进行设置:https://github.com/peaceiris/actions-gh-pages

这是我的gh-pages.yaml

  1. 设置源分支
    name: Publish Site
    on: 
    push:
        branches:
        - source  # default branch
    
  2. 设置publish_branch: master或不起作用
    - name: Deploy
        uses: peaceiris/actions-gh-pages@v3
        with:
            deploy_key: ${{ secrets.SSH_DEPLOY_KEY }}
            publish_dir: ./public
            publish_branch: master  # deploying branch