Я работаю над созданием бизнес-сайта для друга, используя Gasby JS и NetlifyCMS для контента. Я сталкиваюсь с небольшой проблемой, определяющей, как использовать CMS для поддержки информации в формате Markdown, которая не структурирована, как запись в блоге, поскольку именно здесь работают многие учебные руководства.
Моя конфигурация Netlify CMS выглядит следующим образом:
backend:
name: github
repo: my/repo
media_folder: static/assets
public_folder: assets
collections:
- label: 'Pages'
name: 'pages'
files:
- label: 'Home Page'
name: 'home'
file: 'content/home.yml'
fields:
- {
label: 'Home Banner Text',
name: home-banner-text,
widget: markdown,
}
- {
label: 'Home Acting Text',
name: home-acting-text,
widget: markdown,
}
- {
label: 'Home Costume Design Text',
name: home-costume-design-text,
widget: markdown,
}
- {
label: 'Home Modeling Text',
name: home-modeling-text,
widget: markdown,
}
, который создает файл YML на C:/path/to/my/site/content/home.yml
, таким образом:
home-banner-text: 'Welcome to my site!'
home-acting-text: I **am an actor.** Click here to learn about my acting work.
home-costume-design-text: I am a costume designer. Click here to learn about my costume design work.
home-modeling-text: I am a model. Click here to learn about my modeling work.
Все это кажется довольно простым и, я думаю, логичным - у сайта будет домашняя страница с четырьмя разделами контента, и я хочу, чтобы владелец сайта мог изменять каждый из них с форматированным контентом.
Что я не могу понять, так это как преобразовать это в Гэтсби, как только он получен через gatsby-source-filesystem
. Существует пакет gatsby-transform-yaml
, но он не преобразует значения Markdown в полях YML в HTML, и хотя я нашел несколько пакетов, которые расширяют его, добавив поддержку Markdown, все они требуют какого-то префикса для любые значения Markdown (например, home-acting-text: md//I **am an actor.**
), чтобы определить, какие из них должны быть проанализированы, и я не могу придумать, как заставить Netlify CMS внедрить это.
Похоже, у меня, вероятно, будет чтобы сделать некоторые пользовательские логики c в gatsby-node.js
, но я немного растерялся, с чего начать - и это похоже на достаточно распространенный вариант использования, который мне интересно, если я что-то упустил.
Любое руководство будет оценено! :)