Jekyll es un generador simple para sitios web estáticos con capacidades de blog; adecuado para sitios web personales, de proyecto o de organizaciones. Fue escrito en lenguaje de programación Ruby por Tom Preston-Werner, el cofundador de GitHub, y se distribuye bajo la licencia de Código abierto MIT.
Los posts se escriben en Markdown.
Instalación
-
Ante todo, hacer todo el proceso con sudo para que el usuario no sea root y así poder subir los posts con tu propio usuario.
- Instalamos ruby.
1
sudo apt-get install ruby-full build-essential
- Habilitamos rubygems.
1 2 3 4
echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc echo 'export GEM\_HOME="$HOME/gems"' >> ~/.bashrc echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
- Instalamos jekyll y bundler.
1
gem install jekyll bundler
- Instalamos nodejs y npm.
1 2 3 4 5
sudo apt install curl curl -sL https://deb.nodesource.com/setup\_18.x | sudo -E bash - sudo apt update sudo apt upgrade sudo apt install nodejs
- Clonamos el repositorio git de la plantilla de jekyll (en este caso voy a usar el tema chirpy).
1
git clone https://github.com/rafamai/jekyll-theme-chirpy.git
- Accedemos a la carpeta, inicializamos el repositorio e instalamos las dependencias con bundle.
1 2 3
cd jekyll-theme-chirpy bash tools/init bundle install
- Lanzamos jekyll en segundo plano en modo development, que nos sirve para ir haciendo pruebas mientras lo vamos configurando todo.
1
bundler exec jekyll serve &
- Añadimos al archivo
/etc/caddy/Caddyfile
las siguientes líneas para tener acceso desde fuera al blog.1 2 3
direccióndelblog.blog { reverse_proxy localhost:4000 }
- Una vez que lo tenemos todo configurado, creamos la página estática que será a la que tendremos acceso sin comernos los recursos de nuestro servidor, desde la carpeta donde tenemos instalado el tema de jekyll.
1
bundler exec jekyll build
- Editamos la configuración de caddy otra vez y se acabó, ahora sólo hay que ir metiendo contenido y volviendo a lanzar el comando anterior para que se actualice el blog.
1 2 3 4 5
direccióndelblog.blog { \# reverse_proxy localhost:4000 file_server root * /home/usuario/jekyll-theme-chirpy/_site }
- Cada vez que actualicemos la página estática de jekyll hay que reiniciar caddy también para que los cambios surtan efecto con
sudo systemctl restart caddy
.
Más información en: