Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

perf: reduce SSR HTML payload by serving page tree via cacheable API

Aperta
#119 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
52/100
Tipo di issue
Refactoring
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
typescript

Direzione di ricerca

Inizia in entry-server.tsx, dove config, tree e i campi per-page vengono serializzati nell’SSR HTML, e traccia il percorso di questi dati fino al client. Definisci la risposta di /api/tree e il comportamento della cache, quindi verifica che l’SSR HTML conservi solo i dati per-page e che le risposte invariate espongano il comportamento di Cache-Control e ETag.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Problem

Every SSR response embeds the full site config + page tree in a <script> tag via window.__PAGE_DATA__. On large doc sites this can be 30-100KB+ of JSON per page load, with no HTTP caching (no ETag/Last-Modified/304 support).

Current Behavior

entry-server.tsx serializes config, tree, slug, version, frontmatter, relativePath, originalPath, prev, next into every HTML response.

Suggested Approach

  • Serve the page tree and config via a cacheable /api/tree endpoint with ETag support
  • Only embed the minimal per-page data (slug, frontmatter, prev/next) in SSR HTML
  • Add Cache-Control / ETag headers to SSR responses for unchanged pages
Lingua principale
TypeScript
Stelle
2
Fork
1
Merge medio
12m
PR unite (30g)
1

Preparare l'ambiente

  • Include un Dockerfile o un file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di raystack/chronicle

Tutte le issue di raystack/chronicle

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.