// @ts-check // `@type` JSDoc annotations allow editor autocompletion and type checking // (when paired with `@ts-check`). // There are various equivalent ways to declare your Docusaurus config. // See: https://docusaurus.io/docs/api/docusaurus-config import {themes as prismThemes} from 'prism-react-renderer'; //import '@cmfcmf/docusaurus-search-local'; // This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) /** @type {import('@docusaurus/types').Config} */ const config = { title: 'Documentation and User Training Portal', tagline: 'A Self-Referencing KnowledgeBase for the NPIS Project', favicon: 'img/favicon.png', // Future flags, see https://docusaurus.io/docs/api/docusaurus-config#future future: { v4: true, // Improve compatibility with the upcoming Docusaurus v4 }, // Set the production url of your site here url: 'http://npis.go.ug:6060', // Set the // pathname under which your site is served // For GitHub pages deployment, it is often '//' baseUrl: '/', // GitHub pages deployment config. // If you aren't using GitHub pages, you don't need these. organizationName: 'memd', // Usually your GitHub org/user name. projectName: 'npis-docs', // Usually your repo name. onBrokenLinks: 'ignore', // Even if you don't use internationalization, 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: './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, feedOptions: { type: ['rss', 'atom'], xslt: 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/', // Useful options to enforce blogging best practices onInlineTags: 'warn', onInlineAuthors: 'warn', onUntruncatedBlogPosts: 'warn', }, theme: { customCss: './src/css/custom.css', }, }), ], ], //plugins: [require.resolve("@cmfcmf/docusaurus-search-local")], /* plugins: [ [ require.resolve("@cmfcmf/docusaurus-search-local"), { // Options here // whether to index docs pages indexDocs: true, // Whether to also index the titles of the parent categories in the sidebar of a doc page. // 0 disables this feature. // 1 indexes the direct parent category in the sidebar of a doc page // 2 indexes up to two nested parent categories of a doc page // 3... // // Do _not_ use Infinity, the value must be a JSON-serializable integer. indexDocSidebarParentCategories: 4, // Includes parent categories path in search result includeParentCategoriesInPageTitle: true, // whether to index blog pages indexBlog: true, // whether to index static pages // /404.html is never indexed indexPages: true, // language of your documentation, see next section language: "en", // setting this to "none" will prevent the default CSS to be included. The default CSS // comes from autocomplete-theme-classic, which you can read more about here: // https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-theme-classic/ // When you want to overwrite CSS variables defined by the default theme, make sure to suffix your // overwrites with `!important`, because they might otherwise not be applied as expected. See the // following comment for more information: https://github.com/cmfcmf/docusaurus-search-local/issues/107#issuecomment-1119831938. style: undefined, // The maximum number of search results shown to the user. This does _not_ affect performance of // searches, but simply does not display additional search results that have been found. maxSearchResults: 8, // lunr.js-specific settings lunr: { // When indexing your documents, their content is split into "tokens". // Text entered into the search box is also tokenized. // This setting configures the separator used to determine where to split the text into tokens. // By default, it splits the text at whitespace and dashes. // // Note: Does not work for "ja" and "th" languages, since these use a different tokenizer. tokenizerSeparator: /[\s\-]+/, // https://lunrjs.com/guides/customising.html#similarity-tuning // // This parameter controls the importance given to the length of a document and its fields. This // value must be between 0 and 1, and by default it has a value of 0.75. Reducing this value // reduces the effect of different length documents on a term’s importance to that document. b: 0.75, // This controls how quickly the boost given by a common word reaches saturation. Increasing it // will slow down the rate of saturation and lower values result in quicker saturation. The // default value is 1.2. If the collection of documents being indexed have high occurrences // of words that are not covered by a stop word filter, these words can quickly dominate any // similarity calculation. In these cases, this value can be reduced to get more balanced results. k1: 1.2, // By default, we rank pages where the search term appears in the title higher than pages where // the search term appears in just the text. This is done by "boosting" title matches with a // higher value than content matches. The concrete boosting behavior can be controlled by changing // the following settings. titleBoost: 5, contentBoost: 1, tagsBoost: 3, parentCategoriesBoost: 2, // Only used when indexDocSidebarParentCategories > 0 } }, ], ], */ themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ // Replace with your project's social card image: 'img/docusaurus-social-card.jpg', colorMode: { respectPrefersColorScheme: true, }, navbar: { title: 'DOCs', logo: { alt: 'Logo', src: 'img/logo.svg', }, items: [ { type: 'docSidebar', sidebarId: 'introSidebar', position: 'left', label: 'Introduction', }, { type: 'docSidebar', sidebarId: 'userGuideSidebar', position: 'left', label: 'User Guides', }, /* { type: 'docSidebar', sidebarId: 'tutorialSidebar', position: 'left', label: 'Tutorial', }, */ /* { type: 'docSidebar', sidebarId: 'userGuideSidebar', position: 'left', label: 'User Guides', }, */ /* {to: '/blog', label: 'Blog', position: 'left' }, */ { href: 'http://npis.go.ug:3000', label: 'NPIS', position: 'right', }, ], }, footer: { style: 'dark', links: [ /* { title: 'Docs', items: [ { label: 'Tutorial', to: '/docs/intro', }, ], }, */ /* { title: 'Community', items: [ { label: 'Stack Overflow', href: 'https://stackoverflow.com/questions/tagged/docusaurus', }, { label: 'Discord', href: 'https://discordapp.com/invite/docusaurus', }, { label: 'X', href: 'https://x.com/docusaurus', }, ], }, */ /* { title: 'More', items: [ { label: 'Blog', to: '/blog', }, { label: 'GitHub', href: 'https://github.com/facebook/docusaurus', }, ], }, */ ], copyright: `Copyright © ${new Date().getFullYear()} NPIS, MEMD.`, }, prism: { theme: prismThemes.github, darkTheme: prismThemes.dracula, }, }), }; export default config;