feat(v2): new docs edit options: editCurrentVersion + editLocalizedDocs (#3949)

* editCurrentVersion initial poc

* ensure edit url allows to edit localized docs

* Add editLocalizedDocs option

* keep editing current version in dev (more convenient)
This commit is contained in:
Sébastien Lorber 2020-12-28 10:25:47 +01:00 committed by GitHub
parent 2791ccc4cf
commit b5c46bd1d9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 394 additions and 59 deletions

View file

@ -381,6 +381,107 @@ describe('versioned site, pluginId=default', () => {
]);
});
test('readVersionsMetadata versioned site with editUrl', async () => {
const {
defaultOptions,
defaultContext,
vCurrent,
v101,
v100,
vwithSlugs,
} = await loadSite();
const versionsMetadata = readVersionsMetadata({
options: {
...defaultOptions,
editUrl: 'https://github.com/facebook/docusaurus/edit/master/website/',
},
context: defaultContext,
});
expect(versionsMetadata).toEqual([
{
...vCurrent,
versionEditUrl:
'https://github.com/facebook/docusaurus/edit/master/website/docs',
versionEditUrlLocalized:
'https://github.com/facebook/docusaurus/edit/master/website/i18n/en/docusaurus-plugin-content-docs/current',
},
{
...v101,
versionEditUrl:
'https://github.com/facebook/docusaurus/edit/master/website/versioned_docs/version-1.0.1',
versionEditUrlLocalized:
'https://github.com/facebook/docusaurus/edit/master/website/i18n/en/docusaurus-plugin-content-docs/version-1.0.1',
},
{
...v100,
versionEditUrl:
'https://github.com/facebook/docusaurus/edit/master/website/versioned_docs/version-1.0.0',
versionEditUrlLocalized:
'https://github.com/facebook/docusaurus/edit/master/website/i18n/en/docusaurus-plugin-content-docs/version-1.0.0',
},
{
...vwithSlugs,
versionEditUrl:
'https://github.com/facebook/docusaurus/edit/master/website/versioned_docs/version-withSlugs',
versionEditUrlLocalized:
'https://github.com/facebook/docusaurus/edit/master/website/i18n/en/docusaurus-plugin-content-docs/version-withSlugs',
},
]);
});
test('readVersionsMetadata versioned site with editUrl and editCurrentVersion=true', async () => {
const {
defaultOptions,
defaultContext,
vCurrent,
v101,
v100,
vwithSlugs,
} = await loadSite();
const versionsMetadata = readVersionsMetadata({
options: {
...defaultOptions,
editUrl: 'https://github.com/facebook/docusaurus/edit/master/website/',
editCurrentVersion: true,
},
context: defaultContext,
});
expect(versionsMetadata).toEqual([
{
...vCurrent,
versionEditUrl:
'https://github.com/facebook/docusaurus/edit/master/website/docs',
versionEditUrlLocalized:
'https://github.com/facebook/docusaurus/edit/master/website/i18n/en/docusaurus-plugin-content-docs/current',
},
{
...v101,
versionEditUrl:
'https://github.com/facebook/docusaurus/edit/master/website/docs',
versionEditUrlLocalized:
'https://github.com/facebook/docusaurus/edit/master/website/i18n/en/docusaurus-plugin-content-docs/current',
},
{
...v100,
versionEditUrl:
'https://github.com/facebook/docusaurus/edit/master/website/docs',
versionEditUrlLocalized:
'https://github.com/facebook/docusaurus/edit/master/website/i18n/en/docusaurus-plugin-content-docs/current',
},
{
...vwithSlugs,
versionEditUrl:
'https://github.com/facebook/docusaurus/edit/master/website/docs',
versionEditUrlLocalized:
'https://github.com/facebook/docusaurus/edit/master/website/i18n/en/docusaurus-plugin-content-docs/current',
},
]);
});
test('readVersionsMetadata versioned site with onlyIncludeVersions option', async () => {
const {defaultOptions, defaultContext, v101, vwithSlugs} = await loadSite();