构建后不需要的_posts结构

时间:2018-07-01 11:38:58

标签: jekyll github-pages

我的存储库中有当前结构:

./_posts/2018-07-01-A-Post.md
./_posts/2018-07-01-Another-Post.md
./modules/A_Module/_posts/2018-07-01-A-Third-Post.md

以上所有文件都具有这一先决条件:

---
layout:     article
permalink:  /article/:categories/:title
title:      A Post
date:       2018-07-01 12:00:00
categories: Announcement
thumbnail:  
author:     lipkau
tags:
 - Release
---

./modules/A_Module是一个加载了.gitmodules的子模块,并且在该存储库中维护了“第三篇文章”。

我想要这样做,并因此得到的期望是,所有帖子的显示方式都完全相同。但是事实证明我错了。这是./_site中的结果:

./_site/article/announcement/A-Post.html
./_site/article/announcement/Another-Post.html           <--- all good so far
./_site/modules/A_Module/announcement/A-Thrid-Post.html  <--- why did this happen?

这是我的修订版 _config.yml

# Website settings
title: AtlassianPS
description: A PowerShell community for Atlassian products
keywords: Atlassian,AtlassianPS,jira,confluence,bitbucket,hipchat,jiraps,confluenceps,bitbucketps,hipchatps,github,gh-pages
baseurl: ""
url: "https://atlassianps.org"

# analytics
## google analytics
ga: UA-XXXXXXXX-1

# Build settings
encoding: utf-8

# other settings
excerpt_separator: <!--more-->

markdown: kramdown

kramdown:
  input: GFM
  hard_wrap: false
  syntax_highlighter_opts:
    disable: true

这是我的.gitmodules

[submodule "modules/JiraPS"]
    path = modules/JiraPS
    url = https://github.com/AtlassianPS/JiraPS.git
    branch = master

如何更改文件,以便可以在其他存储库中维护帖子,但仍具有与其他帖子相同的结构? 我希望显示第三篇文章,而不是https://.../article/modules/A_Module/announcement/A-Third-Post,而是https://.../article/announcement/A-Third-Post

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

更新后的答案:

最快和最简单的修复方法是在文档的前题中对永久链接进行硬编码。您已经为每个文档指定了一个永久链接,因此这不应该成为障碍。但是,由于modules是一个自定义集合,因此您不应使用类似: article的变量,而应像这样对它进行硬编码:

permalink: /article/announcement/A-post

尽管您可以在永久链接中使用: categories变量,但是您仍然不应该这样做,因为它可以是数组,而不总是字符串。

或(如果不使用URL重写,则:

permalink: /article/announcement/A-post.html