Hola Habr!
Me gustaría presentar el generador de sitio estático de código abierto escrito en Node.JS , basado en Webpack , a los ciudadanos de Habrovsk .
El proyecto está inspirado en el mismo Jekyll , pero básicamente utiliza una pila tecnológica moderna. Por ejemplo, proporciona la capacidad de "cargar en caliente" (sin volver a cargar la página) scripts y estilos modificados.

El proyecto está dirigido a un público internacional, por lo que el sitio web oficial, la documentación y los videos están en inglés.
Caracteristicas
- Pila de tecnología moderna
Cree sitios modernos con scripts y estilos bien empaquetados (minificados, comprimidos, incluyendo gzip).
Puede desarrollar rápidamente un prototipo de sitio e implementarlo en el servidor.
Use cualquier marco frontal moderno (Webpack dentro): Vue.JS , React , Angular , Ember , etc. - Súper rápido y confiable
Procesa ~ 1000 páginas por segundo (dependiendo del contenido de la página, así como de la potencia del procesador).
Está claro que el proceso de renderizar HTML estático es muchas veces más rápido que cualquier lenguaje interpretado. - Cualquier hosting lo hará
No requiere una base de datos (la información se almacena en archivos) y funciona en cualquier alojamiento (ya que la salida son archivos y activos html estáticos ). - Implementación Embebida
Cree un preajuste e implemente el sitio en el servidor a través de FTP, SFTP o incluso rsync
.
Recientemente, se ha publicado material sobre cómo implementar un sitio de forma gratuita ahora.sh. - Seguro. Sin actualizaciones
Puede olvidarse de la necesidad de actualizaciones periódicas, como, por ejemplo, en el mismo WordPress.
Seguridad al nivel del 100%, porque nadie ha logrado descifrar HTML estático (característica). - Gratis Código abierto
Uso en salud. No pagues un centavo.
Para qué fines es adecuado:
- Creación rápida de prototipos (hizo una plantilla, mostró un prototipo funcional y luego lo metió en el motor)
- Portafolio
- Sitio web de la empresa
- Sitio del producto
- Blog personal
Adecuado para cualquier sitio donde no haya contenido generado por el usuario.
Incluso puedes hacer un blog colectivo usando Pull Requests en Github .
Usando Firebase o cualquier otra API escrita en cualquier lenguaje (PHP, Ruby, Python, Node.JS) o incluso usando WordPress (JSON-API), y un marco front - end moderno como Vue.JS o React , puede crear un sitio web dinámico para tareas más complejas: tienda en línea, catálogo de productos, etc.
Por qué no es adecuado:
En general, para un proyecto donde hay una gran cantidad de contenido generado por el usuario, donde se genera mucho trabajo de base de datos y páginas sobre la marcha.
Requisitos
Debe haber instalado Node.JS (9.xo superior) y NPM (generalmente van juntos).
Descargue e instale (si aún no lo ha hecho).
Se recomienda este último (v10.12.0) Node.JS.
No funciona con Node.JS <v9.x, porque SASS, Less, Stylus se compila de fábrica y node-sass requiere la versión 9.
También puedes usar Yarn en lugar de NPM .
Cogear.JS se ejecuta en:
Puede usar VSCode ahora de moda para el desarrollo.
Instalación
Simple, sin trucos:
$ npm install cogear -g
Eso es todo La instalación fue exitosa.
Cogear.JS después de la instalación está disponible a través del cogear
consola cogear
.
Ahora puedes generar el primer sitio.
Uso
Vaya al directorio donde están almacenados sus sitios web.
$ cd ~/Sites
Llame al equipo para generar un nuevo sitio:
$ cogear new site.io

Luego proceda a este directorio:
$ cd ~/Sites/site.io
Inicie Cogear.JS en modo de development
o en modo de production
(preparación para la producción) ( más información sobre los modos de funcionamiento ).
$ cogear
Opciones
Puede ver una lista de opciones de línea de comando agregando el indicador --help
.

Enlaces utiles
Si el tema despierta el interés de los ciudadanos de Habrovsk, puedo hacer una serie de tutoriales, qué y cómo.
PD: no publiqué en código abierto
Haga preguntas, intente responder.