#git #gatsby
#git #gatsby
Вопрос:
На веб-сайте Gatsby, над которым я работаю, есть свои записи в блоге в content/posts
каталоге. Раньше я gatsby-source-filesystem
получал доступ к этим файлам и превращал их в страницы.
//gatsby-config.js
{
resolve: `gatsby-source-filesystem`,
options: {
path: `${post_dir}/content/posts/`,
name: "posts"
}
},
Вот мой gatsby-node.js .
//gatsby-node.js
exports.onCreateNode = ({ node, getNode, boundActionCreators }) => {
const { createNodeField } = boundActionCreators;
if (node.internal.type === `MarkdownRemark`) {
const slug = createFilePath({ node, getNode, basePath: `pages` });
const separtorIndex = ~slug.indexOf("--") ? slug.indexOf("--") : 0;
const shortSlugStart = separtorIndex ? separtorIndex 2 : 0;
createNodeField({
node,
name: `slug`,
value: `${separtorIndex ? "/" : ""}${slug.substring(shortSlugStart)}`
});
createNodeField({
node,
name: `prefix`,
value: separtorIndex ? slug.substring(1, separtorIndex) : ""
});
}
};
В этом проекте я использую gatsby-starter-personal-blog starter.
Теперь я хочу переместить content/posts
каталог в отдельный репозиторий, где я могу сделать его общедоступным, чтобы другие люди могли редактировать их и отправлять запросы на извлечение.
Согласно gatsby-source-filesystem
документам, я думаю createRemoteFileNode
, что для достижения этой цели можно использовать метод. Я пытался его использовать, но для создания узла с использованием необходимо передать в функцию несколько параметров createRemoteFileNode
. Я изо всех сил пытаюсь использовать его в своем контексте. Я очень новичок Gatsby
, может кто-нибудь помочь мне разобраться в этом? Заранее благодарю.
Комментарии:
1. Этот плагин, похоже, делает то, что вы описываете: gatsby-source-github . Возможно, вы можете увидеть его источник для вдохновения?
2. Спасибо, @Дерек, я так и сделаю.
Ответ №1:
У меня только что был большой успех с gatsby-source-git. Пробовал gatsby-source-github, но пока он работал, я получал некоторые неясные ошибки. Хотя последний будет извлекаться из частного репозитория, если я не ошибаюсь.
Комментарии:
1. Я проверю это. Спасибо за ответ
Ответ №2:
К сожалению, документация для gatsby-source-git
плохо написана. код из gatsby-source-filesystem
не будет работать, потому что этот плагин предоставляет несколько вспомогательных функций, например, createFilePath, и gatsby-source-git
не имеет этого, и чтобы добавить что-то в микс, по-видимому, никто в Интернете не использует его, потому что нет примера кода для gatsby-node.js
файла, как его настроить. Я борюсь с этим часами, и я близок к тому, чтобы сдаться.