v 0.0.155
30 January 2026, 09:56
2 file
modificati
Messaggio di Commit
Modifiche
Deleted
CHANGELOG_IMPLEMENTATION
CHANGELOG_IMPLEMENTATION.md
commit 9ccb5bc31c9d016873c2c7d5a551da00b0f7e37f Author: RickyMandich <[email protected]> Date: Fri Jan 30 10:56:54 2026 +0100 aggiornamento 2026 01 30 10:56 [v 0.0.155] diff --git a/CHANGELOG_IMPLEMENTATION.md b/CHANGELOG_IMPLEMENTATION.md deleted file mode 100644 index 0328f4e..0000000 --- a/CHANGELOG_IMPLEMENTATION.md +++ /dev/null @@ -1,281 +0,0 @@ -# Implementazione Sistema di Changelog - Riepilogo - -## Cosa Γ¨ stato fatto - -Γ stato implementato un sistema automatico di tracciamento delle modifiche ai file markdown del vault, che genera changelog in formato JSON per ogni versione del progetto. - -## File Creati/Modificati - -### 1. Nuovo Script: `bash/generate-changelog.sh` -Script bash che genera automaticamente i file JSON di changelog. - -**FunzionalitΓ **: -- Legge la versione dall'ultimo commit git -- Identifica tutti i file `.md` modificati nel commit -- Estrae i nomi visualizzati da `.normalize/map.json` -- Genera il diff completo per ogni file modificato -- Crea un file JSON per la versione corrente -- Aggiorna l'indice globale delle versioni - -**Esecuzione**: Viene chiamato automaticamente da `all.sh` dopo il commit - -### 2. Modificato: `bash/all.sh` -Integrato il nuovo script nel workflow di deploy. - -**Nuova sequenza**: -1. Normalizzazione (`normalize.sh`) -2. Versioning (incremento versione) -3. Commit (`cmt.sh`) -4. **Generazione Changelog** (`generate-changelog.sh`) β NUOVO -5. Deploy FTP (`onlyFtpOfLastCmt.sh`) - -### 3. Modificato: `.gitignore` -Aggiornato per tracciare i file di changelog. - -**Modifiche**: -```gitignore -# Normalize directory - ignore all except map.json and changelogs -.normalize/* -!.normalize/map.json -!.normalize/changelogs/ -!.normalize/changelogs/*.json -``` - -Questo assicura che i changelog vengano: -- Tracciati da git -- Inclusi nei commit -- Caricati sul server via FTP - -### 4. Nuova Documentazione: `bash/CHANGELOG_SYSTEM.md` -Documentazione completa per i backend developer che implementeranno la visualizzazione dei changelog nella web app. - -**Contenuto**: -- Panoramica del sistema -- Workflow completo -- Struttura dei file generati -- Formato dettagliato dei dati JSON -- Esempi di integrazione Laravel -- Esempi di visualizzazione HTML -- Note tecniche e troubleshooting - -### 5. Aggiornato: `README.md` -Aggiunto riferimento al sistema di changelog nel README principale. - -## Struttura dei Dati Generati - -### Directory -``` -.normalize/changelogs/ -βββ index.json # Indice di tutte le versioni -βββ v_0_0_1.json # Changelog versione v 0.0.1 -βββ v_1_0_0.json # Changelog versione v 1.0.0 -βββ ... -``` - -### File Indice (`index.json`) -Contiene l'elenco di tutte le versioni ordinate dalla piΓΉ recente alla piΓΉ vecchia. - -**Esempio**: -```json -{ - "versions": [ - { - "version": "v 1.2.3", - "date": "2026-01-29 15:30:45", - "commit_hash": "abc123def456789", - "changes_count": 5 - }, - { - "version": "v 1.2.2", - "date": "2026-01-28 14:20:30", - "commit_hash": "def789ghi012345", - "changes_count": 3 - } - ] -} -``` - -**Utilizzo**: Per mostrare la lista delle versioni disponibili nella pagina changelog. - -### File Versione (`v_X_Y_Z.json`) -Contiene i dettagli completi delle modifiche per una specifica versione. - -**Esempio**: -```json -{ - "version": "v 1.2.3", - "date": "2026-01-29 15:30:45", - "commit_hash": "abc123def456789", - "commit_message": "aggiornamento 2026 01 29 15:30 [v 1.2.3] - Aggiunta nuova location", - "changes": [ - { - "file": "locations/phandalin.md", - "display_name": "Phandalin", - "status": "Modified", - "diff": "diff --git a/locations/phandalin.md b/locations/phandalin.md\nindex abc123..def456 100644\n--- a/locations/phandalin.md\n+++ b/locations/phandalin.md\n@@ -10,7 +10,7 @@\n Contenuto...\n-Vecchia riga\n+Nuova riga\n" - }, - { - "file": "artefatti/party/nuovo-artefatto.md", - "display_name": "Nuovo Artefatto", - "status": "Added", - "diff": "diff --git a/artefatti/party/nuovo-artefatto.md b/artefatti/party/nuovo-artefatto.md\nnew file mode 100644\nindex 0000000..abc1234\n--- /dev/null\n+++ b/artefatti/party/nuovo-artefatto.md\n@@ -0,0 +1,10 @@\n+# Nuovo Artefatto\n+\n+Descrizione...\n" - } - ] -} -``` - -**Campi Principali**: -- `version`: Versione nel formato "v X.Y.Z" -- `date`: Data e ora del commit (YYYY-MM-DD HH:MM:SS) -- `commit_hash`: Hash completo del commit git -- `commit_message`: Messaggio completo del commit -- `changes`: Array di modifiche - -**Campi di ogni modifica**: -- `file`: Percorso relativo del file -- `display_name`: Nome visualizzato (da map.json) -- `status`: Tipo di modifica (Added/Modified/Deleted/Renamed/Copied/Changed) -- `diff`: Diff completo in formato git unified diff - -**Utilizzo**: Per mostrare i dettagli di una versione specifica. - -## Come Funziona - -### Workflow Automatico - -1. **Utente modifica file** in Obsidian -2. **Utente esegue** `bash bash/all.sh` (con opzioni `-v`, `-p`, o `-m` se necessario) -3. **normalize.sh** aggiorna `map.json` -4. **all.sh** incrementa la versione -5. **cmt.sh** esegue commit con messaggio contenente la versione -6. **generate-changelog.sh** (NUOVO): - - Legge la versione dal commit appena fatto - - Usa `git diff-tree` per trovare i file `.md` modificati - - Per ogni file: - - Estrae il nome visualizzato da `map.json` - - Determina il tipo di modifica (Added/Modified/Deleted) - - Genera il diff completo con `git show` - - Crea il file JSON `v_X_Y_Z.json` - - Aggiorna `index.json` con la nuova versione -7. **onlyFtpOfLastCmt.sh** carica tutto su Altervista (inclusi i changelog) - -### Esempio Pratico - -**Scenario**: Aggiungi un nuovo artefatto e modifichi una location esistente. - -**Comandi**: -```bash -# Dopo aver modificato i file in Obsidian -bash bash/all.sh -m "Aggiunto nuovo artefatto e aggiornata Phandalin" -``` - -**Risultato**: -1. Versione incrementata: `v 1.2.3` β `v 1.2.4` -2. Commit creato: `"aggiornamento 2026 01 29 15:30 [v 1.2.4] - Aggiunto nuovo artefatto e aggiornata Phandalin"` -3. File generato: `.normalize/changelogs/v_1_2_4.json` con: - - 2 modifiche tracciate - - Diff completo per entrambi i file -4. `index.json` aggiornato con la nuova versione in cima alla lista -5. Tutto caricato su Altervista - -## Integrazione Backend - -### Endpoint Suggeriti per Laravel - -#### 1. Lista Versioni -```php -// routes/api.php o routes/web.php -Route::get('/changelog', [ChangelogController::class, 'index']); - -// ChangelogController.php -public function index() -{ - $indexPath = storage_path('app/vault/.normalize/changelogs/index.json'); - $index = json_decode(file_get_contents($indexPath), true); - return view('changelog.index', ['versions' => $index['versions']]); -} -``` - -#### 2. Dettagli Versione -```php -Route::get('/changelog/{version}', [ChangelogController::class, 'show']); - -public function show($version) -{ - $version = preg_replace('/[^a-zA-Z0-9_]/', '', $version); - $path = storage_path("app/vault/.normalize/changelogs/{$version}.json"); - - if (!file_exists($path)) { - abort(404); - } - - $changelog = json_decode(file_get_contents($path), true); - return view('changelog.show', ['changelog' => $changelog]); -} -``` - -## Documentazione Completa - -Per tutti i dettagli tecnici, esempi di codice e troubleshooting, consulta: - -π **`bash/CHANGELOG_SYSTEM.md`** - -Questo documento contiene: -- Formato completo dei dati JSON -- Esempi di integrazione Laravel -- Esempi di visualizzazione HTML/Blade -- Spiegazione del formato diff -- Note tecniche -- Troubleshooting - -## Note Importanti - -### File Tracciati -- β Solo file `.md` vengono tracciati -- β File in `.trash/` vengono ignorati -- β File in `bash/` vengono ignorati - -### Sincronizzazione -I changelog vengono automaticamente: -1. Tracciati da git (grazie al `.gitignore` aggiornato) -2. Inclusi nei commit -3. Caricati su Altervista via FTP - -### RetrocompatibilitΓ -Il sistema Γ¨ completamente retrocompatibile: -- Non modifica il workflow esistente -- Aggiunge solo un passaggio di generazione changelog -- Non richiede modifiche ai file esistenti -- Funziona con il sistema di versioning giΓ in uso - -## Prossimi Passi - -1. β Sistema implementato e pronto all'uso -2. β³ Testare con il prossimo deploy (eseguendo `bash bash/all.sh`) -3. β³ Implementare la visualizzazione nella web app Laravel -4. β³ (Opzionale) Generare changelog per versioni precedenti usando `git log` - -## Verifica Implementazione - -### File Creati -- β `bash/generate-changelog.sh` - Script di generazione changelog -- β `bash/CHANGELOG_SYSTEM.md` - Documentazione tecnica completa -- β `CHANGELOG_IMPLEMENTATION.md` - Questo documento di riepilogo - -### File Modificati -- β `bash/all.sh` - Integrato il nuovo script nel workflow -- β `.gitignore` - Configurato per tracciare i changelog -- β `README.md` - Aggiunto riferimento al sistema di changelog - -### Sintassi Verificata -- β `bash/generate-changelog.sh` - Nessun errore di sintassi -- β `bash/all.sh` - Nessun errore di sintassi - -### Pronto per il Test -Il sistema Γ¨ completamente implementato e pronto per essere testato al prossimo deploy. - ---- - -**Documentazione per Backend Developer**: `bash/CHANGELOG_SYSTEM.md` -**Workflow Visivo**: Vedi diagramma Mermaid nel task manager -
Deleted
CHANGELOG_QUICK_START
CHANGELOG_QUICK_START.md
commit 9ccb5bc31c9d016873c2c7d5a551da00b0f7e37f Author: RickyMandich <[email protected]> Date: Fri Jan 30 10:56:54 2026 +0100 aggiornamento 2026 01 30 10:56 [v 0.0.155] diff --git a/CHANGELOG_QUICK_START.md b/CHANGELOG_QUICK_START.md deleted file mode 100644 index 25a7ab2..0000000 --- a/CHANGELOG_QUICK_START.md +++ /dev/null @@ -1,126 +0,0 @@ -# Sistema di Changelog - Quick Start - -## π― Cosa Fa - -Traccia automaticamente tutte le modifiche ai file `.md` per ogni versione e genera file JSON pronti per la web app. - -## π File Generati - -``` -.normalize/changelogs/ -βββ index.json # Lista di tutte le versioni -βββ v_0_0_1.json # Dettagli versione 0.0.1 -βββ v_0_0_2.json # Dettagli versione 0.0.2 -βββ ... -``` - -## π Come Funziona - -**Niente da fare!** Il sistema Γ¨ completamente automatico. - -Quando esegui: -```bash -bash bash/all.sh -``` - -Il sistema: -1. β Normalizza i file -2. β Incrementa la versione -3. β Fa il commit -4. β **Genera automaticamente il changelog** β NUOVO -5. β Carica tutto su Altervista (inclusi i changelog) - -## π Formato Dati - -### Index.json -```json -{ - "versions": [ - { - "version": "v 1.2.3", - "date": "2026-01-29 15:30:45", - "commit_hash": "abc123...", - "changes_count": 5 - } - ] -} -``` - -### v_1_2_3.json -```json -{ - "version": "v 1.2.3", - "date": "2026-01-29 15:30:45", - "commit_hash": "abc123...", - "commit_message": "aggiornamento 2026 01 29 15:30 [v 1.2.3]", - "changes": [ - { - "file": "locations/phandalin.md", - "display_name": "Phandalin", - "status": "Modified", - "diff": "diff --git a/locations/phandalin.md..." - } - ] -} -``` - -## π Documentazione - -### Per Te (Utente) -- **Quick Start**: Questo file -- **README.md**: Aggiornato con info sul changelog - -### Per Backend Developer -- **`bash/CHANGELOG_SYSTEM.md`**: Documentazione tecnica completa -- **`bash/CHANGELOG_EXAMPLES.md`**: Esempi concreti di JSON e codice Laravel -- **`CHANGELOG_IMPLEMENTATION.md`**: Riepilogo implementazione - -## π§ File Modificati - -- β `bash/all.sh` - Integrato il nuovo script -- β `.gitignore` - Configurato per tracciare i changelog -- β `README.md` - Aggiunto riferimento al sistema - -## π File Creati - -- β `bash/generate-changelog.sh` - Script di generazione -- β `bash/CHANGELOG_SYSTEM.md` - Documentazione tecnica -- β `bash/CHANGELOG_EXAMPLES.md` - Esempi pratici -- β `CHANGELOG_IMPLEMENTATION.md` - Riepilogo implementazione -- β `CHANGELOG_QUICK_START.md` - Questo file - -## β Verifica - -- β Sintassi script verificata -- β Integrazione in `all.sh` completata -- β `.gitignore` configurato -- β Documentazione completa - -## π¬ Prossimi Passi - -1. **Testa il sistema**: Al prossimo deploy, verifica che i file JSON vengano generati in `.normalize/changelogs/` -2. **Passa ai backend developer**: Condividi `bash/CHANGELOG_SYSTEM.md` e `bash/CHANGELOG_EXAMPLES.md` -3. **Implementa nella web app**: I backend developer possono creare la pagina changelog usando i file JSON - -## π‘ Note - -- Solo file `.md` vengono tracciati -- File in `.trash/` e `bash/` vengono ignorati -- I changelog vengono caricati automaticamente su Altervista -- Il sistema Γ¨ completamente retrocompatibile - -## π Problemi? - -Se qualcosa non funziona, controlla: -1. Il commit contiene modifiche a file `.md`? -2. Il messaggio di commit contiene `[v X.Y.Z]`? -3. Lo script `generate-changelog.sh` ha i permessi di esecuzione? - -Per dettagli: vedi `bash/CHANGELOG_SYSTEM.md` sezione "Troubleshooting" - ---- - -**Tutto pronto!** π - -Il sistema Γ¨ implementato e funzionerΓ automaticamente al prossimo deploy. -