编写文章

Meta

对于文章源属性的管理都存储在 Meta 定义中,比如排序,路径。

meta 以 yaml 格式定义在 Md 文件头部。

---
title: 开发主题
desc:
slug: theme-dev
sort: 1
---

meta 完全由主题定义,通常使用 title / desc / slug / sort 字段来定义常用属性,在主题文档能找到 meta 的定义,比如 hollow 同名主题中定义的 meta

内容

你可以使用 md 或者 mdx 语法编写内容,如果你不熟悉他们,可以查看下面这些文档:

一个例子如下:

---
title: 开发主题
desc:
slug: theme-dev
sort: 1
---

## Histories
- 2020.01.01 我诞生啦
- 2021.01.01 发布稳定版本

如果你使用 Mdx,你还可以引入其他文件、定义组件来复用逻辑:

---
title: 开发主题
desc:
slug: theme-dev
sort: 1
---

import Footer form "./footer.md"
export const Item = ({title})=> <li>{title}</li>

## Histories
<>
  {histories.map(i => <Item title={i.title}>)}
</>

<Footer/>

引用图片

在 md 文件中,你可以使用 ![](img.png) 语法来引用图片,图片文件应该也放在 content 目录下,可以和 md 文件同级,也可以放在子目录。 如下

./
└── contents/
    ├── imgs/
    │   └── img1.png
    ├── img2.png
    └── hello.md
## 引用图片
![](imgs/img1.png)
![](img2.png)

H1 or H2

按照规范 一个 Markdown 文件只应该有一个 H1,但是一些主题会自动在头部添加大标题,所以一般情况下你不应该是用 H1,而是使用 H2。

FAQ

关于 mdx

Hollow 实现了 MDX 子集,不保证行为完全一致,如果遇到任何问题,推荐回退使用 md 格式来编写文章,并在此提 Issue

自定义 ID

通常使用下面的语法来指定 Heading 的 id,但这在正宗的 mdx 语法中是不支持的,相关 Issue,但在 Hollow 中能够正常运行。

# Heading {#id}

这是因为 Hollow 实现的 Mdx 渲染器和官方实现原理不同,对于一些边缘问题的处理行为也不一致。

© 2023 Hollow's Blog - Tailwindcss + Hollow

GitHub