как получить markdown из удаленного репозитория git в Gatsby?

#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 файла, как его настроить. Я борюсь с этим часами, и я близок к тому, чтобы сдаться.