Construye tu web como un hacker

Introducción a Jekyll

Juan José Salvador Piedra | @Linuxneitor
http://juanjosalvador.es

¿Qué es jekyll?

  • Jekyll es un generador de páginas estáticas orientado a blogs.
     
  • Jekyll es de código abierto, liberado bajo liencia MIT.
  • Fue creado por Tom Preston-Werner, uno de los fundadores de GitHub.
     
  • Solo necesitas git y un editor de texto para empezar.
     
  • http://jekyllrb.com

¿Qué es Github pages?

  • GitHub ofrece a sus usuarios la posibilidad de crear una web estática personal o de proyecto, totalmente gratis.
     
  • Soporta cualquier lenguaje de cliente (HTML, CSS, JavaScript) y sus frameworks (Bootstrap, Angular, React, etc).
     
  • El motor que usa es Jekyll, por lo que es perfecto para este generador.

"Show me

                         the code."

Cristóbal Contreras

Vamos a dejarnos de teoría...

GNU/Linux

Windows

Pre-requisitos:

- Ruby 1.9
- RubyGems
- Node.js

Instalación

# gem install jekyll

Instalación

> choco install ruby -y
> gem install jekyll

Iniciar Jekyll

Crear sitio en blanco

Arranca el sitio (en http://localhost:4000)

Construimos el sitio

Analizamos el sitio en busca de errores

# jekyll new
# jekyll serve
# jekyll build
# jekyll doctor

creando nuestro primer sitio

Clonamos el repositorio base

Instalamos dependencias que faltan

Iniciamos el sitio

¡Nuestro primer sitio de Jekyll!

# git clone https://github.com/JuanjoSalvador/hacklab-jekyll.git
# gem install jekyll-paginate
# jekyll serve

Generando contenido

Nuestro contenido irá principalmente en _posts

Las páginas estáticas van en la raíz de nuestro sitio.

Escribiremos el contenido en Markdown

Para publicarlo, solamente subimos a nuestro servidor el fichero que acabamos de crear (mediante FTP, Git, SSH...)

Generando contenido (II)

---
layout: post
title: Ejemplo 
---
Ejemplo de post con Jekyll

Estructura de un post/página

Nomenclatura del fichero

2016-07-21-Hacklab-y-Jekyll.md

Generando contenido (III)

# gem install drhenry
# drhenry Mi post en Jekyll

Podemos generar el post desde una plantilla con drhenry

La salida sería algo como...

2016-07-21-Mi-post-en-Jekyll.md

Y dentro...

---
layout: post
title: Mi post en Jekyll
---

Conceptos avanzados

Jekyll se configura casi esencialmente desde el fichero _config.yml.

 

En la raíz encontramos tres directorios:

_includes
_layouts
_posts

Estos directorios contienen componentes de nuestro site.

Conceptos avanzados (II)

El fichero _config.yml tiene una serie de propiedades donde debemos indicar valores tales como:

- Nombre del site
- Descripción
- URL
- URL base
- Autor

 

Etc

Conceptos avanzados (III)

Podemos expandir nuestro Jekyll mediante gemas.

 

Las gemas añaden funciones generalmente serverside como el buscador, paginar, etc.

GitHub Pages solo admite una serie de gemas oficiales y aprobadas por los desarrolladores.

En tu instalación propia de Jekyll puedes meter las que quieras.

Despliegue de Jekyll

Creamos un repositorio en GitHub llamado:

tu-usuario.github.io

Desde Git, clonamos este repositorio vacío y en local, añadimos dentro el contenido de nuestra instalación de Jekyll (evitaremos .git y .gitignore/.gitatributes)

Commit, push, y esperamos unos minutos.
 

Ya tenemos nuestro site listo y funcionando en

tu-usuario.github.io

muchas gracias a todos.

Web oficial de Jekyll

http://jekyllrb.com

 

Mark Otto

http://github.com/mdo

http://twitter.com/mdo

Juanjo Salvador

http://github.com/JuanjoSalvador

http://juanjosalvador.es

Construye tu web como un hacker

By Juanjo Salvador

Construye tu web como un hacker

Jekyll es un generador de páginas estáticas basado en Ruby, que te ayuda a bloguear como un hacker escribiendo tu contenido en Markdown

  • 514