Download the PHP
package ehundu/ehundu without Composer
On this page you can find all versions of the php package
ehundu/ehundu. It is possible to download/install
these versions without Composer. Possible dependencies are resolved
automatically.
Vendor ehundu Package ehundu Short Description Generador de sitios estáticos en PHP, pensado para compilar también dentro de un proceso web. License
MIT Homepage https://ehundu.com
After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.
Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.
In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories.
In this case some credentials are needed to access such packages.
Please use the auth.json textarea to insert credentials, if a package is coming from a private repository.
You can look here for more information.
Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
To use Composer is sometimes complicated. Especially for beginners.
Composer needs much resources. Sometimes they are not available on a simple webspace.
If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
# Ehundu
Ehundu es un generador de sitios estáticos escrito en PHP. Toma una carpeta con
contenido en Markdown, datos en YAML y plantillas Twig, y produce un sitio web
de HTML plano que se puede alojar en cualquier servidor.
> **Estado: 0.3.** Compila sitios reales, también en varios idiomas, los
> previsualiza y los publica.
> Hasta la 1.0 el formato del proyecto todavía puede cambiar; cada cambio
> queda anotado, con su motivo, en el registro de decisiones de
> [`docs/formato.md`](docs/formato.md).
## Por qué otro generador
Los generadores de sitios estáticos más conocidos están pensados para
ejecutarse desde la línea de comandos, en el ordenador de quien desarrolla o en
un servicio de integración continua. Ehundu nace de una necesidad distinta:
poder compilar un sitio también desde un proceso web, en un alojamiento PHP
corriente, con los límites de tiempo y de recursos que eso supone.
Eso permite que una herramienta de edición guarde un cambio y publique el sitio
al momento, sin depender de servicios externos, repositorios en la nube ni
cadenas de despliegue ajenas. Y permite también lo contrario: trabajar sin
ninguna herramienta de edición, con un editor de texto y la línea de comandos,
exactamente con el mismo resultado.
## Principios
**PHP puro y pocas exigencias.** Ehundu funciona con PHP 8.4 o superior y no
necesita ejecutar programas externos ni extensiones poco habituales. Si un
alojamiento compartido ejecuta PHP, puede ejecutar Ehundu.
**Tu contenido son ficheros.** Todo lo que define un sitio vive en su carpeta:
Markdown, YAML, plantillas y archivos estáticos. Sin base de datos y sin estado
oculto. Una carpeta copiada a otra máquina compila igual.
**Sin dependencia de servicios.** Ehundu se apoya en software libre que se
puede conservar y mantener, nunca en servicios cuyas condiciones pueden cambiar
de un día para otro. Publica en una carpeta, por FTP, por SFTP o en cualquier
almacenamiento compatible con S3, sin APIs propias de ningún proveedor.
**En español.** El formato del proyecto está en español: las carpetas se
llaman `contenido`, `plantillas` o `publico`, y los campos del front matter
`titulo`, `fecha` o `etiquetas`. Es una decisión deliberada. La comunidad
hispanohablante que desarrolla para la web es enorme y merece herramientas
pensadas en su idioma. Para migrar desde Eleventy o Lume se aceptan los nombres
ingleses habituales (`title`, `date`, `tags`, `layout`, `permalink`).
## Instalación
Hace falta PHP 8.4 o superior con la extensión `mbstring`. Para publicar por
FTP, además, la extensión `ftp`, que viene con PHP aunque a veces está
desactivada; y para FTPS o S3, `openssl`, que traen casi todas las
instalaciones.
**Un solo fichero.** Descarga `ehundu.phar` de la [página de
versiones](https://github.com/ehundu/ehundu/releases) y úsalo con PHP:
php ehundu.phar compilar mi-sitio
**Con Composer**, como orden global:
composer global require ehundu/ehundu
o dentro de un proyecto, que es como lo usaría un programa que incruste el
motor:
composer require ehundu/ehundu
La orden queda en `vendor/bin/ehundu`.
## Un primer sitio
mi-sitio/
sitio.yml
contenido/
index.md
blog/
_datos.yml
primer-articulo.md
plantillas/
pagina.twig
`sitio.yml` dice cómo se llama el sitio y dónde se publica:
Cada página es un Markdown con su front matter:
Lo que comparten todas las páginas de una carpeta va en su `_datos.yml`, así
que un artículo nuevo solo necesita título y texto:
La plantilla es Twig, con las funciones que añade Ehundu, como `coleccion()`,
y las fechas en el idioma de la página:
`ehundu compilar mi-sitio` escribe el resultado en `mi-sitio/salida/`: la
portada, `/blog/primer-articulo/` y un `sitemap.xml`.
## Las órdenes
ehundu compilar [carpeta] compila el proyecto en su carpeta salida/
ehundu servir [carpeta] lo previsualiza en el navegador y lo
recompila cuando cambia algo
ehundu desplegar [carpeta] lo compila y lo publica en el destino de
sitio.yml
`servir` rehace solo lo que afecta a cada cambio, en unas décimas de segundo,
y da siempre lo mismo que una compilación completa. `desplegar` sube lo nuevo o
cambiado y borra lo que subió Ehundu y ya no se genera; lo demás que haya en el
servidor no lo toca nunca. Con `--simular` dice qué haría sin hacerlo.
`ehundu --ayuda` enseña todas las opciones.
## Qué hace
- **Markdown** CommonMark, con tablas, notas al pie, tachado y enlaces
automáticos. Una imagen sola en su párrafo es una figura con su pie, y los
enlaces a otros dominios se abren aparte.
- **Atajos** para lo que el Markdown no tiene, sin meter lógica en el texto:
`[imagen …]`, `[video …]` (YouTube y Vimeo sin cookies), `[archivo …]` (con
su tipo y su peso) y `[dato …]`. Un sitio puede añadir los suyos o cambiar
el marcado de estos con una plantilla.
- **Plantillas Twig** con colecciones por etiqueta, filtros para ordenarlas y
recorrerlas, SVG incrustados, el ancho y el alto de las imágenes, y el menú
activo.
- **Datos** globales en YAML o JSON, y por carpeta en un `_datos.yml` que
heredan todas sus páginas y subcarpetas.
- **URL** que salen de la ruta del fichero o de un patrón con los campos de la
página.
- **Varios idiomas**, con un fichero por idioma en el mismo árbol
(`contacto.md`, `contacto.eu.md`): cada idioma con su prefijo en la URL, las
traducciones enlazadas entre sí para los `hreflang` y el selector de
idioma, colecciones y datos de cada idioma, y las fechas en castellano,
euskera o inglés. Traducir solo parte del sitio es lo normal, no una
excepción.
- **El CSS y el JavaScript de cada página**, reunidos e incrustados en ella:
cada plantilla declara lo que necesita donde lo usa.
- **Un `sitemap.xml`**, y un feed Atom si se pide.
- **Despliegue** a una carpeta, por FTP o FTPS, por SFTP (comprobando la
huella del servidor) o a cualquier servicio compatible con S3. Las
contraseñas van en un fichero aparte que no se versiona.
Lo que no hace, a propósito, en esta versión: procesar imágenes, compilar CSS o
JavaScript, paginar listados o ejecutar código propio de cada sitio. El formato está pensado para que lo que llegue después no
obligue a cambiarlo, y ya reserva lo que necesitará.
## Documentación
- [`docs/formato.md`](docs/formato.md): el formato de un proyecto, completo.
Carpetas, `sitio.yml`, datos, campos, URL, colecciones, plantillas, Markdown,
atajos, CSS y JavaScript, varios idiomas, y el registro de las decisiones
tomadas.
- [`docs/previsualizacion.md`](docs/previsualizacion.md): `ehundu servir`.
- [`docs/compilacion.md`](docs/compilacion.md): cómo decide la compilación
incremental qué rehace.
- [`docs/despliegue.md`](docs/despliegue.md): `ehundu desplegar` y cada
destino.
## Dentro de otro programa
La orden de consola es una capa fina sobre una biblioteca, y un programa puede
usar esa misma biblioteca para compilar desde un proceso web:
`Ehundu\Despliegue\Desplegador` publica de la misma forma y recibe las
contraseñas directamente, sin fichero. Los errores y los avisos están en
español y señalan el fichero y la línea, para que el programa pueda enseñarlos
tal cual. Lo que hace falta para compilar de forma incremental desde un
proceso web está explicado en [`docs/compilacion.md`](docs/compilacion.md).
## El nombre
*Ehundu* es una palabra en euskera que significa «tejer». La elección no es
casual: *web*, en inglés, es literalmente una tela, un tejido. Un generador de
sitios hace eso mismo, entrelazar contenido y plantillas hasta formar páginas.
Se pronuncia más o menos «e-ún-du».
## Licencia
Ehundu es software libre bajo licencia MIT. Consulta el fichero `LICENSE`.
La licencia cubre el código y la documentación, pero no el logotipo ni las
ilustraciones de Nidel que hay en `marca/`: sus condiciones están en
[`marca/README.md`](marca/README.md).
---
## In English
Ehundu is a static site generator written in PHP, designed to build sites both
from the command line and from within a web process on ordinary shared PHP
hosting. The current version is 0.3: it builds Markdown and Twig sites,
multilingual ones included, previews them with incremental rebuilds, and
deploys them to a folder, FTP, SFTP or any S3-compatible storage. It needs PHP 8.4 or later and nothing else,
and ships as a single `ehundu.phar` or as the Composer package
`ehundu/ehundu`.
Its project format is deliberately in Spanish (folder names, front matter
fields), as a commitment to Spanish-speaking web developers; the usual English
field names are accepted to ease migrations from Eleventy or Lume.
Documentation is in Spanish for now and will be available in English too.
The name *ehundu* is Basque for "to weave".
Ehundu is free software under the MIT licence. The licence covers the code
and documentation, not the logo or the Nidel illustrations in `marca/` (see
[`marca/README.md`](marca/README.md)).
Composer command for our command line client (download client)This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free.Standard composer command
The package ehundu/ehundu contains the following files
Loading the files please wait ...
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.