Files
npis-docs/docusaurus.config.js

258 lines
9.0 KiB
JavaScript
Raw Normal View History

2025-09-26 14:23:19 +03:00
// @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';
2025-10-16 08:50:13 +03:00
//import '@cmfcmf/docusaurus-search-local';
2025-09-26 14:23:19 +03:00
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
/** @type {import('@docusaurus/types').Config} */
const config = {
2025-10-16 08:50:13 +03:00
title: 'Documentation and User Training Portal',
tagline: 'A Self-Referencing KnowledgeBase for the NPIS Project',
favicon: 'img/favicon.png',
2025-09-26 14:23:19 +03:00
// 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
2025-10-16 08:50:13 +03:00
url: 'http://npis.go.ug:6060',
2025-09-26 14:23:19 +03:00
// Set the /<baseUrl>/ pathname under which your site is served
// For GitHub pages deployment, it is often '/<projectName>/'
baseUrl: '/',
// GitHub pages deployment config.
// If you aren't using GitHub pages, you don't need these.
2025-10-16 08:50:13 +03:00
organizationName: 'memd', // Usually your GitHub org/user name.
projectName: 'npis-docs', // Usually your repo name.
2025-09-26 14:23:19 +03:00
2025-10-16 08:50:13 +03:00
onBrokenLinks: 'ignore',
2025-09-26 14:23:19 +03:00
// 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.
2025-10-16 08:50:13 +03:00
//editUrl:
// 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/',
2025-09-26 14:23:19 +03:00
},
blog: {
showReadingTime: true,
feedOptions: {
type: ['rss', 'atom'],
xslt: true,
},
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
2025-10-16 08:50:13 +03:00
//editUrl:
// 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/',
2025-09-26 14:23:19 +03:00
// Useful options to enforce blogging best practices
onInlineTags: 'warn',
onInlineAuthors: 'warn',
onUntruncatedBlogPosts: 'warn',
},
theme: {
customCss: './src/css/custom.css',
},
}),
],
],
2025-10-16 08:50:13 +03:00
//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 terms 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
}
},
],
], */
2025-09-26 14:23:19 +03:00
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
// Replace with your project's social card
image: 'img/docusaurus-social-card.jpg',
colorMode: {
respectPrefersColorScheme: true,
},
navbar: {
2025-10-16 08:50:13 +03:00
title: 'DOCs',
2025-09-26 14:23:19 +03:00
logo: {
2025-10-16 08:50:13 +03:00
alt: 'Logo',
2025-09-26 14:23:19 +03:00
src: 'img/logo.svg',
},
items: [
{
2025-10-16 08:50:13 +03:00
type: 'docSidebar',
sidebarId: 'introSidebar',
position: 'left',
label: 'Introduction',
},
{
type: 'docSidebar',
sidebarId: 'userGuideSidebar',
position: 'left',
label: 'User Guides',
},
/* {
2025-09-26 14:23:19 +03:00
type: 'docSidebar',
sidebarId: 'tutorialSidebar',
position: 'left',
label: 'Tutorial',
2025-10-16 08:50:13 +03:00
}, */
/* {
type: 'docSidebar',
sidebarId: 'userGuideSidebar',
position: 'left',
label: 'User Guides',
}, */
/* {to: '/blog',
label: 'Blog',
position: 'left'
}, */
2025-09-26 14:23:19 +03:00
{
2025-10-16 08:50:13 +03:00
href: 'http://npis.go.ug:3000',
label: 'NPIS',
2025-09-26 14:23:19 +03:00
position: 'right',
},
],
},
footer: {
style: 'dark',
links: [
2025-10-16 08:50:13 +03:00
/* {
2025-09-26 14:23:19 +03:00
title: 'Docs',
items: [
{
label: 'Tutorial',
to: '/docs/intro',
},
],
2025-10-16 08:50:13 +03:00
}, */
/* {
2025-09-26 14:23:19 +03:00
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',
},
],
2025-10-16 08:50:13 +03:00
}, */
/* {
2025-09-26 14:23:19 +03:00
title: 'More',
items: [
{
label: 'Blog',
to: '/blog',
},
{
label: 'GitHub',
href: 'https://github.com/facebook/docusaurus',
},
],
2025-10-16 08:50:13 +03:00
}, */
2025-09-26 14:23:19 +03:00
],
2025-10-16 08:50:13 +03:00
copyright: `Copyright © ${new Date().getFullYear()} NPIS, MEMD.`,
2025-09-26 14:23:19 +03:00
},
prism: {
theme: prismThemes.github,
darkTheme: prismThemes.dracula,
},
}),
};
export default config;