2024–11–26
Hay muchas plataformas en las que puedes crear un sitio web o escribir un blog. Con algunas de ellas puedes crear tu sitio web desde cero, puedes usar un generador de sitios web estaticos o utilizar algunas de las (CMS) plataformas bastante famosas como Wordpress, Drupal, Chost, Medium como ejemplo, pero hay mas y la mayoria tiene coste bastante elevado segun cada criterio .
Personalmente siempre he preferido la opcion de usar un generator de sitios web estaticos. Durante los años he usado para la creacion de mi blog, algunos como Jekyll, Pelican, Nikola, Hugo incluso hasta Emacs + Org-mode. Todas ellos son increibles, y si tienes conocimientos basicos puedes montar te un blog en 5 minutos, luego alojar en tu servidor o usar Github pages como ejemplo.
Recientemente he descubierto barf, un super sencillo generator de sitios web estaticos, que usa un unico archivo shell (sh), script con menos de < 170 líneas para hacer la magia. Asi que, decidi a usar lo para la creacion de mi web. Mas abajo quiero explicar como instalar y el funcionamiento.
Para Fedora/AlmaLinux:
$ sudo dnf install git cmake extra-cmake-modules rsync
Compilar MultiMarkdown:
$ git clone https://github.com/fletcher/MultiMarkdown-6.git
$ cd MultiMarkdown-6
$ sudo cmake . -DCMAKE_BUILD_TYPE=Release
$ sudo make
$ sudo make install
Descargar el repositorio, usando git:
$ git clone https://git.sr.ht/~bt/barf
domain=
apuntando dentro noestro dominio para validar el feed)No necesariamente, tambien podemos jugar con
el archivo style.css
ubicado en el directorio public/
, para darle un aspecto unico al noestro sitio web.
Para saber mas, recomiendo leer el README
Todos las publicaciones tienen que ir al directorio posts/
.
Ejemplo:
$ cd ~/barf/posts/
$ nano fisrt-post.md
Con el seguiente contenido:
# Primer post
2024-11-26
Hola mundo!
Recreamos el sitio web de nuevo para aplicar los cambios .
$ make build
Felicidades, ya hemos creado noestro blog y noestro primer post!
Requerimientos necesarios:
Creamos el directorio /var/www/ivaylokuzev.eu
(el directorio root donde estaran ubicados los archivos estaticos para el publico).
$ sudo mkdir -p /var/www/ivaylokuzev.eu
Sincronizar el directorio build/
con el directorio root /var/www/ivaylokuzev.eu
.
$ rsync -rv build/ /var/www/ivaylokuzev.eu
Tenemos que apuntar un dominio a la dirección IP, lo hice con la siguiente configuración:
Domain | Type | TTL | Target |
---|---|---|---|
ivaylokuzev.eu | A | default | 123.456.78.90 |
Vamos a configurar Caddy para que sirva esos archivos.
$ sudo nano /etc/caddy/Caddyfile
Copiamos lo seguiente:
ivaylokuzev.eu {
tls email@example.com
encode gzip zstd
root * /var/www/ivaylokuzev.eu
file_server
}
La línea tls habilita HTTPS automático. Caddy obtendrá y renovará los certificados SSL para usted con cero configuración o mantenimiento.
Reiniciamos caddy:
$ sudo systemctl restart caddy
Y asi de facil y gratis, mi sitio se servira de forma segura a traves de HTTPS!