kuizuo / blog

A Blog on Customizing Docusaurus
https://kuizuo.cn
MIT License
231 stars 141 forks source link

无法生成markdown front matter #203

Closed liuzw-cyy closed 1 year ago

liuzw-cyy commented 1 year ago

您好!我参考了您的博客,但是在修改的时候,新建markdown文件时无法自动生成markdown front matter,请问一下这是什么原因

kuizuo commented 1 year ago

你要确保你的 markdown 文件的 前言元数据字段 如下:

---
title: Welcome Docusaurus v2
authors:
  - slorber
  - yangshun
  - name: Joel Marcey
    title: Co-creator of Docusaurus 1
    url: https://github.com/JoelMarcey
    image_url: https://github.com/JoelMarcey.png
tags: [hello, docusaurus-v2]
description: This is my first post on Docusaurus 2.
image: https://i.imgur.com/mErPwqL.png
hide_table_of_contents: false
---

不过由于你提供的信息较少,我并不知道你是创建博客还是文档,而没有自动生成 markdown front matter,如果可以的话,提供相关代码与截图。

liuzw-cyy commented 1 year ago

当我在本地启动项目时,在docs文件夹下面新建一个markdown文档,我想要它自动生成markdown front matter,而不是手动配置,应该怎么做。在项目中我没有找到此配置方法前言元数据字段

kuizuo commented 1 year ago

当你在 docs 下创建 markdown 文件时,并不是直接显示在页面上,你需要配置 侧边栏文件sidebars.js,手动地将文件按照 侧边栏对象 的格式添加上去。

你如果想要在自动在页面生成 markdown,你的侧边栏对象可以这么设置

    {
      label: 'xxx',
      type: 'category',
      link: {
        type: 'generated-index',
      },
      items: [
        {
          type: 'autogenerated',
          dirName: 'skill/xxx', // docs 的 目录位置
        },
      ],
    },

这样存放在 skill/xxx 目录下的 markdown 文件将会自动生成对应的文档页面,不过这样你就不可控制这个目录下的 所有 markdown 所对应左侧侧边栏的排序。

liuzw-cyy commented 1 year ago

我可能没有说清楚,我想在docs或者blog文件夹下面新建md文件的时候,在每一个md文件开头自动加上类似这样的front matter,而不是手动去添加,这应该怎么配置

image
kuizuo commented 1 year ago

这个的话官方应该是没有提供相关命令为你生成带有 前言元数据的 markdown 文件,因为大部分前言元数据字段是需要用户自己定义。如果你觉得每次手动新建md文件的时候,都需要复制粘贴前言元数据字段的话,你可以使用一些模板生成器,如 hygen

有关模板生成器的部分,这里就不做过多介绍了。我想你应该就是要通过一行命令的形式为你生成这些前言元数据字段(如根据当前时间自动生成date)。