文章

文章

文章設定

在 Stack 文章的 Front Matter 設定檔案會長的像這樣

---
# 標題
title: Chinese Test 中文測試

# 文章描述
description: Subtitle

# 發布日期
date: 2021-05-19T08:50:29+08:00

# 最後修改日期
lastmod: 2021-05-20T08:50:29+08:00

# 是否是草稿
draft: false

# 文章網址
slug: test-chinese

# 文章網址別名
aliases:
 - test-chinese-previous
 - test-chinese-redirect

# 標籤 (設定方式 1)
tags: ["Blog", "部落格"]

# 標籤 (設定方式 2)
tags:
  - Blog
  - 部落格

# 類別(設定方式 1)
categories: ["Blog", "部落格"]

# 類別 (設定方式 2)
categories:
  - Blog
  - 部落格

# 文章封面圖片
image: "cover.jpg"
---

文章網址

在各個文章的網址是預設抓標題,然後空白加入 - 去當作此文章的網址

# 標題
title: Chinese Test 中文測試

所以上方的文章網址會變成 /p/chinese-test-中文測試/

文章網址客製化

若不想要用標題當作文章網址,可以設定 slug 設定自訂的文章網址

# 文章網址
slug: test-chinese

所以上方的文章網址會變成 /p/test-chinese/

文章網址別名

也可以設定文章網址別名,當文章連結到別名時,則會重新導向到設定的文章網址

# 文章網址
slug: test-chinese
# 文章網址別名
aliases:
 - test-chinese-previous
 - test-chinese-redirect

所以上方的文章別名為 /p/test-chinese-previous//p/test-chinese-redirect/ 都會重新導向到 /p/test-chinese/,所以當文章網址有做異動時,可以設定別名,重新導向到新的文章網址,可以避免就文章網址失聯

文章別名重新導向邏輯

別名可以輸入完整的別名,若文章網址從目前的結構有做異動時,像是在 config.yamlpermalinks.post 的文章網址格式從 /p/:slug/ 改為 /p/:year:month-:slug/ 加入年月,像是

# config.yaml
permalinks:
    # 文章網址格式
    post: /p/:slug/

修改後為

# config.yaml
permalinks:
    # 文章網址格式
    post: /p/:year:month-:slug/

而文章網址別名設定為

# 文章網址
slug: test-chinese
# 文章網址別名
aliases:
 - test-chinese-previous
 - test-chinese-redirect

這樣網址輸入 /p/test-chinese-redirect 就會被重新導向至 /p/202105-test-chinese

但若前方的 /p/ 文章網址前綴有做修改時,就沒辦法正確的重新導向

# config.yaml
permalinks:
    # 文章網址格式
    post: /p/:slug/

修改後為

# config.yaml
permalinks:
    # 文章網址格式
    post: /article/:slug/

這樣修改的話文章的網址前綴從 /p/ 修改為 /article/,這樣是無法正常完成重新導向的

文章封面圖片

文章檔案的結構像是

- content
  - post
    - my-article
      - index.md
      - cover.jpg

所以可以將文章相關的資源像是封面圖片放在目錄中,這樣在設定 image 參數時,就會去讀取該圖片當作封面的圖片

# 文章封面圖片
image: "cover.jpg"

文章檔案結構與別名關係

文章檔案是放在 content > post > my-article > index.md 下方

- content
  - post
    - my-article
      - index.md
      - cover.jpg

但因為網址從 post 改成了 article,這邊如果想要變更文章檔案放置的目錄,路徑換成 content > article > my-article > index.md 的話則網址 permalinks 絕對路徑的設定也要一併做修正

- content
  - article
    - my-article
      - index.md
      - cover.jpg

網址 permalinks.post 會需要變更為 permalinks.article ,這樣才可以正常吃到路徑的設定

permalinks:
    # 文章網址格式
    article: /article/:year:month-:slug/
    page: /:slug/

第二個參數指的是在 content 目錄下的資料夾,所以 permalinks.article 指的的就 content > article 目錄,而permalinks.page 指的的就 content > page 目錄

參考資料