fix(website): fix config-tabs breaking after translation (#6275)

* fix(website): fix config-tabs breaking after translation

* more robust
This commit is contained in:
Joshua Chen 2022-01-06 19:31:58 +08:00 committed by GitHub
parent eade41a702
commit a03788374e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 31 additions and 19 deletions

View file

@ -111,8 +111,8 @@ Most Docusaurus users configure this plugin through the preset options.
::: :::
```js config-tabs ```js config-tabs
// preset option name: blog // Preset Options: blog
// plugin name: @docusaurus/plugin-content-blog // Plugin Options: @docusaurus/plugin-content-blog
const config = { const config = {
path: 'blog', path: 'blog',

View file

@ -114,8 +114,8 @@ Most Docusaurus users configure this plugin through the preset options.
::: :::
```js config-tabs ```js config-tabs
// preset option name: docs // Preset Options: docs
// plugin name: @docusaurus/plugin-content-docs // Plugin Options: @docusaurus/plugin-content-docs
const config = { const config = {
path: 'docs', path: 'docs',

View file

@ -54,8 +54,8 @@ Most Docusaurus users configure this plugin through the preset options.
::: :::
```js config-tabs ```js config-tabs
// preset option name: pages // Preset Options: pages
// plugin name: @docusaurus/plugin-content-pages // Plugin Options: @docusaurus/plugin-content-pages
const config = { const config = {
path: 'src/pages', path: 'src/pages',

View file

@ -53,8 +53,8 @@ Most Docusaurus users configure this plugin through the preset options.
::: :::
```js config-tabs ```js config-tabs
// preset option name: googleAnalytics // Preset Options: googleAnalytics
// plugin name: @docusaurus/plugin-google-analytics // Plugin Options: @docusaurus/plugin-google-analytics
const config = { const config = {
trackingID: 'UA-141789564-1', trackingID: 'UA-141789564-1',

View file

@ -59,8 +59,8 @@ Most Docusaurus users configure this plugin through the preset options.
::: :::
```js config-tabs ```js config-tabs
// preset option name: gtag // Preset Options: gtag
// plugin name: @docusaurus/plugin-google-gtag // Plugin Options: @docusaurus/plugin-google-gtag
const config = { const config = {
trackingID: '141789564', trackingID: '141789564',

View file

@ -62,8 +62,8 @@ Most Docusaurus users configure this plugin through the preset options.
::: :::
```js config-tabs ```js config-tabs
// preset option name: sitemap // Preset Options: sitemap
// plugin name: @docusaurus/plugin-sitemap // Plugin Options: @docusaurus/plugin-sitemap
const config = { const config = {
changefreq: 'weekly', changefreq: 'weekly',

View file

@ -27,13 +27,25 @@ const plugin = () => {
const {value} = node; const {value} = node;
const [presetMeta, pluginMeta] = value.split('\n'); const [presetMeta, pluginMeta] = value.split('\n');
const { const {
groups: {presetOptionName}, groups: {presetOptionName, presetOptionText},
} = presetMeta.match( } = presetMeta.match(
/preset option name: (?<presetOptionName>[A-Za-z]+)/i, /(?<presetOptionText>.*?): (?<presetOptionName>[A-Za-z]+)/i,
); ) ?? {
groups: {
presetOptionName: '[translation failure]',
presetOptionText: 'Preset Options',
},
};
const { const {
groups: {pluginName}, groups: {pluginName, pluginText},
} = pluginMeta.match(/plugin name: (?<pluginName>[A-Za-z@/-]+)/i); } = pluginMeta.match(
/(?<pluginText>.*?): (?<pluginName>[A-Za-z@/-]+)/i,
) ?? {
groups: {
pluginName: '[translation failure]',
pluginText: 'Plugin Options',
},
};
// Replace leading "const config = " and trailing semi // Replace leading "const config = " and trailing semi
const config = value const config = value
.replace(presetMeta, '') .replace(presetMeta, '')
@ -46,7 +58,7 @@ const plugin = () => {
const newNodes = [ const newNodes = [
{ {
type: 'jsx', type: 'jsx',
value: `<Tabs>\n<TabItem value="Preset Options">`, value: `<Tabs>\n<TabItem value="${presetOptionText}">`,
}, },
{ {
type: 'paragraph', type: 'paragraph',
@ -97,7 +109,7 @@ const plugin = () => {
}, },
{ {
type: 'jsx', type: 'jsx',
value: '</TabItem>\n<TabItem value="Plugin Options">', value: `</TabItem>\n<TabItem value="${pluginText}">`,
}, },
{ {
type: 'paragraph', type: 'paragraph',