webdriverio/website/docusaurus.config.ts
Christian Bromann 780ae101c0
docs: auto-generated translations (#14434)
* docs: auto-generated translations

* download docs from new location
2025-04-28 21:51:58 -07:00

359 lines
14 KiB
TypeScript

import url from 'node:url'
import path from 'node:path'
import { themes } from 'prism-react-renderer'
import remark from '@docusaurus/remark-plugin-npm2yarn'
import type { Config } from '@docusaurus/types'
import type { ThemeConfig } from '@docusaurus/preset-classic'
const __dirname = path.dirname(url.fileURLToPath(import.meta.url))
const organizationName = 'webdriverio' // Usually your GitHub org/user name.
const projectName = 'webdriverio' // Usually your repo name.
const branch = 'main'
const repoUrl = `https://github.com/${organizationName}/${projectName}`
const twitterUrl = `https://twitter.com/${projectName}`
const youtubeUrl = `https://youtube.com/@${projectName}`
const discordUrl = 'https://discord.webdriver.io/'
const wdioLogo = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjRweCIgaGVpZ2h0PSI2NHB4IiB2aWV3Qm94PSIwIDAgNjQgNjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+TG9nbyBSZWd1bGFyPC90aXRsZT4KICAgIDxnIGlkPSJMb2dvLVJlZ3VsYXIiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiNFQTU5MDYiIHg9IjAiIHk9IjAiIHdpZHRoPSI2NCIgaGVpZ2h0PSI2NCIgcng9IjUiPjwvcmVjdD4KICAgICAgICA8cGF0aCBkPSJNOCwxNiBMOCw0OCBMNiw0OCBMNiwxNiBMOCwxNiBaIE00MywxNiBDNTEuODM2NTU2LDE2IDU5LDIzLjE2MzQ0NCA1OSwzMiBDNTksNDAuODM2NTU2IDUxLjgzNjU1Niw0OCA0Myw0OCBDMzQuMTYzNDQ0LDQ4IDI3LDQwLjgzNjU1NiAyNywzMiBDMjcsMjMuMTYzNDQ0IDM0LjE2MzQ0NCwxNiA0MywxNiBaIE0yNywxNiBMMTQuMTA2LDQ3Ljk5OTIwNzggTDExLjk5OSw0Ny45OTkyMDc4IEwyNC44OTQsMTYgTDI3LDE2IFogTTQzLDE4IEMzNS4yNjgwMTM1LDE4IDI5LDI0LjI2ODAxMzUgMjksMzIgQzI5LDM5LjczMTk4NjUgMzUuMjY4MDEzNSw0NiA0Myw0NiBDNTAuNzMxOTg2NSw0NiA1NywzOS43MzE5ODY1IDU3LDMyIEM1NywyNC4yNjgwMTM1IDUwLjczMTk4NjUsMTggNDMsMTggWiIgaWQ9IkNvbWJpbmVkLVNoYXBlIiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg=='
const mendableAnonKey = 'c4096c1b-8c46-4891-8ba2-5f0e2ef4fa81'
const config: Config = {
title: 'WebdriverIO',
tagline: 'Next-gen browser and mobile automation test framework for Node.js',
url: 'https://webdriver.io',
baseUrl: '/',
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'throw',
favicon: 'img/favicon.png',
organizationName: 'webdriverio',
projectName: 'webdriverio',
customFields: {
repoUrl,
mendableAnonKey
},
i18n: {
defaultLocale: 'en',
locales: [
'en',
'ar',
'de',
'es',
'fa',
'fr',
'hi',
'it',
'ja',
'pl',
'pt',
'ru',
'sv',
'ta',
'uk',
'zh',
],
},
themeConfig: {
image: 'img/logo-webdriver-io.png',
metadata: [{ name: 'twitter:card', content: 'summary' }],
colorMode: {
defaultMode: 'light',
disableSwitch: false,
respectPrefersColorScheme: true
},
prism: {
theme: themes.github,
darkTheme: themes.dracula
},
algolia: {
apiKey: 'f86258c57f779a1358e0a9054aeadad5',
indexName: 'webdriver',
appId: '3G5CUKDJDE'
},
announcementBar: {
id: 'supportus',
content: '🇺🇦 &nbsp;We stand with the people of Ukraine. We encourage compassion, and hope for peace. &nbsp; 🇺🇦<br>Please support humanitarian efforts for the Ukraine crisis through the <a target="_blank" rel="noopener noreferrer" href="https://www.icrc.org/en/donate/ukraine">International Committee of the Red Cross</a>! #StandWithUkraine',
},
navbar: {
// title: 'I/O',
logo: {
alt: 'WebdriverIO',
src: wdioLogo,
srcDark: wdioLogo,
},
items: [{
type: 'doc',
label: 'Docs',
position: 'left',
docId: 'gettingstarted',
}, {
type: 'doc',
label: 'API',
position: 'left',
docId: 'api',
}, {
to: 'blog', label: 'Blog', position: 'left'
}, {
type: 'doc',
label: 'Contribute',
position: 'left',
docId: 'contribute',
}, {
to: '/community/support',
label: 'Community',
position: 'left',
activeBaseRegex: '/community/'
}, {
type: 'doc',
docId: 'sponsor',
label: 'Sponsor',
position: 'left'
}, {
label: 'v9',
position: 'right',
to: '/versions'
}, {
type: 'localeDropdown',
position: 'right',
dropdownItemsAfter: [{
type: 'html',
value: '<hr style="margin: 0.3rem 0;">',
}, {
href: 'https://github.com/webdriverio/webdriverio/issues/10261',
label: 'Help Us Translate',
}]
}, {
href: repoUrl,
position: 'right',
className: 'header-github-link',
'aria-label': 'GitHub repository',
}, {
href: twitterUrl,
position: 'right',
className: 'header-twitter-link',
'aria-label': '@webdriverio on Twitter',
}, {
href: youtubeUrl,
position: 'right',
className: 'header-youtube-link',
'aria-label': '@webdriverio on YouTube',
}, {
href: discordUrl,
position: 'right',
className: 'header-discord-link',
'aria-label': 'Support Chat on Discord',
}],
},
footer: {
style: 'dark',
links: [{
title: 'Docs',
items: [{
label: 'Getting Started',
to: 'docs/gettingstarted',
}, {
label: 'API Reference',
to: 'docs/api',
}, {
label: 'Contribute',
to: 'docs/contribute/',
}, {
label: 'Help',
to: 'community/support',
}],
}, {
title: 'Community',
items: [{
label: 'Stack Overflow',
href: 'https://stackoverflow.com/questions/tagged/webdriver-io',
}, {
label: 'Support Chat',
href: 'https://discord.webdriver.io',
}, {
label: 'Slack',
href: 'https://seleniumhq.slack.com/join/shared_invite/zt-f7jwg1n7-RVw4v4sMA7Zjufira_~EVw#/'
}, {
label: 'Twitter',
href: 'https://twitter.com/webdriverio',
}],
}, {
title: 'More',
items: [{
label: 'Blog',
to: 'blog',
}, {
label: 'Sponsor',
to: 'docs/sponsor',
}, {
label: 'Swag Store',
href: 'https://shop.webdriver.io',
}, {
label: 'YouTube',
href: youtubeUrl,
}],
}, {
title: 'Sponsored by',
items: [{
html: `
<a href="https://www.browserstack.com/automation-webdriverio" target="_blank" rel="noreferrer noopener" aria-label="Premium Sponsor BrowserStack">
<img src="/img/sponsors/browserstack_white.svg" alt="BrowserStack" />
</a>`
}]
}],
logo: {
alt: 'OpenJS Foundation Logo',
src: 'https://raw.githubusercontent.com/openjs-foundation/artwork/main/openjs_foundation/openjs_foundation-logo-horizontal-color-dark_background.svg',
href: 'https://openjsf.org/'
},
copyright: `Copyright © ${new Date().getFullYear()} OpenJS Foundation`,
},
codeblock: {
showRunmeLink: true,
runmeLinkLabel: 'Run Example'
},
} satisfies ThemeConfig,
presets: [
[
'classic', {
docs: {
sidebarPath: path.resolve(__dirname, 'sidebars.ts'),
// Please change this to your repo.
editUrl:`${repoUrl}/edit/${branch}/website/`,
remarkPlugins: [
[remark, { sync: true }],
],
include: ['**/*.{md,mdx}', '**/_*.{md,mdx}'],
exclude: [
'**/*.test.{js,jsx,ts,tsx}',
'**/__tests__/**'
]
},
blog: {
showReadingTime: true,
postsPerPage: 3,
blogSidebarCount: 7,
// Please change this to your repo.
editUrl: `${repoUrl}/edit/${branch}/website/blog/`,
},
theme: {
customCss: path.resolve(__dirname, 'src', 'css', 'custom.css'),
},
pages: {
remarkPlugins: [remark],
},
googleAnalytics: {
trackingID: 'UA-47063382-1',
anonymizeIP: true,
},
},
]
],
plugins: [
[
'client-redirects',
{
fromExtensions: ['html'],
/**
* v7 -> v8 doc redirects
*/
redirects: [{
from: '/docs/browserobject',
to: '/docs/api/browser'
}, {
from: '/docs/options',
to: '/docs/configuration'
}, {
from: '/docs/what-is-webdriverio',
to: '/docs/why-webdriverio'
}, {
from: '/docs/sync-vs-async',
to: '/docs/gettingstarted'
}, {
from: '/docs/clioptions',
to: '/docs/testrunner'
}]
}
],
[
'content-docs',
{
id: 'community',
path: 'community',
editUrl: `https://github.com/${organizationName}/${projectName}/edit/${branch}/website/`,
routeBasePath: 'community',
sidebarPath: path.resolve(__dirname, 'sidebarsCommunity.ts')
},
],
'ideal-image',
[
'pwa',
{
debug: false,
offlineModeActivationStrategies: ['appInstalled', 'queryString'],
// swRegister: false,
swCustom: path.resolve(__dirname, 'src', 'sw.js'),
pwaHead: [
{
tagName: 'link',
rel: 'icon',
href: 'img/logo-webdriver-io.png',
},
{
tagName: 'link',
rel: 'manifest',
href: '/manifest.json',
},
{
tagName: 'meta',
name: 'theme-color',
content: 'rgb(234, 90, 7)',
},
{
tagName: 'meta',
name: 'apple-mobile-web-app-capable',
content: 'yes',
},
{
tagName: 'meta',
name: 'apple-mobile-web-app-status-bar-style',
content: '#000',
},
{
tagName: 'link',
rel: 'apple-touch-icon',
href: 'img/logo-webdriver-io.png',
},
{
tagName: 'link',
rel: 'mask-icon',
href: 'img/logo-webdriver-io.svg',
color: 'rgb(234, 90, 7)',
},
{
tagName: 'meta',
name: 'msapplication-TileImage',
content: 'img/logo-webdriver-io.png',
},
{
tagName: 'meta',
name: 'msapplication-TileColor',
content: '#000',
},
],
},
],
],
themes: [path.resolve(__dirname, 'node_modules', 'docusaurus-theme-github-codeblock', 'build', 'index.js')],
stylesheets: [
'https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;700&display=block',
'https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;700&display=block'
],
scripts: [
'https://unpkg.com/mermaid@8.5.1/dist/mermaid.min.js',
'https://buttons.github.io/buttons.js',
'/js/ribbons.js',
'/js/flowchart.js'
]
}
export default config