mirror of
https://github.com/mleem97/gregWiki.git
synced 2026-04-10 19:19:18 +02:00
274 lines
10 KiB
JavaScript
274 lines
10 KiB
JavaScript
// @ts-check
|
|
|
|
const config = {
|
|
title: 'gregFramework',
|
|
tagline: 'Mod-author documentation for Data Center; players use /players and the mod catalog.',
|
|
favicon: 'img/logo.svg',
|
|
url: 'https://frikadellental.de',
|
|
baseUrl: '/',
|
|
onBrokenLinks: 'warn',
|
|
markdown: {
|
|
hooks: {
|
|
onBrokenMarkdownLinks: 'warn',
|
|
},
|
|
},
|
|
scripts: ['/js/canonical-host.js'],
|
|
headTags: [
|
|
{
|
|
tagName: 'link',
|
|
attributes: {
|
|
rel: 'stylesheet',
|
|
href: 'https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0',
|
|
},
|
|
},
|
|
],
|
|
i18n: {
|
|
defaultLocale: 'en',
|
|
locales: ['en'],
|
|
localeConfigs: {
|
|
en: {label: 'English', htmlLang: 'en-GB'},
|
|
},
|
|
},
|
|
presets: [
|
|
[
|
|
'classic',
|
|
{
|
|
docs: {
|
|
path: 'docs',
|
|
sidebarPath: require.resolve('./sidebars.js'),
|
|
routeBasePath: '/wiki',
|
|
/** Player help lives on /players; keep sources in repo but do not publish duplicate routes. */
|
|
exclude: ['**/guides/players/**'],
|
|
editUrl: 'https://github.com/mleem97/gregWiki/tree/main/docs/',
|
|
},
|
|
blog: false,
|
|
theme: {
|
|
customCss: require.resolve('./src/css/custom.css'),
|
|
},
|
|
},
|
|
],
|
|
],
|
|
themes: ['@docusaurus/theme-live-codeblock'],
|
|
plugins: [
|
|
'@docusaurus/plugin-css-cascade-layers',
|
|
[
|
|
'@docusaurus/plugin-client-redirects',
|
|
{
|
|
createRedirects(existingPath) {
|
|
const redirectsToHere = {
|
|
'/wiki/framework/architecture': ['/wiki/architecture'],
|
|
'/wiki/framework/fmf-hooks': ['/wiki/fmf-hooks'],
|
|
'/wiki/framework/hexmod': ['/wiki/hexmod'],
|
|
'/wiki/tools/workshop-uploader': ['/wiki/workshop-uploader'],
|
|
'/wiki/getting-started/documentation-layout': ['/wiki/README'],
|
|
'/wiki/guides/mod-developers/overview': ['/wiki/topics/mod-developers/overview'],
|
|
'/wiki/guides/sponsors/overview': ['/wiki/topics/sponsors/overview'],
|
|
'/wiki/guides/contributors/contributor-workshop': ['/wiki/guides/contributor-workshop'],
|
|
'/wiki/guides/contributors/release': ['/wiki/guides/release'],
|
|
'/wiki/guides/contributors/topics-overview': ['/wiki/topics/contributors/overview'],
|
|
'/wiki/mods/index': ['/wiki/mods/mods', '/wiki/mods/mods/index'],
|
|
};
|
|
if (redirectsToHere[existingPath]) {
|
|
return redirectsToHere[existingPath];
|
|
}
|
|
|
|
if (existingPath.startsWith('/wiki/mods/') && existingPath.match(/fmf-(console-input-guard|gregify-employees|hex-label-mod|lang-compat-bridge|ui-replacement-mod)\/?$/)) {
|
|
const slug = existingPath.replace('/wiki/mods/', '').replace(/\/$/, '');
|
|
return [`/wiki/mods/extensions/${slug}`, `/wiki/mods/mods/${slug}`];
|
|
}
|
|
|
|
if (existingPath.startsWith('/wiki')) {
|
|
const legacyPath = existingPath.slice('/wiki'.length) || '/';
|
|
// Never map site root (/) onto /wiki — that would override the homepage.
|
|
if (legacyPath === '/' || legacyPath === '') {
|
|
return undefined;
|
|
}
|
|
// Avoid shadowing static pages and explicit redirects in `redirects` below
|
|
if (
|
|
legacyPath === '/mods' ||
|
|
legacyPath.startsWith('/mods/') ||
|
|
legacyPath === '/plugins' ||
|
|
legacyPath.startsWith('/plugins/')
|
|
) {
|
|
return undefined;
|
|
}
|
|
return [legacyPath];
|
|
}
|
|
|
|
return undefined;
|
|
},
|
|
redirects: [
|
|
{
|
|
to: '/wiki',
|
|
from: [
|
|
'/wiki/docs',
|
|
'/wiki/legacy/wiki-import/Home',
|
|
'/wiki/wiki-import/Home',
|
|
'/wiki/legacy/wiki-import',
|
|
'/wiki/wiki-import',
|
|
'/docs',
|
|
],
|
|
},
|
|
{
|
|
to: '/players',
|
|
from: [
|
|
'/wiki/legacy/wiki-import/EndUser/',
|
|
'/wiki/wiki-import/EndUser/',
|
|
'/wiki/guides/players/overview',
|
|
'/wiki/guides/players/enduser-workshop',
|
|
'/wiki/guides/players/audiences-overview',
|
|
'/wiki/guides/players/newbies',
|
|
'/wiki/guides/players/intermediates',
|
|
'/wiki/guides/players/professionals',
|
|
'/wiki/guides/enduser-workshop',
|
|
'/wiki/topics/end-user/overview',
|
|
'/wiki/audiences/newbies',
|
|
'/wiki/audiences/intermediates',
|
|
'/wiki/audiences/professionals',
|
|
],
|
|
},
|
|
{
|
|
to: '/wiki/guides/mod-developers/overview',
|
|
from: ['/wiki/legacy/wiki-import/ModDevs/', '/wiki/wiki-import/ModDevs/'],
|
|
},
|
|
{
|
|
to: '/wiki/guides/contributors/topics-overview',
|
|
from: ['/wiki/legacy/wiki-import/Contributors/', '/wiki/wiki-import/Contributors/'],
|
|
},
|
|
{
|
|
to: '/wiki/mods/framework',
|
|
from: ['/framework'],
|
|
},
|
|
{
|
|
to: '/wiki/plugins/',
|
|
from: ['/plugins', '/standalone-mods', '/wiki/mods/plugins', '/wiki/mods/extensions'],
|
|
},
|
|
{
|
|
to: 'https://github.com/mleem97/gregFramework/releases/latest/download/FFM.Plugin.AssetExporter.dll',
|
|
from: ['/plugin/FFM.Plugin.AssetExporter.dll'],
|
|
},
|
|
{
|
|
to: 'https://github.com/mleem97/gregFramework/releases/latest/download/FFM.Plugin.Multiplayer.dll',
|
|
from: ['/plugin/FFM.Plugin.Multiplayer.dll'],
|
|
},
|
|
{
|
|
to: 'https://github.com/mleem97/gregFramework/releases/latest/download/FFM.Plugin.PlayerModels.dll',
|
|
from: ['/plugin/FFM.Plugin.PlayerModels.dll'],
|
|
},
|
|
{
|
|
to: 'https://github.com/mleem97/gregFramework/releases/latest/download/FFM.Plugin.Sysadmin.dll',
|
|
from: ['/plugin/FFM.Plugin.Sysadmin.dll'],
|
|
},
|
|
{
|
|
to: 'https://github.com/mleem97/gregFramework/releases/latest/download/FFM.Plugin.WebUIBridge.dll',
|
|
from: ['/plugin/FFM.Plugin.WebUIBridge.dll'],
|
|
},
|
|
{
|
|
to: 'https://github.com/mleem97/gregFramework/releases/latest/download/FMF.ModPathRedirector.dll',
|
|
from: ['/plugin/FMF.ModPathRedirector.dll'],
|
|
},
|
|
{
|
|
to: 'https://github.com/mleem97/gregFramework/releases/latest/download/FMF.ConsoleInputGuard.dll',
|
|
from: ['/mod/FMF.ConsoleInputGuard.dll'],
|
|
},
|
|
{
|
|
to: 'https://github.com/mleem97/gregFramework/releases/latest/download/FMF.GregifyEmployees.dll',
|
|
from: ['/mod/FMF.GregifyEmployees.dll'],
|
|
},
|
|
{
|
|
to: 'https://github.com/mleem97/gregModHexLabelMod/releases/latest/download/FMF.HexLabelMod.dll',
|
|
from: ['/mod/FMF.HexLabelMod.dll'],
|
|
},
|
|
{
|
|
to: 'https://github.com/mleem97/gregFramework/releases/latest/download/FMF.JoniMLCompatMod.dll',
|
|
from: ['/mod/FMF.JoniMLCompatMod.dll', '/mod/FMF.LangCompatBridge.dll'],
|
|
},
|
|
{
|
|
to: 'https://github.com/mleem97/gregFramework/releases/latest/download/FMF.UIReplacementMod.dll',
|
|
from: ['/mod/FMF.UIReplacementMod.dll'],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
function tailwindPlugin() {
|
|
return {
|
|
name: 'tailwindcss-integration',
|
|
/** @param {{plugins: Array<unknown>}} postcssOptions */
|
|
configurePostCss(postcssOptions) {
|
|
postcssOptions.plugins.push(require('@tailwindcss/postcss'));
|
|
return postcssOptions;
|
|
},
|
|
};
|
|
},
|
|
],
|
|
themeConfig: {
|
|
image: 'img/logo.svg',
|
|
colorMode: {
|
|
defaultMode: 'dark',
|
|
disableSwitch: true,
|
|
respectPrefersColorScheme: false,
|
|
},
|
|
navbar: {
|
|
title: 'gregFramework',
|
|
hideOnScroll: false,
|
|
style: 'dark',
|
|
items: [
|
|
{to: '/', label: 'Home', position: 'left'},
|
|
{to: '/players', label: 'For players', position: 'left'},
|
|
{
|
|
label: 'Mod wiki',
|
|
position: 'left',
|
|
items: [
|
|
{to: '/wiki', label: 'Wiki home'},
|
|
{to: '/wiki/getting-started', label: 'Getting started'},
|
|
{to: '/wiki/developers', label: 'Documentation hub'},
|
|
{to: '/mods', label: 'Mod catalog'},
|
|
],
|
|
},
|
|
{to: '/mods', label: 'Mods', position: 'right', className: 'nav-right-icon nav-icon-only nav-link-mods', 'aria-label': 'Mods'},
|
|
{href: 'https://discord.gg/greg', label: 'Discord', position: 'right', className: 'nav-right-icon nav-icon-only nav-link-discord', 'aria-label': 'Discord'},
|
|
{href: 'https://github.com/mleem97/gregFramework/issues', label: 'Support', position: 'right', className: 'nav-right-icon nav-icon-only nav-link-support', 'aria-label': 'Support'},
|
|
{href: 'https://github.com/mleem97/gregFramework', label: 'GitHub', position: 'right', className: 'nav-right-icon nav-icon-only nav-link-github', 'aria-label': 'GitHub'},
|
|
],
|
|
},
|
|
footer: {
|
|
style: 'dark',
|
|
links: [
|
|
{
|
|
title: 'Wiki',
|
|
items: [
|
|
{label: 'Wiki home', to: '/wiki'},
|
|
{label: 'Getting started', to: '/wiki/getting-started'},
|
|
{label: 'Documentation hub', to: '/wiki/developers'},
|
|
{label: 'For players', to: '/players'},
|
|
],
|
|
},
|
|
{
|
|
title: 'Community',
|
|
items: [
|
|
{
|
|
label: 'GitHub',
|
|
href: 'https://github.com/mleem97/gregFramework',
|
|
className: 'footer-link-icon footer-link-github',
|
|
},
|
|
{
|
|
label: 'Discord',
|
|
href: 'https://discord.gg/greg',
|
|
className: 'footer-link-icon footer-link-discord',
|
|
},
|
|
{
|
|
label: 'Support',
|
|
href: 'https://github.com/mleem97/gregFramework/issues',
|
|
className: 'footer-link-icon footer-link-support',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
copyright: `Copyright ${new Date().getFullYear()} <a href="https://meyermedia.eu" target="_blank" rel="noopener noreferrer">Meyer Media</a><br/>This wiki is a community project and is not affiliated with the developer or publisher of Data Center.`,
|
|
},
|
|
},
|
|
};
|
|
|
|
module.exports = config;
|
|
|