Wintersmith — Generador de sitios estáticos de Node.js

El fin de semana pasado fue muy productivo para mí, porque comencé a trabajar y publiqué el sitio web de una página de mi libro:rapidprototypingwithjs.com. He usado Wintersmith para aprender algo nuevo y enviarlo rápido. Wintersmith es un generador de sitios estáticos de Node.js. Me impresionó mucho la flexibilidad y la facilidad de desarrollo. Además, pude utilizar mis herramientas favoritas, como Markdown, Jade y Underscore.


Por qué los generadores de sitios estáticos

Aquí hay un buen artículo sobre por qué usar un generador de sitios estáticos es una buena idea en general, Introducción a los generadores de sitios estáticos. Básicamente se reduce a algunas cosas principales:

Plantillas

Puede utilizar un motor de plantillas como Jade. Jade usa espacios en blanco para estructurar elementos anidados y su sintaxis es similar al marcado Haml de Ruby on Rail.

Rebaja

Copié el texto de rebajas del capítulo Introducción de mi libro y lo usé sin ninguna modificación. Wintersmith viene con analizador marcado por defecto. Más información sobre por qué Markdown es excelente en mi publicación anterior, Markdown Goodness.

Implementación sencilla

Todo es HTML, CSS y JavaScript, por lo que solo carga los archivos con un cliente FTP, por ejemplo, Transmit by Panic o Cyberduck.

Alojamiento básico

Debido al hecho de que cualquier servidor web estático funcionará bien, no hay necesidad de soluciones PaaS Heroku o Nodejitsu, ni siquiera de alojamiento PHP/MySQL.

Rendimiento

No hay llamadas a la base de datos, ni llamadas a la API del lado del servidor, ni sobrecarga de CPU/RAM.

Flexibilidad

Wintersmith permite diferentes complementos para contenidos y plantillas e incluso puede escribir su propio complemento.

Primeros pasos con Wintersmith

Hay una guía de inicio rápido en github.com/jnordberg/wintersmith.

Para instalar Wintersmith globalmente, ejecute NPM con -g y sudo:

$ sudo npm install wintersmith -g

Luego ejecute para usar la plantilla de blog predeterminada:

$ wintersmith new <path>

o para sitio vacío:

$ wintersmith new <path> -template basic

o usa un atajo:

$ wintersmith new <path> -T basic

Similar al andamiaje de Ruby on Rails, Wintersmith generará un esqueleto básico con contenidos y plantillas carpetas Para obtener una vista previa de un sitio web, ejecute estos comandos:

$ cd <path>
$ wintersmith preview
$ open http://localhost:8080

La mayoría de los cambios se actualizarán automáticamente en el modo de vista previa, excepto el archivo config.json.

[Nota al margen]

Leer publicaciones de blog es bueno, pero ver cursos en video es aún mejor porque son más atractivos.

Muchos desarrolladores se quejaron de la falta de material de video de calidad asequible en Node. Es una distracción ver videos de YouTube y una locura pagar $ 500 por un curso de video de Node.

Visite Node University, que tiene cursos de video GRATUITOS en Node:node.university.

[Fin de la nota al margen]

Imágenes, CSS, JavaScript y otros archivos entran en contenido carpeta.
El generador de Wintersmith tiene la siguiente lógica:

  1. busca archivos *.md en la carpeta de contenidos,
  2. lee metadatos como el nombre de la plantilla,
  3. procesa plantillas *.jade por metafecha en archivos *.md.

Cuando haya terminado con su sitio estático, simplemente ejecute:

$ wintersmith build

Otros generadores de sitios estáticos

Estos son algunos de los otros generadores de sitios estáticos de Node.js:

  • DocPad
  • Herrero
  • escocés
  • Trigo
  • Petrificar

Una descripción más detallada de estos generadores de sitios estáticos está disponible en la publicación, Generadores de sitios estáticos basados ​​en nodos.

Para otros lenguajes y marcos como Rails y PHP, eche un vistazo a Static Site Generators de GitHub Watcher Count y la "madre de todas las listas de generadores de sitios".