跳至主要内容

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 上编辑
最后更新日期:--