Skip to content

πŸ“ Guida alla Scrittura della Documentazione ​

Questa guida ti aiuterΓ  a scrivere documentazione chiara e coerente per il progetto Elerama Frontend.

🎯 Principi Base ​

  1. Chiarezza: Scrivi in modo semplice e diretto
  2. Esempi: Includi sempre esempi di codice pratici
  3. Aggiornamento: Aggiorna i docs quando modifichi il codice
  4. Organizzazione: Usa sezioni e sottosezioni logiche

πŸ“‚ Struttura dei File ​

Organizza i file per argomento:

docs/
β”œβ”€β”€ auth/           # Tutto sull'autenticazione
β”œβ”€β”€ cart/           # Gestione carrello
β”œβ”€β”€ api/            # Documentazione API
β”œβ”€β”€ testing/        # Guide ai test
└── ...

✍️ Formato Markdown ​

Frontmatter (opzionale) ​

Aggiungi metadati all'inizio del file:

yaml
---
title: Titolo della Pagina
description: Breve descrizione per SEO
---

Titoli ​

markdown
# Titolo Principale (H1) - Solo uno per pagina

## Sezione (H2)

### Sottosezione (H3)

#### Paragrafo (H4)

Blocchi di Codice ​

Usa la sintassi con linguaggio specificato:

markdown
```typescript
// Codice TypeScript
const example = "hello";
```

Aggiungi evidenziazione delle righe:

markdown
```typescript{2,4-6}
// Riga normale
const highlighted = true; // Evidenziata
// Riga normale
const block = {
  also: "highlighted"
};
```

Custom Containers ​

VitePress supporta container speciali:

markdown
::: tip SUGGERIMENTO
Questo Γ¨ un suggerimento utile!
:::

::: warning ATTENZIONE
Fai attenzione a questo aspetto!
:::

::: danger PERICOLO
Questo puΓ² causare problemi!
:::

::: details Clicca per espandere
Contenuto nascosto che si espande al click
:::
markdown
<!-- Link interno (relativo) -->
[Guida Autenticazione](./auth/authentication.md)

<!-- Link a sezione -->
[Vai alla sezione](#titolo-sezione)

<!-- Link esterno -->
[VitePress](https://vitepress.dev/)

Tabelle ​

markdown
| Funzione | Descrizione | Esempio |
|----------|-------------|---------|
| `login()` | Login utente | `await login(credentials)` |
| `logout()` | Logout utente | `await logout()` |

Badge ​

markdown
<Badge type="tip" text="Nuovo" />
<Badge type="warning" text="Deprecato" />
<Badge type="danger" text="Breaking Change" />

Emoji ​

Usa emoji per rendere la documentazione piΓΉ amichevole:

  • πŸš€ Per quick start, deployment
  • βœ… Per checklist, best practices
  • ⚠️ Per warning, note importanti
  • πŸ’‘ Per tips, suggerimenti
  • πŸ“ Per note, documentazione
  • πŸ”§ Per configurazione
  • πŸ› Per bug, problemi
  • 🎨 Per UI, design

πŸ“‹ Template per Nuove Pagine ​

Template Feature ​

markdown
---
title: Nome Feature
description: Breve descrizione della feature
---

# Nome Feature

Breve introduzione alla feature e quando usarla.

## 🎯 Scopo

Spiega cosa fa questa feature e perchΓ© Γ¨ utile.

## πŸš€ Quick Start

Esempio minimo per iniziare subito:

\`\`\`typescript
// Codice esempio
\`\`\`

## πŸ“– Guida Completa

### Installazione/Setup

Passi per configurare la feature.

### Utilizzo Base

\`\`\`typescript
// Esempio base
\`\`\`

### Utilizzo Avanzato

\`\`\`typescript
// Esempio avanzato
\`\`\`

## βš™οΈ Configurazione

Opzioni disponibili e come configurarle.

## πŸ§ͺ Testing

Come testare questa feature.

## ⚠️ Note Importanti

Aspetti da tenere in considerazione.

## πŸ“š Riferimenti

- [Link risorsa 1]()
- [Link risorsa 2]()

Template API ​

markdown
# API: Nome API

## Endpoint

\`\`\`
GET /api/endpoint
\`\`\`

## Parametri

| Nome | Tipo | Required | Descrizione |
|------|------|----------|-------------|
| `id` | `string` | βœ… | ID dell'elemento |

## Response

\`\`\`typescript
interface Response {
  data: string;
  success: boolean;
}
\`\`\`

## Esempio

\`\`\`typescript
const result = await apiRequest('/api/endpoint', {
  params: { id: '123' }
});
\`\`\`

## Errori

| Codice | Messaggio | Descrizione |
|--------|-----------|-------------|
| 404 | Not Found | Elemento non trovato |

🎨 Best Practices ​

DO βœ… ​

  • Esempi reali: Usa esempi dal codice reale del progetto
  • Coerenza: Mantieni lo stesso stile in tutta la documentazione
  • Testing: Testa gli esempi per assicurarti che funzionino
  • Aggiornamenti: Aggiorna i docs insieme al codice
  • Screenshots: Aggiungi immagini quando utili (in docs/public/images/)

DON'T ❌ ​

  • Non duplicare: Non ripetere informazioni presenti altrove
  • Non essere vago: Sii specifico e preciso
  • Non dimenticare: Non lasciare TODO o esempi incompleti
  • Non complicare: Evita spiegazioni troppo complesse

πŸ” Revisione ​

Prima di committare la documentazione:

  • [ ] Il titolo Γ¨ chiaro e descrittivo?
  • [ ] Gli esempi di codice funzionano?
  • [ ] I link sono corretti?
  • [ ] Il formato Γ¨ coerente?
  • [ ] La grammatica Γ¨ corretta?
  • [ ] È facile da capire per un nuovo sviluppatore?

πŸ“Š Sidebar ​

Quando aggiungi una nuova pagina, ricordati di aggiungerla in docs/.vitepress/config.ts:

typescript
sidebar: [
  {
    text: 'Categoria',
    items: [
      { text: 'Nuova Pagina', link: '/categoria/nuova-pagina' }
    ]
  }
]

πŸš€ Preview Locale ​

Avvia sempre il server locale per verificare che tutto sia corretto:

bash
npm run docs:dev

Ricorda: La documentazione Γ¨ importante quanto il codice!

Documentazione Elerama Frontend