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
// preset option name: blog
// plugin name: @docusaurus/plugin-content-blog
// Preset Options: blog
// Plugin Options: @docusaurus/plugin-content-blog
const config = {
path: 'blog',

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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