你好blogdown stackoverflow社区!
我最近将我的个人GitHub / Jekyll博客(https://blogs.nopcode.org/brainstorm)迁移到Blogdown / Netlify,但我对_redirects
和config.toml
网址路由感到困惑商业。
我已经详细阅读了官方博客和netlify documentations。
以及Yihui关于good permalink hygiene
的建议不幸的是,无论我尝试了多少明显的变化(主要是config.toml
和_redirects
),我都无法从Jekyll成功迁移:
https://blogs.nopcode.org/brainstorm/brainstorm/2017-09-01-blogpost-etc
(网址中只有两个brainstorm
而不是一个)。我希望我的所有博文都链接到https://blogs.nopcode.org/brainstorm/2017-09-01-blogpost-etc
(只有一个头脑风暴)。现在我正在进行网址重写,以便当用户点击其中一个brainstorm/brainstorm
链接时,它会被重写为brainstorm
...显然不是最理想的。static/brainstorm/
下移动主题的部分内容(js / images / css / etc ..),以便加载主题资源并找到这些网址。以下是我博客的回购,如果您发现明显的缺陷:
https://github.com/brainstorm/brainblog
我试图追逐一个可接受的配置而没有太多扭曲的一系列变化:
https://github.com/brainstorm/brainblog/commits/master
总而言之,我发现Hugo / blogdown超级快速,RStudio Addins菜单/界面非常方便快速更改博客帖子:)
提前多多谢谢!
答案 0 :(得分:1)
此处的问题已创建,因为brainstorm
处的帖子有相对路径,您将基本网址设置为https://blogs.nopcode.org/brainstorm
Hugo将根据主题配置构建baseURL
的相对路径,Netlify将发布相对于站点根目录的公共目录。
Hugo Server在brainstorm/brainstorm
本地向您显示正确的链接,因为它根据baseURL配置路径。
Netlify路径来自已发布站点的根目录,并且不知道Hugo配置。在Netlify上,帖子的路径位于/brainstorm
。
为您网站的主页创建一个布局,以创建一个列表,就像主题为一个部分所做的那样。
将所有帖子放入内容根目录并删除brainstorm
文件夹
public/brainstorm
hugo -d public/brainstorm
将Hugo构建为netlify.toml
在_index.md
文件夹的根目录下创建content
文件,其中包含您要在页面上使用的任何前端数据(如果有)。
在项目存储库的根目录下创建一个layouts/index.html
文件。
{{ partial "header.html" . }}
<main class="content" role="main">
<div class="archive">
{{ range .Data.Pages.GroupByDate "2006" }}
<h2 class="archive-title">{{ .Key }}</h2>
{{ range .Pages }}
<article class="archive-item">
<a href="{{ .RelPermalink }}" class="archive-item-link">{{ .Title }}</a>
<span class="archive-item-date">
{{ .Date.Format "2006/01/02" }}
</span>
</article>
{{ end }}
{{ end }}
</div>
</main>
{{ partial "footer.html" . }}
&#13;