2010-02-04 18 views
11

Estoy diseñando un sitio web simple sin contenido dinámico que quiero que sea liviano y portátil; no se necesita ni PHP ni otro scripting del lado del servidor. Me estoy encontrando con una pregunta que he tenido algunas veces antes.Plantillas HTML sin conexión

Me encantaría poder escribir elementos comunes (cabeza, pie, navegación) una vez y escribir las páginas individuales en el sitio solo con contenido, luego ejecutar esta misteriosa utilidad para compilar todo en un conjunto de archivos HTML listo para cargar Una página puede escribirse así:

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

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

Sería genial si el motor también tenía lógica que me permite incluir o excluir elementos (como Top Navigation anterior) de cada página, y automatizar tareas como el etiquetado de la página actual en la barra de navegación:

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

¿Hay algún motor por ahí como este?

+1

+1 gran pregunta. –

+0

Muchos sistemas de administración de contenido lo harán, aunque quizás con una sintaxis tan simple. –

Respuesta

4

Me dirigiría directamente hacia Template-Toolkit para esto. Viene con la utilidad ttree para construir un sitio estático.

Puede manejar la última parte de su pregunta con algo como:

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

Eso se ve bien, es fácil y flexible. Gracias. – s4y

+0

Actualmente, estoy empezando a crear un sitio con Template Toolkit. Recomendación impresionante. – s4y

1

Para ser honesto, esto es donde las cosas como PHP son útiles ... para incluir elementos comunes

Opción 1: usa un idioma y disfrútalo.

Opción 2: Usa el lenguaje para hacer el sitio ... pero luego apunta un rastreador en tu sitio para capturar el contenido "estático" generado. p.ej. WinHTTPTrack

0

Las plantillas de Adobe Dreamweaver hacen lo que necesita si una herramienta no gratuita es adecuada para usted.

Básicamente se crea una página de Plantilla donde se definen qué partes son editables, luego se crean todas las páginas basadas en la plantilla. Si cambia la plantilla y la guarda, todas las páginas asociadas son actualizaciones.

El sistema de plantillas también tiene la capacidad de definir atributos predeterminados y cambiarlos en una página específica. Puede usar esto para etiquetar la página actual, aunque para este mensaje en mi humilde opinión, un par de líneas de código jquery son mucho mejores.

1

Webby es fantástico para esto.

Otra gran opción es Jekyll.

+0

Ambos se ven increíbles. Los tendré en cuenta para futuros proyectos. – s4y

-1

Puede escribir un programa en cualquier idioma que esté familiarizado con salidas de archivos html estáticos. Podrías tener una estructura básica y luego para las cosas personalizadas, incluirla desde un archivo separado.

+0

Pedí una solución existente, no una tarea: P. – s4y

Cuestiones relacionadas