首页 > 解决方案 > 使用netlify cms创建博客时如何在markdown文件中动态获取slug?

问题描述

我正在尝试使用 netlify cms 创建博客。这是我的 config.yml 文件。

backend:
  name: git-gateway
  branch: main

media_folder: static/img
public_folder: /img

collections:
  - name: "blog" # Used in routes, e.g., /admin/collections/blog
    label: "Blog" # Used in the UI
    folder: "content/blog" # The path to the folder where the documents are stored
    create: true # Allow users to create new documents in this collection
    slug: "{{year}}-{{month}}-{{day}}-{{slug}}" # Filename template, e.g., YYYY-MM-DD-title.md
    fields: # The fields for each document, usually in front matter
      - { label: "Title", name: "title", widget: "string" }
      - { label: "Publish Date", name: "date", widget: "datetime" }
      - { label: "Featured Image", name: "thumbnail", widget: "image" }
      - { label: "Body", name: "body", widget: "markdown" }

这是我在创建博客后得到的一个降价文件。

---
title: This is test blog.
date: 2021-06-14T11:30:36.600Z
thumbnail: /img/new-4.jpg
---
Hi, this is my first demo blog.

文件名是2021-06-12-this-is-test-blog.md

我希望这个文件名作为 markdown 文件中的一个 slug,如下所示。

---
title: This is test blog.
date: 2021-06-14T11:30:36.600Z
thumbnail: /img/new-4.jpg
slug: 2021-06-12-this-is-test-blog
---
Hi, this is my first demo blog.

我也尝试将此代码添加到配置文件中,但它不起作用,它只是给了我一个名为 slug 的字段。

- { name: slug, label: Slug, required: true, widget: string }

有什么办法可以得到想要的结果吗?

标签: node.jsreactjsgatsbynetlifynetlify-cms

解决方案


推荐阅读