2010-02-04 10 views
11

Ich entwerfe eine einfache Website ohne dynamischen Inhalt, die ich leicht und portabel sein möchte - kein PHP oder andere serverseitige Skripts benötigt oder gewünscht. Ich stoße auf eine Frage, die ich schon einige Male hatte.Offline HTML Templating

Ich würde gerne gemeinsame Elemente (Kopf, Fuß, Navigation) einmal schreiben und schreiben Sie die einzelnen Seiten auf der Website nur mit Inhalt, dann führen Sie dieses mysteriöse Dienstprogramm, um alles in eine Reihe von HTML-Dateien zu kompilieren bereit zum Hochladen. Eine Seite könnte wie folgt geschrieben werden:

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

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

Es wäre toll, wenn der Motor auch Logik hat, die ich einschließen oder ausschließen Elemente (wie Top Navigation oben) von jeder Seite kann und automatisieren Aufgaben wie die aktuelle Seite Beschriftung in der Navigationsleiste:

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

Gibt es Motoren da draußen so?

+1

+1 große Frage. –

+0

Viele Content-Management-Systeme werden dies tun, wenn auch mit nicht so einfacher Syntax. –

Antwort

4

Ich würde direkt in Richtung Template-Toolkit dafür gehen. Es kommt mit dem ttree Dienstprogramm zum Erstellen einer statischen Site.

Sie können den letzten Teil Ihrer Frage mit so etwas wie handhaben:

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

Das sieht gut aus, einfach und flexibel. Vielen Dank. – s4y

+0

Ich fange gerade an, eine Website mit Template Toolkit zu erstellen. Tolle Empfehlung. – s4y

1

Um ehrlich zu sein, das ist, wo Dinge wie PHP kommen in praktisch ... gemeinsame Elemente

enthalten

Option 1: Verwenden Sie eine Sprache und genießen Sie es.

Option 2: Verwenden Sie die Sprache, um die Site zu erstellen ..., weisen Sie jedoch einen Crawler auf Ihre Site, um den generierten "statischen" Inhalt zu erfassen. z.B. WinHTTPTrack

0

Adobe Dreamweaver's Templates tun, was Sie brauchen, wenn ein kostenloses Tool für Sie in Ordnung ist.

Grundsätzlich erstellen Sie eine Vorlagenseite, auf der Sie definieren, welche Teile bearbeitbar sind. Anschließend erstellen Sie alle Ihre Seiten basierend auf der Vorlage. Wenn Sie die Vorlage ändern und speichern, werden alle zugehörigen Seiten aktualisiert.

Das Vorlagensystem hat auch die Möglichkeit, Standardattribute zu definieren und sie auf einer bestimmten Seite zu ändern. Sie können dies für die Beschriftung der aktuellen Seite verwenden, obwohl für diese IMHO ein paar Zeilen jQuery-Code viel besser sind.

1

Webby ist fantastisch für genau dies. Eine andere großartige Option ist Jekyll.

+0

Beide sehen toll aus. Ich werde sie für zukünftige Projekte behalten. – s4y

-1

Sie könnten ein Programm in jeder Ihnen bekannten Sprache schreiben, die statische HTML-Dateien ausgibt. Sie könnten eine Grundstruktur haben und dann für die angepassten Sachen, Sie fügen es aus einer separaten Datei ein.

+0

Ich fragte nach einer bestehenden Lösung, keine Hausaufgabe: P. – s4y