mirror of
https://github.com/zoriya/react-native-video.git
synced 2026-08-16 02:56:22 +00:00
240 lines
6.1 KiB
TypeScript
240 lines
6.1 KiB
TypeScript
import type * as Preset from '@docusaurus/preset-classic';
|
|
import type { Config } from '@docusaurus/types';
|
|
import { themes as prismThemes } from 'prism-react-renderer';
|
|
|
|
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
|
|
|
|
const config: Config = {
|
|
title: 'React Native Video',
|
|
tagline: 'React Native Video - Video player for React Native',
|
|
favicon: 'img/favicon.ico',
|
|
|
|
url: 'https://docs.thewidlarzgroup.com',
|
|
baseUrl: '/react-native-video',
|
|
|
|
organizationName: 'TheWidlarzGroup',
|
|
projectName: 'react-native-video',
|
|
|
|
onBrokenLinks: 'throw',
|
|
onBrokenMarkdownLinks: 'warn',
|
|
|
|
future: {
|
|
experimental_faster: true,
|
|
v4: true,
|
|
},
|
|
|
|
i18n: {
|
|
defaultLocale: 'en',
|
|
locales: ['en'],
|
|
},
|
|
|
|
presets: [
|
|
[
|
|
'classic',
|
|
{
|
|
docs: {
|
|
sidebarPath: './sidebars.ts',
|
|
lastVersion: '6.x',
|
|
includeCurrentVersion: true,
|
|
versions: {
|
|
'current': {
|
|
label: 'v7 Beta',
|
|
path: 'v7',
|
|
banner: 'none',
|
|
},
|
|
'6.x': {
|
|
label: 'v6',
|
|
path: 'v6',
|
|
},
|
|
},
|
|
},
|
|
theme: {
|
|
customCss: './src/css/custom.css',
|
|
},
|
|
} satisfies Preset.Options,
|
|
],
|
|
],
|
|
|
|
headTags: [
|
|
{
|
|
tagName: 'link',
|
|
attributes: {
|
|
rel: 'preconnect',
|
|
href: 'https://fonts.googleapis.com',
|
|
},
|
|
},
|
|
{
|
|
tagName: 'link',
|
|
attributes: {
|
|
rel: 'preconnect',
|
|
href: 'https://fonts.gstatic.com',
|
|
},
|
|
},
|
|
{
|
|
tagName: 'link',
|
|
attributes: {
|
|
rel: 'stylesheet',
|
|
href: 'https://fonts.googleapis.com/css2?family=Orbitron:wght@400..900&display=swap',
|
|
},
|
|
},
|
|
],
|
|
|
|
themes: ['@widlarzgroup/docusaurus-ui'],
|
|
|
|
themeConfig: {
|
|
image: 'img/twg-social-card.png',
|
|
navbar: {
|
|
title: 'React Native Video',
|
|
logo: {
|
|
alt: 'TheWidlarzGroup Logo',
|
|
style: {
|
|
width: '60px',
|
|
height: '40px',
|
|
marginRight: '10px',
|
|
transform: 'translateY(-4px)',
|
|
},
|
|
src: 'img/twg-logo.png',
|
|
},
|
|
items: [
|
|
{
|
|
type: 'docSidebar',
|
|
sidebarId: 'docsSidebar',
|
|
position: 'left',
|
|
label: 'Documentation',
|
|
},
|
|
{
|
|
type: 'docsVersionDropdown',
|
|
versions: {
|
|
'current': { label: 'v7 Beta' },
|
|
'6.x': { label: 'v6' },
|
|
},
|
|
position: 'right',
|
|
},
|
|
{
|
|
href: 'https://github.com/TheWidlarzGroup/react-native-video',
|
|
label: 'GitHub',
|
|
position: 'right',
|
|
},
|
|
{
|
|
href: 'https://www.thewidlarzgroup.com/react-native-video?utm_source=rnv&utm_medium=docs&utm_campaign=navbar&utm_id=offer-button',
|
|
label: 'Offer',
|
|
position: 'right',
|
|
},
|
|
{
|
|
type: 'search',
|
|
position: 'right',
|
|
},
|
|
],
|
|
},
|
|
docs: {
|
|
sidebar: {
|
|
hideable: false,
|
|
},
|
|
versionPersistence: 'localStorage',
|
|
},
|
|
footer: {
|
|
style: 'light',
|
|
copyright: `Built With ❤️ By TheWidlarzGroup & React Native Video Community`,
|
|
},
|
|
colorMode: {
|
|
defaultMode: 'dark',
|
|
disableSwitch: true,
|
|
respectPrefersColorScheme: false,
|
|
},
|
|
prism: {
|
|
theme: prismThemes.oneLight,
|
|
darkTheme: prismThemes.oneDark,
|
|
},
|
|
} satisfies Preset.ThemeConfig,
|
|
|
|
plugins: [
|
|
require.resolve('docusaurus-lunr-search'),
|
|
[
|
|
'docusaurus-plugin-typedoc',
|
|
{
|
|
name: 'API Reference',
|
|
entryPoints: ['../packages/react-native-video/src'],
|
|
exclude: '../packages/react-native-video/src/index.ts',
|
|
tsconfig: '../packages/react-native-video/tsconfig.json',
|
|
out: './docs/api-reference',
|
|
watch: process.env.TYPEDOC_WATCH,
|
|
excludePrivate: true,
|
|
excludeProtected: true,
|
|
excludeExternals: true,
|
|
excludeInternal: true,
|
|
readme: 'none',
|
|
sidebar: {
|
|
autoConfiguration: false,
|
|
},
|
|
parametersFormat: 'table',
|
|
enumMembersFormat: 'table',
|
|
useCodeBlocks: true,
|
|
},
|
|
],
|
|
// LLMs txt generation for v6
|
|
[
|
|
'docusaurus-plugin-llms',
|
|
{
|
|
id: 'llms-v6',
|
|
generateLLMsTxt: false,
|
|
generateLLMsFullTxt: false,
|
|
docsDir: 'versioned_docs/version-6.x',
|
|
pathTransformation: {
|
|
ignorePaths: ['docs'],
|
|
addPaths: ['react-native-video/docs/v6'],
|
|
},
|
|
version: '6.x.x',
|
|
customLLMFiles: [
|
|
{
|
|
filename: 'llms-v6.txt',
|
|
title: 'React Native Video v6 Documentation',
|
|
description: 'Complete documentation for React Native Video v6',
|
|
includePatterns: ['**/*.md', '**/*.mdx'],
|
|
fullContent: false,
|
|
},
|
|
{
|
|
filename: 'llms-v6-full.txt',
|
|
title: 'React Native Video v6 Documentation',
|
|
description: 'Complete documentation for React Native Video v6',
|
|
includePatterns: ['**/*.md', '**/*.mdx'],
|
|
fullContent: true,
|
|
},
|
|
],
|
|
},
|
|
],
|
|
// LLMs txt generation for v7
|
|
[
|
|
'docusaurus-plugin-llms',
|
|
{
|
|
id: 'llms-v7',
|
|
generateLLMsTxt: false,
|
|
generateLLMsFullTxt: false,
|
|
docsDir: 'docs',
|
|
pathTransformation: {
|
|
ignorePaths: ['docs'],
|
|
addPaths: ['react-native-video/docs/v7'],
|
|
},
|
|
version: '7.x.x',
|
|
customLLMFiles: [
|
|
{
|
|
filename: 'llms-v7.txt',
|
|
title: 'React Native Video v7 Documentation',
|
|
description: 'Complete documentation for React Native Video v7',
|
|
includePatterns: ['docs/**/*.md'],
|
|
fullContent: false,
|
|
},
|
|
{
|
|
filename: 'llms-v7-full.txt',
|
|
title: 'React Native Video v7 Documentation',
|
|
description: 'Complete documentation for React Native Video v7',
|
|
includePatterns: ['docs/**/*.md'],
|
|
fullContent: true,
|
|
},
|
|
],
|
|
},
|
|
],
|
|
],
|
|
};
|
|
|
|
export default config;
|