359 lines
14 KiB
TypeScript
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: '🇺🇦 We stand with the people of Ukraine. We encourage compassion, and hope for peace. 🇺🇦<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
|