Come realizzare e modificare velocemente pagine web simili

Chi di voi ha avuto a che fare con la costruzione di siti (dove si suppone che le varie pagine abbiano colori e strutture identiche) si sarà sicuramente trovato difronte alla problematica di voler cambiare uno degli elementi comuni a tutte le pagine.
Operazione, quest'ultima, che richiede un tempo direttamente proporzionale al numero delle pagine del sito. L'alternativa è avere un server e conoscere i linguaggi server-side come Php ecc... oppure fare come me. Se dovete gestire un piccolo sito vi consiglio la seconda possibilità.
Nota: ho chiamato il programma "assemblatore" ma ovviamente non ha nulla a che fare con l'assembly; il nome si riferisce al fatto che quello che si cerca di fare è di assemblare diverse stringhe di HTML provenienti da file diversi in un determinato modo per ottenere una pagina web organica.

in Javascript

Si tratta di spostare tutte le informazioni da condividere tra le varie pagina web in uno script esterno, ovvero un file di tipo js che contiene tutte le informazioni sul codice HTML che compone la struttura delle pagine e i link. Questo metodo è indicato per la maggior parte degli utenti, anche perché non c'è bisogno di conoscere il Javascript se vi fidate ciecamente di quello che dico. Troverete tutte le informazioni e numerosi esempi nella prolissa guida (recensita da Manuali.net).

in Java

Ho realizzato questo programma per uso personale e non per diffonderlo; dunque, anche se lo trovo straordinariamente funzionale, non ha un'interfaccia intuitiva per chi si appresta ad usarlo (anzi non ha proprio nessuna interfaccia) e soprattutto non ho voglia di scrivere le istruzioni dettagliatamente.

Il mio consiglio è di scaricarlo ed eseguirlo subito così come lo trovate, con i file di esempio che vi ho fornito. Noterete che all'interno della cartella sito vengono generate alcune pagine web di esempio sul modello di questo sito.

Se volete solo utilizzare il programma (se non siete degli javisti insomma) è sufficente che abbiate installato il Java Runtime Enviroment (ma probabilmente lo possedete già), che trovate sul sito java.sun.com. Con il comando:

java assemblatore nomeFile

verrà creato un file di nome nomeFile contenente le informazioni sull'esecuzione del programma (e sua buona riuscita o meno), che altrimenti vengono stampate sul Prompt dei comandi. Se non ne avete bisogno cliccate molto più semplicemente su esegui.bat.

Differentemente dalla tecnica in javascript, che agiva a tempo di apertura della pagina, con questo programma non si dice alle pagine web di andare a cercarsi il codice HTML su un file, ma, eseguendolo, gli si fornisce tutto il codice necessario che andrà a scrivere su ogni singolo file. L'inconveniente è che ad ogni modifica strutturale bisogna riuploadare tutte le pagine (a meno che non troviate il modo di eseguire il programma direttamente dal server che ospita il vostro sito).
Al momento dell'esecuzione, il programma cerca le informazioni fondamentali per la scrittura in due file che devono trovarsi nella stessa cartella dal quale viene eseguito: sorgente.txt deve contenere l'ossatura delle pagine (cioè le parti di codice comuni a tutte le pagine) tra opportune stringhe di riconoscimento, struttura.txt usa una semplice interfaccia (le istruzioni si trovano all'interno del file fornito insieme al programma) che il programma riconosce per creare elenchi (che comprendono con tutti i link, le voci che devono apparire nel menù, il modo in cui aprire le pagine ecc..) delle pagine che formeranno il vostro sito.

Sempre nella stessa cartella devono trovarsi anche due directory che dovete chiamare esattamente sito/ e txt/. La prima è quella nella quale il programma crea i file HTML che costituiranno il vostro sito. txt/ contiene le informazioni necessarie a creare ogni singolo file (implmendando cioè il testo della pagina alla struttura contenuta in sorgente.txt). Avremo per ogni pagina web in sito/ di nome nomepagina.html un file speculare di nome nomepagina.html.txt contenuto in txt/. Questo significa che non dovremo mai aprire il codice HTML delle pagine web, che ogni modifica avverrà su uno dei file txt, e che per rendere effettive le modifiche dovremo eseguire il programma.

capito adesso?

Il programma è preimpostato per generare un sito con una "profondità" minore o uguale a due (come il sito che state vedendo, rigorosamente e totalmente realizzato con questo programma). Questo significa che potrete fare un homepage, delle pagine collegate a questa, e altre pagine collegate a queste altre; se volete spingervi più avanti potete crackarmi il programma e perderci un po' di tempo per fargli gestire array a tre dimensioni o robba del genere.

Potete generare pagine web con una quantità e un ordine di "parti" fisse (cioè conenute in sorgente.txt) e variabili (conenute nei vari files txt) che sceglierete voi scrivendo alcune righe in struttura.txt. Aprendo quest'ultimo troverete anche le istruzioni per creare questi elenchi che il programma riconosce SOLO se li scrivete in modo corretto. Ad esempio per dirgli che volete chiamare "pippo" una parte di codice che va inserita solo se nella pagina sono presenti due menù dovete scrivere "con - pippo" e non "con - pippo ". Per venirvi incorntro ho passato un pomeriggio a programmare le eccezioni in modo tale che il programm vi dirà se e dove avete avete commesso degli errori scrivendo minchiate nel delicatissimo struttura.txt.

Sia in sorgente.txt che nei vari nomefile.html.txt le varie parti sono comprese tra stringhe del tipo "<!--nomeParte-->" e "<!--f.nomeParte-->". Il fatto che ho scelto di usare la stessa scrittura dei commenti HTML è del tutto casuale: le stringhe "<!--nomeParte-->" comunque non verranno copiate nelle pagine web generate. I due menù sono ottenuti reiterando la stessa porzione di codice per ogni sua voce, cambia soltanto di volta in volta il link e il titolo al quale fa riferimento.

Le altre cose le scoprirete scaricando il programma, e iniziando a modificare i miei files di esempio. E se vi intendete di Java e date qualche ritoccata al mio programmino, in particolare create un'interfaccia grafica che sostiuisce gli antiestetici file di controllo, ve ne sarei grato...








leggi la guida per l'utilizzo di Javascript

scarica la guida in javascript

scarica l'assemblatore in Java