2014-10-16 80 views
5

我有一個降價文件,如下所示:設置多個類別中傑基爾

--- 
title: My Page 
categories: 
- first 
- second 
--- 

在我_config.yml文件,我設置了永久鏈接/:categories/:title.html

所以,當我生成網站,永久鏈接最終是/first/second/title.html,而 我希望傑基爾會創建/first/title.html和/second/title.html

有沒有辦法做到這一點沒有自定義插件?

乾杯

+0

要澄清,您希望一個文檔被複制在幾個類別? – Max 2014-10-16 18:32:50

+0

是的。對我而言,傑基爾假定'第一'會以某種方式「包含」第二。更直觀的是,該頁面屬於「第一」和「第二」類別,並且這些類別在某些傳遞方式中不相關。 – user3653270 2014-10-16 19:56:52

回答

0

these docs,它看起來像每個化身頁只能有一個類別。 categories是一種誤稱,因爲您確實定義了「類別層次結構」 - 就像文件路徑 - 因此該帖子確實位於單個(子)類別中。在這個有限的意義上,你不能做你想要的與香草傑基爾。

但是,Jekyll將處理只坐在任何不以下劃線開頭的目錄中的文件,它遵循符號鏈接。因此,例如,如果您爲每個類別製作目錄並將您的頁面置於其中一個目錄中,則可以創建符號鏈接到任意數量的其他「類別」。

mkdir first second 
touch first/page.md 
ln -s ../first/page.md second/ 
+0

是的 - 同意類別是不恰當的,它是事實上的層級。 – user3653270 2014-10-17 20:57:14

2

最簡單的和我最好的方法是通過frontmatter定義永久鏈接。這對於搜索引擎優化也很有用。首先你通過_config.yml告訴傑奇傑奇應如何生成鏈接,如果你忘記通過frontmatter進行設置:

_config.yml

# Build settings 
permalink: /:categories/:title/ 

定義一個固定鏈接...

2014- 10-17_my_post.md

--- 
layout: post 
title: 'Post with permalink' 
permalink: /this-is-the-unique-permalink/ 
--- 

My Post 
+0

有用的信息 - 所以你可以重寫_config.yml中的永久鏈接與frontmatter在單個帖子上? – user3653270 2014-10-17 20:56:33

+0

是的,你可以。這是可能的 :) – Phlow 2014-10-19 15:42:39