mirror of
https://github.com/mleem97/gregWiki.git
synced 2026-04-11 03:29:19 +02:00
docs: update docusaurus configuration and documentation structure
- Revised the tagline in `docusaurus.config.js` for improved clarity on the documentation's focus. - Removed German localization support from the configuration to streamline the user experience. - Updated navigation items in the sidebar to better reflect the current structure, emphasizing player and developer resources. - Enhanced the README and various documentation files to clarify the repository layout and improve accessibility for users. - Adjusted links and descriptions throughout the documentation to ensure consistency and accuracy. This commit aims to enhance the overall clarity and usability of the documentation.
This commit is contained in:
@@ -431,7 +431,11 @@ body {
|
||||
|
||||
/* Doc canvas — editorial bleed (wiki layout alignment); no hard section borders */
|
||||
.theme-doc-wrapper {
|
||||
background: linear-gradient(180deg, var(--color-surface-container-low) 0%, var(--color-background) 42%);
|
||||
background: linear-gradient(
|
||||
180deg,
|
||||
var(--color-surface-container-low) 0%,
|
||||
var(--color-background) 42%
|
||||
);
|
||||
}
|
||||
|
||||
.theme-doc-root .theme-doc-sidebar-container {
|
||||
@@ -576,7 +580,9 @@ body {
|
||||
flex-shrink: 0;
|
||||
opacity: 0.85;
|
||||
color: rgba(192, 252, 246, 0.45);
|
||||
transition: color 0.2s ease, opacity 0.2s ease;
|
||||
transition:
|
||||
color 0.2s ease,
|
||||
opacity 0.2s ease;
|
||||
}
|
||||
|
||||
.footer__link-item:hover .footer-icon-svg {
|
||||
|
||||
@@ -97,7 +97,8 @@ export const moduleCatalog: ModuleEntry[] = [
|
||||
name: 'FMF.ModPathRedirector',
|
||||
repoFolder: 'gregMod.PathRedirector',
|
||||
type: 'plugin',
|
||||
description: 'MelonLoader plugin: waits for each subscribed Workshop item (Steam + StreamingAssets/Mods/workshop_*) before MelonMods load.',
|
||||
description:
|
||||
'MelonLoader plugin: waits for each subscribed Workshop item (Steam + StreamingAssets/Mods/workshop_*) before MelonMods load.',
|
||||
version: '1.5.0',
|
||||
author: 'DataCenterExporter / gregFramework Community',
|
||||
languages: ['C#'],
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
import type { HomepageContent } from './types';
|
||||
import { homepageShellDe } from './sharedLinks';
|
||||
|
||||
export const de: HomepageContent = {
|
||||
...homepageShellDe,
|
||||
heroLine1: 'DATACENTER MODDING HUB.',
|
||||
heroLine2: 'SEI SMART WIE GREG.',
|
||||
heroSub1: 'Klar. Flexibel. Community-getrieben.',
|
||||
heroSub2: 'gregFramework, Rust-Stacks, Multiplayer und Plugins.',
|
||||
ctaStart: 'MODDING STARTEN',
|
||||
ctaMods: 'VERFÜGBARE STANDALONE MODS & PLUGINS',
|
||||
docsPaths: 'Dokumentationspfade',
|
||||
featureTitles: ['Dual-Track Modding', 'Runtime Hook Bridge', 'Wiki-basierte Doku', 'Community-Ökosystem'],
|
||||
featureDescriptions: [
|
||||
'Baue Mods direkt in C# oder nativ in Rust via C-ABI/FFI.',
|
||||
'Harmony-Patches, Event-IDs und deterministische Hook-Weiterleitung.',
|
||||
'Source of truth aus .wiki mit Enduser- und Moddev-Pfaden.',
|
||||
'Core-Framework-Doku plus Standalone-Plugin- und Ökosystem-Doku.',
|
||||
],
|
||||
comingSoon: 'Kommt bald',
|
||||
comingSoonText: '`datacentermods.com` wird gerade vorbereitet. Bis zum Launch findest du alles unter `Docs Hub → Standalone Mods`.',
|
||||
communityTitle: 'Community & Maintainer',
|
||||
communityText: 'Dieses Portal bündelt gregFramework-Doku und Community-Plugins für das Data-Center-Ökosystem.',
|
||||
docsEndUserTitle: 'Endnutzer',
|
||||
docsEndUserDescription: 'Installation, Updates, FAQ und Fehlerbehebung.',
|
||||
docsModDevsTitle: 'Mod-Entwickler',
|
||||
docsModDevsDescription: 'Debug-Workflows, Setup, Hooks und Referenzen.',
|
||||
docsContributorsTitle: 'Mitwirkende',
|
||||
docsContributorsDescription: 'Konventionen, CI-Checks und Contribution-Workflow.',
|
||||
docsCapabilityTitle: 'Capability Matrix',
|
||||
docsCapabilityDescription: 'Komplette Feature-Übersicht und konkrete Use Cases.',
|
||||
ecosystemTitle: 'Ecosystem Coverage',
|
||||
ecosystemCoreTitle: 'gregFramework Core',
|
||||
ecosystemCoreDescription: 'Hook-System, FFI-Bridge, Event-Verträge und Runtime-Architektur.',
|
||||
ecosystemCoreCta: 'Core-Doku öffnen →',
|
||||
ecosystemRustTitle: 'Standalone Rust',
|
||||
ecosystemRustDescription: 'Rust/FFI-Implementierungsleitfäden für externe und standalone Runtimes.',
|
||||
ecosystemRustCta: 'Rust/FFI-Doku öffnen →',
|
||||
ecosystemMultiplayerTitle: 'Multiplayer & Plugins',
|
||||
ecosystemMultiplayerDescription: 'Multiplayer-Roadmap, Plugin-Doku und Community-Modul-Referenzen.',
|
||||
ecosystemMultiplayerCta: 'Multiplayer-Doku öffnen →',
|
||||
gregTitle: 'Die Legende von Greg',
|
||||
gregText1:
|
||||
'Greg ist der unermüdliche Server-Techniker des Projekts. Er wirkt zwar so, als hätte er seit Monaten nicht mehr geschlafen, und er ist meistens still — aber sobald ein Rack ausfällt oder ein Mod zickt, ist Greg schon da.',
|
||||
gregText2:
|
||||
'Unterwürfig erfüllt er all deine Wünsche: mehr Uptime, sauberere Configs, bessere Logs und weniger Drama im Deployment. Er fragt nicht viel, er liefert einfach.',
|
||||
gregQuote: '"Be smart. Be like Greg."',
|
||||
supportTitle: 'Support',
|
||||
supportText: 'Melde Bugs, fordere Doku für neue Community-Plugins an und verfolge Workstreams.',
|
||||
supportCta: 'GitHub Issues öffnen',
|
||||
availableModsLabel: 'Verfügbare Mods',
|
||||
repositoryLabel: 'Repository',
|
||||
joinLabel: 'BEITRETEN',
|
||||
};
|
||||
@@ -5,20 +5,21 @@ export const en: HomepageContent = {
|
||||
...homepageShellEn,
|
||||
heroLine1: 'DATACENTER MODDING HUB.',
|
||||
heroLine2: 'SMART LIKE GREG.',
|
||||
heroSub1: 'Streamlined. Flexible. Community-curated.',
|
||||
heroSub2: 'gregFramework, Rust stacks, multiplayer, and plugins.',
|
||||
ctaStart: 'START MODDING',
|
||||
ctaMods: 'AVAILABLE STANDALONE MODS & PLUGINS',
|
||||
heroSub1: 'Install mods, use the Workshop, fix common issues — without digging through engine docs.',
|
||||
heroSub2: 'Technical reference for authors lives under Developers in the wiki.',
|
||||
ctaStart: 'HELP FOR PLAYERS',
|
||||
ctaMods: 'MOD CATALOG',
|
||||
docsPaths: 'Documentation paths',
|
||||
featureTitles: ['Dual-track modding', 'Runtime hook bridge', 'Wiki-driven docs', 'Community ecosystem'],
|
||||
featureTitles: ['Play with mods', 'Workshop & updates', 'Clear docs', 'Community'],
|
||||
featureDescriptions: [
|
||||
'Build mods in C# or natively in Rust via C-ABI/FFI.',
|
||||
'Harmony patches, event IDs, and deterministic hook forwarding.',
|
||||
'Source of truth from .wiki with end-user and mod-dev paths.',
|
||||
'Core framework docs plus standalone plugin and ecosystem docs.',
|
||||
'Step-by-step paths for installing and troubleshooting — no repo jargon on day one.',
|
||||
'WorkshopManager and release channels explain where builds come from.',
|
||||
'Player pages are short; author pages stay under one Developers section.',
|
||||
'Discord and GitHub for help — framework internals only when you need them.',
|
||||
],
|
||||
comingSoon: 'Coming soon',
|
||||
comingSoonText: '`datacentermods.com` is in preparation. Until launch, use `Docs Hub → Standalone Mods`.',
|
||||
comingSoonText:
|
||||
'`datacentermods.com` is in preparation. Until launch, use the wiki **For players** and the **Mod catalog**.',
|
||||
communityTitle: 'Community & maintainers',
|
||||
communityText: 'This portal is designed for gregFramework docs and community-built plugins across the Data Center ecosystem.',
|
||||
docsEndUserTitle: 'End-user',
|
||||
|
||||
@@ -1,25 +1,8 @@
|
||||
import { de } from './de';
|
||||
import { en } from './en';
|
||||
import type { HomepageContent, LocaleKey } from './types';
|
||||
import {en} from './en';
|
||||
import type {HomepageContent} from './types';
|
||||
|
||||
const homepageByLocale: Record<LocaleKey, HomepageContent> = {
|
||||
en,
|
||||
de,
|
||||
};
|
||||
export type {HomepageContent, LocaleKey} from './types';
|
||||
|
||||
export type { HomepageContent, LocaleKey } from './types';
|
||||
|
||||
export function getHomepageContent(locale: string): HomepageContent {
|
||||
const normalizedLocale = (locale || 'en').toLowerCase();
|
||||
const languageOnly = normalizedLocale.split('-')[0] as LocaleKey;
|
||||
|
||||
if (normalizedLocale in homepageByLocale) {
|
||||
return homepageByLocale[normalizedLocale as LocaleKey];
|
||||
}
|
||||
|
||||
if (languageOnly in homepageByLocale) {
|
||||
return homepageByLocale[languageOnly];
|
||||
}
|
||||
|
||||
return homepageByLocale.en;
|
||||
export function getHomepageContent(_locale: string): HomepageContent {
|
||||
return en;
|
||||
}
|
||||
|
||||
@@ -1,122 +1,81 @@
|
||||
import type { HomepageContent, HomepageDocLink } from './types';
|
||||
import type {HomepageContent, HomepageDocLink} from './types';
|
||||
|
||||
/** English link hub — reused for locales without dedicated translations. */
|
||||
/** Player-first links — technical docs live under /wiki/developers */
|
||||
export const sharedKnowledgeLinksEn: HomepageDocLink[] = [
|
||||
{ title: 'Wiki Overview', description: 'Canonical docs entry under /wiki.', link: '/wiki' },
|
||||
{title: 'Wiki home', description: 'Short entry — players vs developers.', link: '/wiki'},
|
||||
{
|
||||
title: 'Framework Core',
|
||||
description: 'Runtime hooks, bridge, events, and architecture.',
|
||||
link: '/wiki/mods/framework',
|
||||
},
|
||||
{
|
||||
title: 'Plugins (FFM)',
|
||||
description: 'FFM.Plugin.* docs and release pages.',
|
||||
link: '/wiki/plugins/',
|
||||
},
|
||||
{ title: 'Mods (FMF)', description: 'Gameplay mods, releases, and module docs.', link: '/wiki/mods/' },
|
||||
{
|
||||
title: 'FMF Hooks Catalog',
|
||||
description: 'Hook strings and event IDs generated from core sources.',
|
||||
link: '/wiki/reference/fmf-hooks-catalog',
|
||||
},
|
||||
{
|
||||
title: 'Release Channels',
|
||||
description: 'Steam Workshop vs GitHub for discovery and betas.',
|
||||
link: '/wiki/reference/release-channels',
|
||||
},
|
||||
{
|
||||
title: 'Unified Roadmap',
|
||||
description: 'Consolidated planning with duplicate tracks removed.',
|
||||
link: '/wiki/roadmap/unified-roadmap',
|
||||
},
|
||||
{ title: 'Mods Catalog', description: 'Dynamic /mods page with wiki and download links.', link: '/mods' },
|
||||
];
|
||||
|
||||
export const sharedWorkflowLinksEn: HomepageDocLink[] = [
|
||||
{
|
||||
title: 'End-user docs',
|
||||
description: 'Install, update, and troubleshooting paths.',
|
||||
title: 'For players',
|
||||
description: 'Install, update, troubleshooting.',
|
||||
link: '/wiki/guides/players/overview',
|
||||
},
|
||||
{
|
||||
title: 'Mod developer docs',
|
||||
description: 'Setup, debugging, and hook integration.',
|
||||
title: 'WorkshopManager',
|
||||
description: 'Browse and install Workshop mods.',
|
||||
link: '/wiki/guides/players/enduser-workshop',
|
||||
},
|
||||
{
|
||||
title: 'Release channels',
|
||||
description: 'Steam Workshop vs GitHub for builds.',
|
||||
link: '/wiki/reference/release-channels',
|
||||
},
|
||||
{title: 'Mod catalog', description: 'Modules with docs and download links.', link: '/mods'},
|
||||
];
|
||||
|
||||
/** Authors & contributors — one hop to the full technical tree */
|
||||
export const sharedWorkflowLinksEn: HomepageDocLink[] = [
|
||||
{
|
||||
title: 'Developers (hub)',
|
||||
description: 'Framework, mods, plugins, reference, roadmap — all technical links.',
|
||||
link: '/wiki/developers',
|
||||
},
|
||||
{
|
||||
title: 'Mod developer guide',
|
||||
description: 'Hooks, setup, and workflow entry.',
|
||||
link: '/wiki/guides/mod-developers/overview',
|
||||
},
|
||||
{
|
||||
title: 'Repo inventory',
|
||||
description: 'Split-repo layout and drift notes for contributors.',
|
||||
link: '/wiki/contributors/repo-inventory',
|
||||
},
|
||||
{
|
||||
title: 'Contributor workflow',
|
||||
description: 'Standards, CI, and documentation workflow.',
|
||||
description: 'Docs site and repo conventions.',
|
||||
link: '/wiki/contributors/docusaurus-workflow',
|
||||
},
|
||||
{
|
||||
title: 'Plugin security audit',
|
||||
description: 'Submission and malicious-code review process.',
|
||||
link: '/wiki/contributors/plugin-submission-audit',
|
||||
},
|
||||
];
|
||||
|
||||
export const sharedKnowledgeLinksDe: HomepageDocLink[] = [
|
||||
{ title: 'Wiki-Übersicht', description: 'Einstieg unter /wiki.', link: '/wiki' },
|
||||
{title: 'Wiki-Start', description: 'Kurzüberblick — Spieler vs. Entwickler.', link: '/wiki'},
|
||||
{
|
||||
title: 'Framework-Core',
|
||||
description: 'Runtime-Hooks, Bridge, Events und Architektur.',
|
||||
link: '/wiki/mods/framework',
|
||||
title: 'Für Spieler',
|
||||
description: 'Installation, Updates, Fehlerbehebung.',
|
||||
link: '/wiki/guides/players/overview',
|
||||
},
|
||||
{
|
||||
title: 'Plugins (FFM)',
|
||||
description: 'FFM.Plugin.*-Doku und Release-Seiten.',
|
||||
link: '/wiki/plugins/',
|
||||
},
|
||||
{ title: 'Mods (FMF)', description: 'Gameplay-Mods, Releases und Modul-Doku.', link: '/wiki/mods/' },
|
||||
{
|
||||
title: 'FMF-Hooks-Katalog',
|
||||
description: 'Hook-Strings und Event-IDs aus den Core-Quellen.',
|
||||
link: '/wiki/reference/fmf-hooks-catalog',
|
||||
title: 'WorkshopManager',
|
||||
description: 'Workshop-Mods suchen und installieren.',
|
||||
link: '/wiki/guides/players/enduser-workshop',
|
||||
},
|
||||
{
|
||||
title: 'Release-Kanäle',
|
||||
description: 'Steam Workshop vs GitHub für Discovery und Betas.',
|
||||
description: 'Steam Workshop vs GitHub.',
|
||||
link: '/wiki/reference/release-channels',
|
||||
},
|
||||
{
|
||||
title: 'Einheitliche Roadmap',
|
||||
description: 'Zusammengeführte Planung ohne doppelte Tracks.',
|
||||
link: '/wiki/roadmap/unified-roadmap',
|
||||
},
|
||||
{ title: 'Mods-Katalog', description: 'Dynamische /mods-Seite mit Wiki- und Download-Links.', link: '/mods' },
|
||||
{title: 'Mod-Katalog', description: 'Module mit Doku- und Download-Links.', link: '/mods'},
|
||||
];
|
||||
|
||||
export const sharedWorkflowLinksDe: HomepageDocLink[] = [
|
||||
{
|
||||
title: 'Endnutzer-Doku',
|
||||
description: 'Installation, Updates und Fehlerbehebung.',
|
||||
link: '/wiki/guides/players/overview',
|
||||
title: 'Entwickler (Hub)',
|
||||
description: 'Framework, Mods, Plugins, Referenz — alle technischen Links.',
|
||||
link: '/wiki/developers',
|
||||
},
|
||||
{
|
||||
title: 'Mod-Entwickler-Doku',
|
||||
description: 'Setup, Debugging und Hook-Integration.',
|
||||
title: 'Mod-Entwickler-Guide',
|
||||
description: 'Hooks, Setup, Einstieg.',
|
||||
link: '/wiki/guides/mod-developers/overview',
|
||||
},
|
||||
{
|
||||
title: 'Repo-Inventar',
|
||||
description: 'Split-Repo-Layout und Drift-Hinweise.',
|
||||
link: '/wiki/contributors/repo-inventory',
|
||||
},
|
||||
{
|
||||
title: 'Contributor-Workflow',
|
||||
description: 'Standards, CI und Doku-Workflow.',
|
||||
description: 'Doku-Site und Repo-Konventionen.',
|
||||
link: '/wiki/contributors/docusaurus-workflow',
|
||||
},
|
||||
{
|
||||
title: 'Plugin-Security-Audit',
|
||||
description: 'Einreichung und Review auf Schadcode.',
|
||||
link: '/wiki/contributors/plugin-submission-audit',
|
||||
},
|
||||
];
|
||||
|
||||
export const homepageShellEn: Pick<
|
||||
@@ -137,13 +96,13 @@ export const homepageShellEn: Pick<
|
||||
heroBadge: 'gregFramework · docs live',
|
||||
heroBrandLine1: 'greg',
|
||||
heroBrandLine2Gradient: 'Framework',
|
||||
knowledgeSectionTitle: 'Knowledge architecture',
|
||||
workflowSectionTitle: 'Workflows',
|
||||
codeSectionTitle: 'Engineered for mod authors',
|
||||
knowledgeSectionTitle: 'Players — start here',
|
||||
workflowSectionTitle: 'Authors & contributors',
|
||||
codeSectionTitle: 'Building on gregFramework',
|
||||
codeSectionLead:
|
||||
'C# mods on MelonLoader, FMF plugins, and optional Rust FFI bridges — one documentation hub, versioned with the split repos.',
|
||||
ctaDiscordTitle: 'Build with the community',
|
||||
ctaDiscordLead: 'Ask questions, share mods, and follow framework releases alongside core development.',
|
||||
'C# mods on MelonLoader, FFM plugins, and optional Rust bridges — details for authors are under Developers.',
|
||||
ctaDiscordTitle: 'Community',
|
||||
ctaDiscordLead: 'Questions about playing or building — ask in Discord.',
|
||||
ctaDiscordButton: 'Join Discord',
|
||||
knowledgeLinks: sharedKnowledgeLinksEn,
|
||||
workflowLinks: sharedWorkflowLinksEn,
|
||||
@@ -167,13 +126,13 @@ export const homepageShellDe: Pick<
|
||||
heroBadge: 'gregFramework · Live-Dokumentation',
|
||||
heroBrandLine1: 'greg',
|
||||
heroBrandLine2Gradient: 'Framework',
|
||||
knowledgeSectionTitle: 'Wissensarchitektur',
|
||||
workflowSectionTitle: 'Arbeitsabläufe',
|
||||
codeSectionTitle: 'Für Mod-Autoren gebaut',
|
||||
knowledgeSectionTitle: 'Spieler — Einstieg',
|
||||
workflowSectionTitle: 'Autoren & Contributors',
|
||||
codeSectionTitle: 'Auf gregFramework aufbauen',
|
||||
codeSectionLead:
|
||||
'C#-Mods auf MelonLoader, FMF-Plugins und optionale Rust-FFI-Brücken — ein Dokumentations-Hub, versioniert mit den Split-Repos.',
|
||||
ctaDiscordTitle: 'Mit der Community bauen',
|
||||
ctaDiscordLead: 'Fragen stellen, Mods teilen und Releases parallel zur Core-Entwicklung verfolgen.',
|
||||
'C#-Mods auf MelonLoader, FFM-Plugins, optionale Rust-Brücken — Details für Autoren unter Entwickler.',
|
||||
ctaDiscordTitle: 'Community',
|
||||
ctaDiscordLead: 'Fragen zum Spielen oder Bauen — im Discord.',
|
||||
ctaDiscordButton: 'Discord beitreten',
|
||||
knowledgeLinks: sharedKnowledgeLinksDe,
|
||||
workflowLinks: sharedWorkflowLinksDe,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
export type LocaleKey = 'en' | 'de';
|
||||
export type LocaleKey = 'en';
|
||||
|
||||
export type HomepageDocLink = {
|
||||
title: string;
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
import type { LocaleKey } from './homepage/types';
|
||||
|
||||
export type ModsPageStrings = {
|
||||
title: string;
|
||||
description: string;
|
||||
@@ -13,36 +11,20 @@ export type ModsPageStrings = {
|
||||
legacyNoSplitRepo: string;
|
||||
};
|
||||
|
||||
const byLocale: Record<LocaleKey, ModsPageStrings> = {
|
||||
en: {
|
||||
title: 'Mods & plugins catalog',
|
||||
description:
|
||||
'Generated from the module catalog. Each entry links to its wiki article, release page, and download route.',
|
||||
pluginsHeading: 'Plugins',
|
||||
modsHeading: 'Mods',
|
||||
wiki: 'Wiki',
|
||||
release: 'Release',
|
||||
download: 'Download DLL',
|
||||
notReleased: 'Not released yet',
|
||||
repoFolder: 'gregFramework folder',
|
||||
legacyNoSplitRepo: 'Legacy — no split repo in workspace',
|
||||
},
|
||||
de: {
|
||||
title: 'Mods- & Plugin-Katalog',
|
||||
description:
|
||||
'Aus dem Modul-Katalog erzeugt. Jeder Eintrag verweist auf Wiki, Release-Seite und Download-Route.',
|
||||
pluginsHeading: 'Plugins',
|
||||
modsHeading: 'Mods',
|
||||
wiki: 'Wiki',
|
||||
release: 'Release',
|
||||
download: 'DLL laden',
|
||||
notReleased: 'Noch nicht veröffentlicht',
|
||||
repoFolder: 'Ordner unter gregFramework',
|
||||
legacyNoSplitRepo: 'Legacy — kein Split-Repo im Workspace',
|
||||
},
|
||||
const strings: ModsPageStrings = {
|
||||
title: 'Mods & plugins catalog',
|
||||
description:
|
||||
'Generated from the module catalog. Each entry links to its wiki article, release page, and download route.',
|
||||
pluginsHeading: 'Plugins',
|
||||
modsHeading: 'Mods',
|
||||
wiki: 'Wiki',
|
||||
release: 'Release',
|
||||
download: 'Download DLL',
|
||||
notReleased: 'Not released yet',
|
||||
repoFolder: 'gregFramework folder',
|
||||
legacyNoSplitRepo: 'Legacy — no split repo in workspace',
|
||||
};
|
||||
|
||||
export function getModsPageStrings(locale: string): ModsPageStrings {
|
||||
const languageOnly = (locale || 'en').toLowerCase().split('-')[0] as LocaleKey;
|
||||
return byLocale[languageOnly] ?? byLocale.en;
|
||||
export function getModsPageStrings(_locale: string): ModsPageStrings {
|
||||
return strings;
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ export default function HomePage(): JSX.Element {
|
||||
return (
|
||||
<Layout
|
||||
title="Home"
|
||||
description="Community documentation for gregFramework — Data Center modding, plugins, and hooks."
|
||||
description="Help for Data Center players using mods — plus developer docs under /wiki/developers."
|
||||
>
|
||||
<main className="bg-background text-on-surface font-sans min-h-screen editorial-bleed bg-hero-gradient">
|
||||
<section className="hero-motion-wrap relative flex min-h-[72vh] flex-col items-center justify-center overflow-hidden px-4 py-24 text-center">
|
||||
@@ -138,7 +138,7 @@ export default function HomePage(): JSX.Element {
|
||||
transition={{delay: reducedMotion ? 0 : 0.22}}
|
||||
>
|
||||
<Link
|
||||
to="/wiki/mods/framework"
|
||||
to="/wiki/guides/players/overview"
|
||||
className="btn-primary hero-glow rounded-lg px-10 py-4 text-lg"
|
||||
>
|
||||
{t.ctaStart}
|
||||
|
||||
@@ -48,7 +48,8 @@ export default function FooterLinkItem({item}: Props): ReactNode {
|
||||
: {
|
||||
to: toUrl,
|
||||
})}
|
||||
{...props}>
|
||||
{...props}
|
||||
>
|
||||
{icon ? (
|
||||
<span className="footer-link-with-icon">
|
||||
{icon}
|
||||
|
||||
@@ -25,9 +25,7 @@ function useLocaleDropdownUtils() {
|
||||
const getLocaleConfig = (locale: string) => {
|
||||
const localeConfig = localeConfigs[locale];
|
||||
if (!localeConfig) {
|
||||
throw new Error(
|
||||
`Docusaurus bug, no locale config found for locale=${locale}`,
|
||||
);
|
||||
throw new Error(`Docusaurus bug, no locale config found for locale=${locale}`);
|
||||
}
|
||||
return localeConfig;
|
||||
};
|
||||
@@ -49,10 +47,7 @@ function useLocaleDropdownUtils() {
|
||||
|
||||
return {
|
||||
getURL: (locale: string, options: {queryString: string | undefined}) => {
|
||||
const finalSearch = mergeSearchStrings(
|
||||
[search, options.queryString],
|
||||
'append',
|
||||
);
|
||||
const finalSearch = mergeSearchStrings([search, options.queryString], 'append');
|
||||
return `${getBaseURLForLocale(locale)}${finalSearch}${hash}`;
|
||||
},
|
||||
getLabel: (locale: string) => {
|
||||
@@ -85,11 +80,7 @@ export default function LocaleDropdownNavbarItem({
|
||||
target: '_self',
|
||||
autoAddBaseUrl: false,
|
||||
className:
|
||||
locale === currentLocale
|
||||
? mobile
|
||||
? 'menu__link--active'
|
||||
: 'dropdown__link--active'
|
||||
: '',
|
||||
locale === currentLocale ? (mobile ? 'menu__link--active' : 'dropdown__link--active') : '',
|
||||
};
|
||||
});
|
||||
|
||||
@@ -103,15 +94,11 @@ export default function LocaleDropdownNavbarItem({
|
||||
})
|
||||
: utils.getLabel(currentLocale);
|
||||
|
||||
const iconOnlyDesktop =
|
||||
!mobile && String(className ?? '').includes('nav-icon-only');
|
||||
const iconOnlyDesktop = !mobile && String(className ?? '').includes('nav-icon-only');
|
||||
|
||||
const label: ReactNode = (
|
||||
<>
|
||||
<IoLanguage
|
||||
className={iconOnlyDesktop ? styles.iconOnly : styles.iconLanguage}
|
||||
aria-hidden
|
||||
/>
|
||||
<IoLanguage className={iconOnlyDesktop ? styles.iconOnly : styles.iconLanguage} aria-hidden />
|
||||
{mobile || !iconOnlyDesktop ? (
|
||||
dropdownLabel
|
||||
) : (
|
||||
|
||||
@@ -80,9 +80,7 @@ export default function NavbarNavLink({
|
||||
<>
|
||||
{label}
|
||||
{isExternalLink && (
|
||||
<IconExternalLink
|
||||
{...(isDropdownLink && {width: 12, height: 12})}
|
||||
/>
|
||||
<IconExternalLink {...(isDropdownLink && {width: 12, height: 12})} />
|
||||
)}
|
||||
</>
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user