跳至主要內容

Command Palette

Search for a command to run...

如何使用 Next.js 和 MDX 建立部落格

撰寫者
Nelson Lai 的頭像
Nelson Lai
發佈日期
--
瀏覽次數
--
評論
--
如何使用 Next.js 和 MDX 建立部落格

前言

將使用的套件:

本教學的程式碼庫:

https://github.com/nelsonlaidev/nextjs-mdx-blog

範例

線上範例

如何建立部落格

首先,我們使用以下指令建立 Next.js 專案:

Terminal

接著,建立以下檔案:

  • components/layout.jsx - 將所有組件包裝在容器中(可選,用於樣式)
  • data/blog/*.mdx - 部落格文章
  • lib/format-date.js - 將日期格式化為 MM DD, YYYY
  • pages/blog/[slug].jsx - 文章頁面,使用 動態路由

Tree View

components
layout.jsx
data
blog
markdown.mdx
nextjs.mdx
react.mdx
lib
format-date.js
mdx.js
pages
blog
[slug].jsx

如何處理 Markdown 檔案

首先建立變數 const root,其值為根目錄,process.cwd() 方法返回當前 Node.js 進程的工作目錄。

JavaScript
lib/mdx.js

接著定義變數 POSTS_PATH,用於儲存文章檔案的路徑。

JavaScript
lib/mdx.js

使用 fs 讀取該目錄下的內容,即 data/blog 下的所有檔案名。

JavaScript
lib/mdx.js

然後撰寫一個函數移除檔案副檔名,稍後會用到。

JavaScript
lib/mdx.js

接著根據 slug 獲取文章內容。

JavaScript
lib/mdx.js

接下來可以獲取所有文章,以顯示在首頁。

JavaScript
lib/mdx.js

格式化日期

JavaScript
lib/format-date.js

首頁

React
pages/index.jsx

文章頁面

React
pages/[slug].jsx

這樣,一個簡單的部落格就完成了。

相關連結

在 GitHub 上編輯
最後更新日期:--