2010-02-04 15 views
11

Sto progettando un sito Web semplice senza contenuti dinamici che voglio essere leggero e portatile - non sono necessari PHP o altri script sul lato server o necessari. Mi sto imbattendo in una domanda che ho avuto alcune volte prima.HTML HTML offline

Mi piacerebbe essere in grado di scrivere elementi comuni (testa, piede, navigazione) una volta e scrivere le singole pagine sul sito con solo contenuto, quindi eseguire questa misteriosa utility per compilare tutto in un insieme di file HTML pronto per il caricamento. Una pagina potrebbe essere scritta in questo modo:

Title: Our Services 
Top Navigation: Yes 
Scripts: jquery, lightbox 

<p> 
    Example, Inc. offers a wide range of…

Sarebbe bello se il motore ha avuto anche la logica che mi permette di includere o escludere elementi (come Top Navigation sopra) da ogni pagina, e automatizzare le attività come etichettare la pagina corrente nella barra di navigazione:

<a href="/services"{page == 'services' ? ' class="current"' : ""}>Services</a> 

Ci sono dei motori là fuori in questo modo?

+1

+1 ottima domanda. –

+0

Molti sistemi di gestione dei contenuti lo faranno, anche se forse con una sintassi non semplice. –

risposta

4

Mi piacerebbe andare direttamente verso Template-Toolkit per questo. Viene fornito con l'utilità ttree per la creazione di un sito statico.

È possibile gestire l'ultima parte della tua domanda con qualcosa di simile:

[% 
    INCLUDE 'navbar.tt' 
    page = 'services' 
%] 
+0

Sembra bello, facile e flessibile. Grazie. – s4y

+0

In realtà sto iniziando a creare un sito con Template Toolkit ora. Raccomandazione straordinaria. – s4y

1

Per essere onesti, questo è dove le cose come PHP tornare utile ... per includere elementi comuni

Opzione 1: usa una lingua e divertiti.

Opzione 2: utilizzare la lingua per creare il sito ... ma poi puntare un crawler sul proprio sito per afferrare il contenuto "statico" generato. per esempio. WinHTTPTrack

0

I modelli di Adobe Dreamweaver fanno ciò che è necessario se uno strumento non libero va bene per te.

Fondamentalmente si crea una pagina Modello in cui si definiscono le parti modificabili, quindi si creano tutte le pagine in base al modello. Se si modifica il modello e lo si salva, tutte le pagine associate sono aggiornamenti.

Il sistema di modelli ha anche la possibilità di definire attributi predefiniti e di modificarli in una pagina specifica. Puoi usarlo per etichettare la pagina corrente, anche se per questo IMHO un paio di righe di codice jquery sono molto meglio.

1

Webby è fantastico per esattamente questo.

Un'altra ottima opzione è Jekyll.

+0

Entrambi sembrano fantastici. Li terrò a mente per i progetti futuri. – s4y

-1

È possibile scrivere un programma in qualsiasi lingua che abbia familiarità con l'output di file html statici. Si può avere una struttura di base e quindi per le cose personalizzate, la si include da un file separato.

+0

Ho chiesto una soluzione esistente, non un compito a casa: P. – s4y