Zum Inhalt springen
Acecore

Von VitePress zu Starlight — Vereinheitlichung der Dokumentationssite-Frameworks

by Gui
Table of Contents
Von VitePress zu Starlight — Vereinheitlichung der Dokumentationssite-Frameworks

Hier ist eine Anleitung zur Migration einer VitePress-Dokumentationssite zu Astro + Starlight. Wenn Ihre Hauptseite auf Astro läuft, vereinfacht die Zusammenführung Ihrer Dokumentation unter Starlight den Betrieb. Wir behandeln auch die Migration von Mermaid-Diagrammen zum CDN.

Warum Frameworks vereinheitlichen?

Die Verwendung verschiedener Frameworks für die Hauptseite und die Dokumentationssite erzeugt folgende Probleme:

  • Doppelter Lernaufwand: Sie müssen sowohl VitePress- als auch Astro-Spezifikationen verstehen
  • Verteilte Abhängigkeiten: npm-Paketaktualisierungen in zwei separaten Systemen verwaltet
  • Konfigurationsinkonsistenz: ESLint, Prettier, Deploy-Einstellungen usw. unabhängig gepflegt

Die Vereinheitlichung auf Astro + Starlight ermöglicht die gemeinsame Nutzung von Konfigurationsdateimustern und Troubleshooting-Wissen.

Migrationsschritte: VitePress zu Starlight

1. Projektstruktur-Konvertierung

VitePress platziert Dokumente im docs/-Verzeichnis, Starlight verwendet src/content/docs/.

# Vorher (VitePress)
docs/
  pages/
    index.md
    business-overview.md
    market-analysis.md

# Nachher (Starlight)
src/
  content/
    docs/
      index.md
      business-overview.md
      market-analysis.md

2. Frontmatter-Anpassungen

VitePress und Starlight haben leicht unterschiedliche Frontmatter-Formate. Wir haben VitePress’ sidebar-Konfiguration zu Starlights Frontmatter-sidebar-Feld migriert.

# Starlight frontmatter
---
title: Business Overview
sidebar:
  order: 1
---

3. astro.config.mjs-Konfiguration

import { defineConfig } from 'astro/config'
import starlight from '@astrojs/starlight'

export default defineConfig({
  integrations: [
    starlight({
      title: 'Acecore Business Plan',
      defaultLocale: 'ja',
      sidebar: [
        {
          label: 'Business Plan',
          autogenerate: { directory: '/' },
        },
      ],
    }),
  ],
})

4. Entfernung von UnoCSS

In der VitePress-Umgebung wurde UnoCSS für benutzerdefinierte Styles verwendet, aber Starlight bietet ausreichende integrierte Standard-Styles. Wir haben uno.config.ts und zugehörige Pakete entfernt und die Abhängigkeiten verschlankt.

Mermaid-Diagramm CDN-Migration

Die Geschäftsplan-Dokumente verwenden Mermaid für Flussdiagramme und Organigramme. In VitePress wurde Mermaid über ein Plugin (vitepress-plugin-mermaid) eingebunden, ein solches Plugin existiert für Starlight jedoch nicht.

Daher haben wir zum Laden von Mermaid über CDN auf der Browserseite gewechselt.

Implementierung

Fügen Sie das Mermaid CDN-Skript zu Starlights benutzerdefiniertem Head hinzu:

// astro.config.mjs
starlight({
  head: [
    {
      tag: 'script',
      attrs: { type: 'module' },
      content: `
        import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs'
        mermaid.initialize({ startOnLoad: true })
      `,
    },
  ],
})

Standard-Mermaid-Syntax funktioniert unverändert in Markdown:

```mermaid
graph TD
    A[Business Plan] --> B[Market Analysis]
    A --> C[Sales Strategy]
    A --> D[Financial Plan]
```

Vorteile des CDN-Ansatzes

  • Null Build-Abhängigkeiten: Mermaid als npm-Paket wird nicht mehr benötigt
  • Immer aktuell: Ruft die neueste Version vom CDN ab
  • Kein SSR erforderlich: Wird im Browser gerendert, daher keine Auswirkung auf die Build-Zeit

Migrationsergebnisse

PunktVorherNachher
FrameworkVitePress 1.xAstro 6 + Starlight
CSSUnoCSSStarlight integriert
Mermaidvitepress-plugin-mermaidCDN (jsdelivr)
Build-Ausgabedocs/.vitepress/distdist
DeploymentCloudflare PagesCloudflare Pages (unverändert)

Durch die Framework-Vereinheitlichung können astro.config.mjs-Konfigurationsmuster und Deployment-Einstellungen über mehrere Projekte hinweg geteilt werden.

Fazit

Framework-Vereinheitlichung mag nicht „dringend” sein, aber je länger man betreibt, desto mehr zahlt es sich aus. Die Migration von VitePress zu Starlight kann in wenigen Stunden abgeschlossen werden, und der CDN-Ansatz für Mermaid ist eigentlich eine Befreiung vom Plugin-Management. Wenn Sie mehrere Projekte betreiben, sollten Sie eine Vereinheitlichung Ihres Tech-Stacks in Betracht ziehen.

Migrationsablauf

Ist-Analyse

Die VitePress + UnoCSS-Konfiguration bewertet.

Starlight-Einrichtung

Das Projekt mit Astro + Starlight neu strukturiert.

Inhaltsmigration

Markdown-Dateiablage und Frontmatter angepasst.

Mermaid CDN-Migration

Plugin-Abhängigkeit durch Diagramm-Rendering über CDN eliminiert.

Vor und nach der Migration

VitePress + UnoCSS
  • Vue-basierter SSG
  • Styling mit UnoCSS
  • Mermaid via Plugin
  • Separater Tech-Stack vom Astro-Projekt

Astro + Starlight
  • Astro-basierter SSG
  • Starlights integriertes Styling
  • Mermaid via CDN
  • Vereinheitlichtes Framework mit der Hauptseite
FAQ
Welche Vorteile hat die Migration von VitePress zu Starlight?
Wenn Ihre Hauptseite auf Astro läuft, reduziert die Framework-Vereinheitlichung den Lernaufwand, vereinfacht das Dependency-Management und verbessert die Konfigurationskonsistenz. Auch die Build-Pipelines können konsolidiert werden.
Wie werden Mermaid-Diagramme gerendert?
Wir haben von der Plugin-Abhängigkeit auf das Laden von Mermaid über CDN (jsdelivr) umgestellt. Dies eliminiert Build-Abhängigkeiten vollständig und liefert stabiles Diagramm-Rendering.
Wie viel Aufwand erfordert die Migration?
Die Hauptaufgaben sind die Konvertierung der Verzeichnisstruktur (docs/ → src/content/docs/) und die Anpassung des Frontmatters. Da der Inhalt selbst Markdown ist, kann er unverändert wiederverwendet werden, was die Migration relativ schnell macht.
G

Gui

CEO von Acecore. Ein vielseitiger Ingenieur, der Systementwicklung, Webproduktion, Infrastrukturbetrieb und IT-Bildung abdeckt. Löst gerne organisatorische und menschliche Herausforderungen durch Technologie.

Systementwicklung Webproduktion Infrastrukturbetrieb IT-Bildung

Want to learn more about our services?

We provide comprehensive support including system development, web design, graphic design, and IT education.

Related Posts

Artikel suchen