Ehundu 0.9.0
El CSS y el JavaScript de una página se pueden enlazar como un fichero. css_fichero() y js_fichero() hacen con lo que la página ha declarado lo mismo que css() y js(), pero en lugar de incrustarlo escriben la etiqueta que enlaza un fichero con ese mismo contenido: <link rel="stylesheet" href="/css/3fa9c1d2ab.css"> o <script src="/js/7c01e4b9d3.js" defer></script>. El motor escribe el fichero en salida/css/ o salida/js/ con la huella de su contenido en el nombre (los 10 primeros caracteres del SHA-256), así que las páginas que declaran lo mismo lo comparten y el navegador puede guardarlo un año sin riesgo de servir uno viejo tras un cambio. Es para el CSS largo, que incrustado se repite en cada página. css() y js() no cambian, y el motor sigue sin minificar ni procesar nada (docs/formato.md (se abre en una pestaña nueva), §9.1, decisión 111).
version(ruta) da la dirección de un fichero de publico/ con la huella de su contenido, /css/estilo.css?v=3fa9c1d2ab, para enlazar con una caducidad larga las tipografías, el JavaScript suelto y lo demás que no pasa por css() (§7.3, decisión 112).
Los sitios de la 0.8 compilan igual, fichero a fichero. Solo cambia el texto del aviso que sale cuando una página declara CSS y ninguna plantilla lo escribe, que ahora nombra las dos formas.
Esta versión en GitHub (se abre en una pestaña nueva), con el ehundu.phar.