我正在使用 Github Pages 和 Hugo (proquestionasker.github.io) 创建一个网站。目前,当我在 RMarkdown 中创建项目文件或博客文章时,我必须将它们转换为 Markdown (.md) 文件,然后 Hugo/Github 才能读取它们。blogdown包似乎非常适合我的需求,但我无法让它工作。
我已经下载了 Hugo 和 blogdown。我的步骤目前如下(在项目目录中作为我的工作目录工作):
(在 R 工作室)
# Create new file in the "content/portfolio" folder
blogdown::new_content("portfolio/new.Rmd", format = "yaml")
这会在我期望的文件夹中创建一个新的 .Rmd 文档。标题写道:
---
date: 2016-12-15T16:02:46-08:00
draft: true
image: "img/portfolio/map.png"
showonlyimage: false
title: test
---
我继续将 R 内容添加到文件中,就像处理任何 R 文档一样。我保存文件。此时,我只是想在将更改推送到 Github 之前测试一下 Hugo 是否可以解释这个文件,所以在 R 中:
# Build Site
blogdown::build_site()
我收到了我期望从 Hugo 那里得到的正常的“网站建设”反馈。当我查看 public/portfolio 文件夹时,我看到一个“new.Rmd”。到目前为止,一切都很好。
实际查看该站点时会出现问题。我尝试以“正常”的 Hugo 方式预览该网站:
# In terminal window
hugo server
然后在我的浏览器窗口中启动http://localhost:1313/ 。我的作品集显示在主页上,所有.md格式的文件都显示了,但new.Rmd没有。
我认为这可能是一个问题,因为hugo server
似乎仍在使用 hugo 构建站点,而不是 blogdown。所以我绕过了网站的预览,直接将更改提交到 GitHub。
我的站点设置方式是主分支(包含“公共”文件夹中的所有站点构建项目)作为“源”分支的子树。我按照正常的更新流程进行了更新(如下所示并受到这篇文章的启发),但我没有使用 hugo 构建站点,而是使用 blogdown 构建站点。过程如下:
# In terminal window - Adding new documents
git add -A
git commit -am "Adding new blogdown documents"
git push
# Pulling down the master branch into 'public' to help avoid merge conflicts
git subtree pull --prefix=public \
git@github.com:ProQuestionAsker/ProQuestionAsker.github.io.git master -m "Merge origin master"
# In RStudio - Build website using blogdown
build_site()
# In terminal window - Pushing the updated 'public' folder to the 'sources' branch
git add public
git commit -m "Pushing updated public folder to source branch"
git push origin "sources"
# Pushing the updated 'public' folder to the 'master' branch
git subtree push --prefix public
git@github.com:ProQuestionAsker/ProQuestionAsker.github.io.git master
这些文件都出现在我的 GitHub 库中,正如我所期望的那样,但 Hugo 似乎没有呈现除 .md 文档之外的任何内容。这些都按预期显示在网站上。我不确定这是 Hugo 问题还是 Blogdown 问题,但我似乎无法让它工作。
任何帮助将非常感激!