DocTunes Dokumentations-Starter-Kit
Vollständige Anleitung zur Erstellung moderner Entwicklerdokumentationen, zur Konfiguration von Edge-Routing-Middleware und zur Einrichtung automatisierter mehrsprachiger Sub-Proxy-Übersetzungen.
Erste Schritte
Um Ihr neues Dokumentationsportal mit unserem TypeScript-Starter-Kit zu starten, führen Sie den folgenden Befehl in Ihrem Terminal aus:
# Klonen und Abhängigkeiten installieren
git clone https://github.com/doctunes/documentation-starter-kit.git my-docs
cd my-docs
npm install
# Entwicklungsserver auf localhost:3000 starten
npm run dev- middleware.ts — Globaler mehrsprachiger Sub-Proxy-Rewrite-Handler
- app/layout.tsx — Globale HTML-Shell, Schriftartdeklarationen und Navigations-/Fußzeile
- app/page.tsx — Landing Page & Interaktive Hero
- app/docs/page.tsx — Haupt-Dokumentations-Hub
- app/playground/page.tsx — Interaktiver Routing-Simulator
- components/ — Wiederverwendbare CodeBlock, Navbar, SearchModal usw.
Mehrsprachige Middleware
Das Herzstück unserer Internationalisierungs-Engine ist die Edge middleware.ts im Stammverzeichnis des Projekts platziert. Sie fängt alle eingehenden Anfragen ab, prüft gegen einen Regex für über 80 Sprachpräfixe und schreibt die Anfrage sicher an den Übersetzungs-Proxy um.
| 1 | import { NextRequest, NextResponse } from 'next/server' |
| 2 | |
| 3 | const LANGUAGE_PATH = new RegExp( |
| 4 | '^/(?:mn-mong|sr-cyrl|sr-latn|zh-hans|zh-hant|es-419|en-us|en-gb|en-ca|en-au|fr-fr|fr-ca|fr-be|fr-ch|de-de|de-at|de-ch|pt-pt|pt-br|es-es|mww|af|sq|am|ar|hy|as|az|ba|eu|bn|bs|pt|bg|ca|hr|cs|da|dv|nl|en|et|fo|fj|fl|fi|fr|gl|ka|de|el|gu|ht|ha|he|hi|hu|is|ig|id|iu|ga|it|ja|kn|kk|rw|ko|ku|ky|lo|lv|ln|lt|lg|mk|mg|ms|ml|mt|mr|ne|no|or|ps|fa|pl|pa|ro|ru|sm|sd|si|sk|sl|so|es|sw|sv|ty|ta|tt|te|th|bo|ti|to|tr|tk|uk|ur|ug|uz|vi|cy|xh|yo|zu)(?:/|$)', |
| 5 | 'i' |
| 6 | ) |
| 7 | |
| 8 | export function middleware(request: NextRequest) { |
| 9 | if (!LANGUAGE_PATH.test(request.nextUrl.pathname)) { |
| 10 | return NextResponse.next() |
| 11 | } |
| 12 | |
| 13 | const destination = new URL( |
| 14 | request.nextUrl.pathname + request.nextUrl.search, |
| 15 | 'https://sub-proxy.multilipi.com' |
| 16 | ) |
| 17 | const headers = new Headers(request.headers) |
| 18 | headers.set('X-Translation-Mode', 'sub-directory') |
| 19 | headers.set('X-Original-Host', 'divanshu.doctunes.io') |
| 20 | return NextResponse.rewrite(destination, { request: { headers } }) |
| 21 | } |
| 22 | |
| 23 | export const config = { matcher: '/:path*' } |
Im Gegensatz zu Standard-HTTP-301/302-Weiterleitungen NextResponse.rewrite() modifiziert den Backend-Proxy-Ursprung, während die exakte URL in der Adressleiste des Benutzerbrowsers vollständig intakt bleibt.
Sub-Proxy-Header
Beim Umschreiben auf https://sub-proxy.multilipi.com, werden zwei obligatorische Header eingefügt, um eine genaue Mandantenisolierung und den Übersetzungsmodus zu gewährleisten:
| Header-Name | Wert | Zweck |
|---|---|---|
| X-Translation-Mode | sub-directory | Weist die MultiLipi-Übersetzungs-Engine an, die Locale aus dem führenden Pfad zu parsen. |
| X-Original-Host | divanshu.doctunes.io | Gibt die registrierte Ursprungsdomäne für SSL- und Lizenzvalidierung an. |
Unterstützte Locales (80+)
Der reguläre Ausdruck behandelt sowohl generische zweibuchstabige Sprachcodes (z. B. es, de, fr) als auch lokalisierte regionale Dialekt-Tags (z. B. zh-hans, pt-br, sr-cyrl):
+ über 50 weitere globale Sprachen, die dynamisch abgeglichen werden.
UI-Komponenten & Codeblöcke
Jede Seite enthält vorformatierte Dark-Mode-UI-Komponenten wie kopierbare Codeblöcke, reaktionsfähige Tabellen, Callout-Banner und modale Dialoge.
import CodeBlock from '@/components/CodeBlock'
export default function MyDocs() {
return (
Installation
)
}API-Referenz
DocTunes bietet REST- & Edge-Hilfsfunktionen zur programmatischen Inspektion von Locale-Konfigurationen:
Gibt die Liste der aktiven Sub-Proxy-Locales, den Status und den Zielhostnamen zurück.
{
"status": "online",
"gateway": "https://sub-proxy.multilipi.com",
"originalHost": "divanshu.doctunes.io",
"totalLocales": 84,
"defaultLocale": "en"
}Bereitstellungsanleitung
Stellen Sie Ihr Projekt sofort auf Vercel, AWS Amplify, Cloudflare Pages oder selbst gehosteten Docker-Containern bereit:
# Bereitstellung für die Produktion mit benutzerdefinierter Umgebung
npx vercel --prod