baseUrls,重定向和重写blogdown

时间:2018-03-01 13:09:39

标签: r hugo blogdown netlify

你好blogdown stackoverflow社区!

我最近将我的个人GitHub / Jekyll博客(https://blogs.nopcode.org/brainstorm)迁移到Blogdown / Netlify,但我对_redirectsconfig.toml网址路由感到困惑商业。

我已经详细阅读了官方博客和netlify documentations

以及Yihui关于good permalink hygiene

的建议

不幸的是,无论我尝试了多少明显的变化(主要是config.toml_redirects),我都无法从Jekyll成功迁移:

  1. 访问https://blogs.nopcode.org/brainstorm会导致所有博客帖子链接呈现为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 ...显然不是最理想的。
  2. 我必须在static/brainstorm/下移动主题的部分内容(js / images / css / etc ..),以便加载主题资源并找到这些网址。
  3. 以下是我博客的回购,如果您发现明显的缺陷:

    https://github.com/brainstorm/brainblog

    我试图追逐一个可接受的配置而没有太多扭曲的一系列变化:

    https://github.com/brainstorm/brainblog/commits/master

    总而言之,我发现Hugo / blogdown超级快速,RStudio Addins菜单/界面非常方便快速更改博客帖子:)

    提前多多谢谢!

1 个答案:

答案 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;
&#13;
&#13;