Progettare un sistema editoriale riutilizzabile
Come abbiamo trasformato un'interfaccia blog usata una sola volta in una superficie editoriale riutilizzabile, capace di mantenere la propria identità anche fuori dal prodotto originale.
- Autore
Bruma- Pubblicato
- Tempo di lettura
- 2 min
- Categoria
- Sistemi di design

Parti dal ritmo editoriale
Un'interfaccia blog riutilizzabile funziona meglio quando tipografia e spaziatura sono stabili prima di pensare al branding del prodotto. Quando ogni progetto deve reinterpretare titoli, card o metadati, il livello condiviso dei componenti smette di far risparmiare tempo.
In questa demo l'obiettivo non è simulare un CMS con dati infiniti. È dimostrare che i componenti condivisi per i contenuti possono visualizzare un articolo credibile, un flusso di categorie e un'esperienza di navigazione coerente tra le route.
Il renderer mantiene leggibili nel testo riferimenti come BlogContentRenderer e sm:my-8, senza trasformarli in blocchi di codice completi.
- Tipografia e spaziatura stabili rendono portabile la pagina dell'articolo
- I blocchi condivisi riducono la duplicazione tra app basate sui contenuti
- I wrapper preservano la compatibilità a livello di app mentre spostano la UI reale nella libreria
Un sistema riutilizzabile ha bisogno di confini chiari
La libreria possiede gli elementi di interfaccia riutilizzabili: card hero, carousel, griglie di categorie, FAQ, informazioni sull'autore e comportamento dell'indice dei contenuti. La demo app possiede la sorgente dei contenuti e la composizione delle route.
È questo confine a rendere il setup portabile. Un altro progetto può cambiare l'inventario degli articoli, le informazioni sull'autore o la frequenza di pubblicazione senza riscrivere i blocchi condivisi.
Dal contenuto alla route
Ogni livello mantiene la propria responsabilità mentre l'articolo resta riutilizzabile.
- 01Entry markdown
- 02Collezione dei contenuti
- 03Componente condiviso
- 04Route localizzata
{
"title": "Progettare un sistema editoriale riutilizzabile",
"category": "Sistemi di design",
"tags": [
"Contenuti",
"Vue"
]
}I contenuti reali sono un test migliore degli array statici
Gli array simulati sono utili all'inizio, ma nascondono la forma reale di una pagina editoriale. Quando i contenuti vivono nel markdown, puoi verificare subito la gestione dei percorsi, i campi del frontmatter, le query dei contenuti correlati e il rendering del corpo dell'articolo.
È qui che il comportamento simile alla produzione diventa importante. Una pagina articolo funzionante non è solo un'immagine hero con qualche paragrafo. Include:

- Metadati della categoria
- Informazioni sull'autore e sulla pubblicazione
- Un indice dei contenuti basato sui dati
- Link agli articoli correlati
- Link alle categorie correlate
npm installnpm run dev| Responsabilità | Libreria | App |
|---|---|---|
| Blocchi UI editoriali | Card, liste, tabelle, divisori, indice, FAQ, informazioni autore | Li utilizza tramite wrapper o import diretti |
| Sorgente dei contenuti | Nessun contenuto di prodotto hardcoded | Entry markdown e query delle route |
| Blocchi di conversione specifici | Opzionali | Gestisce card CTA come GiveItATryCard |
Il markdown fa emergere le ipotesi sui contenuti
Con il markdown nel flusso, la pagina deve gestire prosa lunga e titoli annidati in modo naturale. Se spaziatura, stili della prosa o dati dell'indice si rompono, il problema diventa subito evidente.
La demo app dovrebbe comportarsi come un consumer
La demo app è più utile quando esercita la libreria come farebbe un prodotto reale. Questo significa importare i subpath pubblicati, affidarsi ai moduli Nuxt usati in produzione e interrogare i contenuti tramite le stesse API invece di aggirarle.
Questo approccio mantiene la demo onesta. Se qualcosa è complicato qui, sarà complicato anche per la prossima app che utilizzerà la libreria.
Domande frequenti
Trova risposte rapide alle domande piu comuni su questo argomento.
Perché permette a più progetti di riutilizzare le stesse superfici editoriali, le scelte di spaziatura e i pattern di interazione senza ricostruirli ogni volta.
Autore
Bruma



