126 lines
3.0 KiB
JavaScript
126 lines
3.0 KiB
JavaScript
// @ts-check
|
|
// Note: type annotations allow type checking and IDEs autocompletion
|
|
|
|
const vars = require("./vars");
|
|
|
|
/** @type {import('@docusaurus/types').Config} */
|
|
const config = {
|
|
title: vars.title,
|
|
tagline: vars.description,
|
|
url: process.env.URL || vars.website,
|
|
baseUrl: process.env.BASE_URL || "/",
|
|
onBrokenLinks: "throw",
|
|
onBrokenMarkdownLinks: "throw",
|
|
favicon: "img/icon.svg",
|
|
organizationName: "libretime",
|
|
projectName: "libretime",
|
|
trailingSlash: true,
|
|
|
|
plugins: [
|
|
[
|
|
"@cmfcmf/docusaurus-search-local",
|
|
{
|
|
indexBlog: false,
|
|
indexPages: false,
|
|
},
|
|
],
|
|
[
|
|
"@docusaurus/plugin-client-redirects",
|
|
{
|
|
redirects: require("./redirects"),
|
|
},
|
|
],
|
|
],
|
|
|
|
i18n: {
|
|
defaultLocale: "en",
|
|
locales: ["en"],
|
|
},
|
|
|
|
presets: [
|
|
[
|
|
"classic",
|
|
/** @type {import('@docusaurus/preset-classic').Options} */
|
|
({
|
|
docs: {
|
|
path: "../docs",
|
|
sidebarPath: require.resolve("./sidebars.js"),
|
|
editUrl: `${vars.repository.href}/blob/main/docs`,
|
|
|
|
async sidebarItemsGenerator({
|
|
defaultSidebarItemsGenerator,
|
|
...args
|
|
}) {
|
|
const items = await defaultSidebarItemsGenerator(args);
|
|
|
|
return items.map((item) => {
|
|
// Reverse releases pages ordering
|
|
if (item.type === "category" && item.label === "Releases") {
|
|
return { ...item, items: item.items.reverse() };
|
|
}
|
|
|
|
return item;
|
|
});
|
|
},
|
|
remarkPlugins: [require("mdx-mermaid")],
|
|
},
|
|
blog: false,
|
|
theme: {
|
|
customCss: require.resolve("./src/css/custom.css"),
|
|
},
|
|
}),
|
|
],
|
|
],
|
|
|
|
themeConfig:
|
|
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
|
|
({
|
|
navbar: {
|
|
title: vars.title,
|
|
logo: {
|
|
alt: "LibreTime tower",
|
|
src: "img/icon.svg",
|
|
},
|
|
items: [
|
|
{
|
|
label: "Docs",
|
|
to: "/docs",
|
|
position: "left",
|
|
type: "dropdown",
|
|
items: vars.doc.sections,
|
|
},
|
|
{ label: "Contribute", to: "/contribute", position: "left" },
|
|
|
|
{ ...vars.repository, position: "right" },
|
|
{ ...vars.forum, position: "right" },
|
|
{ ...vars.channel, position: "right" },
|
|
{ type: "docsVersionDropdown", position: "right" },
|
|
// { type: "localeDropdown", position: "right" },
|
|
],
|
|
},
|
|
footer: {
|
|
style: "dark",
|
|
links: [
|
|
{
|
|
title: "Docs",
|
|
items: vars.doc.sections,
|
|
},
|
|
{
|
|
title: "Community",
|
|
items: [vars.forum, vars.channel],
|
|
},
|
|
{
|
|
title: "More",
|
|
items: [vars.repository],
|
|
},
|
|
],
|
|
copyright: `Code licensed under AGPLv3; docs licensed under GPLv2.`,
|
|
},
|
|
prism: {
|
|
additionalLanguages: ["apacheconf", "ini", "nginx"],
|
|
},
|
|
}),
|
|
};
|
|
|
|
module.exports = config;
|