const { themes } = require('prism-react-renderer'); module.exports = { title: 'The Official Front End Interview Handbook 2025', tagline: 'Front end interview preparation resources for busy engineers – quiz questions, JavaScript coding questions, algorithms questions, front end system design questions and more. Updated for 2025!', url: 'https://www.frontendinterviewhandbook.com', baseUrl: '/', trailingSlash: false, favicon: 'img/favicon.png', organizationName: 'yangshun', projectName: 'front-end-interview-handbook', onBrokenLinks: 'ignore', themeConfig: { announcementBar: { id: 'gfe', // Increment on change content: `We are now part of GreatFrontEnd, a front end interview preparation platform created by ex-Meta and Google Engineers. Get 20% off today!`, isCloseable: false, }, prism: { theme: themes.github, darkTheme: themes.dracula, }, navbar: { title: 'Front End Interview Handbook', logo: { alt: '', src: 'img/logo.svg', }, items: [ { to: 'introduction', label: 'Start reading', position: 'left' }, { type: 'dropdown', position: 'left', label: 'Practice', items: [ { label: 'Coding Questions', href: 'https://www.greatfrontend.com/questions?utm_source=frontendinterviewhandbook&utm_medium=referral&utm_content=banner&gnrs=frontendinterviewhandbook', }, { label: 'System Design', href: 'https://www.greatfrontend.com/questions/system-design?utm_source=frontendinterviewhandbook&utm_medium=referral&utm_content=banner&gnrs=frontendinterviewhandbook', }, { label: 'Quiz Questions', href: 'https://www.greatfrontend.com/questions/quiz?utm_source=frontendinterviewhandbook&utm_medium=referral&utm_content=banner&gnrs=frontendinterviewhandbook', }, ], }, { to: 'front-end-system-design', label: 'System design', position: 'left', }, { to: 'blog', label: 'Blog', position: 'left' }, { type: 'localeDropdown', position: 'right', }, { href: 'https://github.com/yangshun/front-end-interview-handbook', position: 'right', className: 'navbar-icon navbar-icon-github', 'aria-label': 'GitHub repository', html: ` `, }, { href: 'https://discord.com/invite/NDFx8f6P6B', position: 'right', className: 'navbar-icon navbar-icon-discord', 'aria-label': 'Discord channel', html: ``, }, { href: 'https://x.com/greatfrontend', position: 'right', className: 'navbar-icon navbar-icon-twitter', 'aria-label': 'Twitter page', html: ``, }, ], }, footer: { style: 'dark', copyright: `Copyright © ${new Date().getFullYear()} Yangshun Tay and GreatFrontEnd`, links: [ { title: 'General', items: [ { label: 'Get started', href: '/introduction/', }, { label: 'Trivia questions', href: '/trivia/', }, { label: 'Company questions', href: '/company-interview-questions/', }, { label: 'Blog', href: '/blog/', }, ], }, { title: 'Coding', items: [ { label: 'Algorithms', href: '/coding/algorithms/', }, { label: 'JavaScript utility functions', href: '/coding/javascript-utility-function/', }, { label: 'User interfaces', href: '/coding/build-front-end-user-interfaces/', }, ], }, { title: 'System design', items: [ { label: 'System design overview', href: '/front-end-system-design/', }, { label: 'User interface components', href: '/front-end-system-design/ui-components/', }, { label: 'Applications', href: '/front-end-system-design/applications/', }, ], }, { title: 'More', items: [ { label: 'GreatFrontEnd', href: 'https://www.greatfrontend.com?utm_source=frontendinterviewhandbook&utm_medium=referral&utm_content=banner&gnrs=frontendinterviewhandbook', }, { label: 'GitHub', href: 'https://github.com/yangshun/front-end-interview-handbook', }, { label: 'X', href: 'https://x.com/greatfrontend', }, { label: 'Discord', href: 'https://discord.com/invite/NDFx8f6P6B', }, { label: 'Contact us', href: 'mailto:contact@greatfrontend.com', }, { label: 'Tech Interview Handbook', href: 'https://www.techinterviewhandbook.org', }, ], }, ], }, algolia: { appId: '21T5PEFGI7', apiKey: '10d7777b44bc7e0495cc00e860918b03', indexName: 'frontendinterviewhandbook', }, docs: { sidebar: { hideable: true, }, }, }, presets: [ [ '@docusaurus/preset-classic', { docs: { path: '../contents', routeBasePath: '/', sidebarPath: require.resolve('./sidebars.js'), editUrl: 'https://github.com/yangshun/front-end-interview-handbook/edit/main/contents/', showLastUpdateAuthor: true, showLastUpdateTime: true, }, theme: { customCss: require.resolve('./src/css/custom.css'), }, gtag: { trackingID: 'G-D9B6CHX36V', }, }, ], ], plugins: [ [ '@docusaurus/plugin-google-gtag', { id: 'universal-analytics', trackingID: 'UA-44622716-3', anonymizeIP: true, }, ], [ '@docusaurus/plugin-client-redirects', { redirects: [ { to: '/css-questions', from: '/en/css-questions', }, { to: '/html-questions', from: '/en/html-questions', }, { to: '/javascript-questions', from: '/en/javascript-questions', }, ], }, ], ], scripts: [], i18n: { defaultLocale: 'en', locales: [ 'en', 'zh-CN', 'es', 'ja-JP', 'kr', 'pl', 'pt-BR', 'ru', 'tl', 'bn', ], localeConfigs: { 'zh-CN': { htmlLang: 'zh-CN', label: '简体中文', direction: 'ltr', }, es: { label: 'Español', direction: 'ltr', }, 'ja-JP': { label: '日本語', direction: 'ltr', }, kr: { label: '한국어', direction: 'ltr', }, pl: { label: 'Polski', direction: 'ltr', }, 'pt-BR': { htmlLang: 'pt-BR', label: 'Português', direction: 'ltr', }, ru: { label: 'Русский', direction: 'ltr', }, tl: { label: 'Tagalog', direction: 'ltr', }, bn: { label: 'বাংলা', direction: 'ltr', }, }, }, };