docs.sheetjs.com/docz/docusaurus.config.js
2023-02-17 21:33:30 -05:00

207 lines
6.8 KiB
JavaScript

// @ts-check
// Note: type annotations allow type checking and IDEs autocompletion
const lightCodeTheme = require('prism-react-renderer/themes/github');
const darkCodeTheme = require('prism-react-renderer/themes/dracula');
/** @type {import('@docusaurus/types').Config} */
const config = {
title: 'SheetJS Community Edition',
tagline: 'Get Sheet Done',
url: 'https://docs.sheetjs.com',
baseUrl: '/',
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',
favicon: 'img/favicon.ico',
// GitHub pages deployment config.
// If you aren't using GitHub pages, you don't need these.
//organizationName: 'sheetjs', // Usually your GitHub org/user name.
//projectName: 'sheetjs', // Usually your repo name.
// Even if you don't use internalization, you can use this field to set useful
// metadata like html lang. For example, if your site is Chinese, you may want
// to replace "en" with "zh-Hans".
i18n: {
defaultLocale: 'en',
locales: ['en'],
},
presets: [
[
'classic',
/** @type {import('@docusaurus/preset-classic').Options} */
({
docs: {
sidebarPath: require.resolve('./sidebars.js'),
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
// editUrl:
// 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/',
},
//blog: {
// showReadingTime: true,
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
// editUrl:
// 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/',
//},
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
googleAnalytics: {
trackingID: 'UA-36810333-1',
anonymizeIP: true
}
}),
],
],
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
navbar: {
title: 'SheetJS CE Docs',
logo: {
alt: 'SheetJS Logo',
src: 'img/logo.svg',
},
items: [
{
type: 'doc',
docId: 'index',
position: 'left',
label: 'Docs',
},
//{to: '/blog', label: 'Blog', position: 'left'},
{
href: 'https://sheetjs.com',
label: 'SheetJS',
position: 'right',
},
{
href: 'https://git.sheetjs.com/sheetjs/sheetjs',
label: 'Source',
position: 'right',
},
],
},
footer: {
style: 'dark',
links: [
{
title: 'Docs',
items: [
{
label: 'Intro',
to: '/docs',
},
{
label: 'Example',
to: '/docs/getting-started/example/',
},
],
},
{
title: 'Community',
items: [
//{
// label: 'Stack Overflow',
// href: 'https://stackoverflow.com/questions/tagged/sheetjs',
//},
{
label: 'Discord',
href: 'https://discord.gg/sheetjs',
},
{
label: 'Twitter',
href: 'https://twitter.com/sheetjs',
},
],
},
{
title: 'More',
items: [
//{
// label: 'Blog',
// to: '/blog',
//},
{
label: 'SheetJS Pro',
href: 'https://sheetjs.com/pro',
},
{
label: 'Source',
href: 'https://git.sheetjs.com/sheetjs/sheetjs',
},
],
},
],
copyright: `Copyright © ${new Date().getFullYear()} SheetJS LLC.`,
},
prism: {
theme: lightCodeTheme,
darkTheme: darkCodeTheme,
additionalLanguages: [ "swift", "java", "csharp", "perl", "ruby" ],
},
liveCodeBlock: {
playgroundPosition: 'top'
}
}),
themes: [
"@docusaurus/theme-live-codeblock",
"@docusaurus/theme-mermaid"
],
markdown: {
mermaid: true
},
scripts: [
{
src: "https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.full.min.js",
async: true
}
],
plugins: [
require.resolve("@cmfcmf/docusaurus-search-local"),
[ '@docusaurus/plugin-client-redirects', {
redirects: [
{ from: '/docs/example', to: '/docs/getting-started/example' },
{ from: '/docs/installation', to: '/docs/getting-started/' },
{ from: '/docs/interface', to: '/docs/api/' },
{ from: '/docs/demos/excel', to: '/docs/demos/' },
{ from: '/docs/getting-started/demos/', to: '/docs/demos/' },
{ from: '/docs/getting-started/demos/excel', to: '/docs/demos/' },
{ from: '/docs/demos/content', to: '/docs/demos/static/' },
{ from: '/docs/demos/git', to: '/docs/demos/cloud/github/' },
{ from: '/docs/demo/grid', to: '/docs/demos/grid/' },
/* frontend */
{ from: '/docs/demos/angular', to: '/docs/demos/frontend/angular/' },
{ from: '/docs/demos/react', to: '/docs/demos/frontend/react/' },
{ from: '/docs/demos/svelte', to: '/docs/demos/frontend/svelte/' },
{ from: '/docs/demos/vue', to: '/docs/demos/frontend/vue/' },
{ from: '/docs/demos/bundler', to: '/docs/demos/frontend/bundler/' },
{ from: '/docs/demos/legacy', to: '/docs/demos/frontend/legacy/' },
/* cloud */
{ from: '/docs/demos/salesforce', to: '/docs/demos/cloud/salesforce/' },
{ from: '/docs/demos/aws', to: '/docs/demos/cloud/aws/' },
{ from: '/docs/demos/azure', to: '/docs/demos/cloud/azure/' },
{ from: '/docs/demos/netsuite', to: '/docs/demos/cloud/netsuite/' },
{ from: '/docs/demos/gsheet', to: '/docs/demos/cloud/gsheet/' },
{ from: '/docs/demos/airtable', to: '/docs/demos/cloud/airtable/' },
/* extensions */
{ from: '/docs/demos/extendscript', to: '/docs/demos/extensions/extendscript/' },
{ from: '/docs/demos/excelapi', to: '/docs/demos/extensions/excelapi/' },
{ from: '/docs/demos/chromium', to: '/docs/demos/extensions/chromium/' },
/* cloudata */
{ from: '/docs/demos/cloudata/gsheet', to: '/docs/demos/cloud/gsheet/' },
{ from: '/docs/demos/cloudata/airtable', to: '/docs/demos/cloud/airtable/' },
/* hosting */
{ from: '/docs/demos/hosting/dropbox', to: '/docs/demos/cloud/dropbox/' },
{ from: '/docs/demos/hosting/github', to: '/docs/demos/cloud/github/' },
]
}]
]
};
module.exports = config;