На сайте 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
Может кто-нибудь помочь мне разобраться в этом? Заранее спасибо.