VisualSVN и библиотеки классов не в рабочем корне копии

Я нашел решение, которое я считаю взломанным. Frontmatter может быть переопределен во время создания узла onCreateNode путем обновления узла, прежде чем он будет передан в массив узлов. Я использую массив postNodes (глобальный массив для контекста узла Гэтсби) для создания страниц моего блога.

createNodeField({ node, name: "slug", value: slug })
node.frontmatter.title = _.startCase(_.toLower(node.frontmatter.title))
postNodes.push(node)

Затем, когда создаются страницы сообщений exports.createPages, используются postNodes, которые имеют обновленные значения.

    let idx = 0;
    postNodes.map(node => {
      let previous = idx - 1 < 0 ? postNodes[postNodes.length - 1] : postNodes[idx - 1]
      let next = idx + 1 >= postNodes.length ? postNodes[0] : postNodes[idx + 1]

      createPage({
        path: node.fields.slug,
        component: postPage,
        context: {
          slug: node.fields.slug,
          prev: previous.fields.slug,
          next: next.fields.slug
        }
      })
      idx += 1;
    })

Примечание Предыдущая и следующая не работали на момент написания этого кода, поэтому его необходимо пересмотреть.

7
задан Ted 1 October 2008 в 23:47
поделиться

1 ответ

Найденный лучшими ответами здесь:

Ссылочные проекты

Иногда полезно создать рабочую копию, которая сделана из многого различного контроля. Например, можно хотеть, чтобы различные подкаталоги прибыли из различных местоположений в репозитории, или возможно из различных репозиториев в целом. Если Вы хотите, чтобы у каждого пользователя было то же расположение, можно определить svn:externals свойства.

И здесь:

Включайте общий подпроект

Иногда Вы будете хотеть включать другой проект в рамках своей рабочей копии, возможно, некоторого кода библиотеки. Вы не хотите делать дубликат этого кода в Вашем репозитории, потому что затем Вы потеряли бы соединение с оригиналом (и сохраняемый) код. Или возможно у Вас есть несколько проектов, которые совместно используют базовый код. Существует по крайней мере 3 способа иметь дело с этим.

4
ответ дан 7 December 2019 в 10:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: