Ya he comentado en varias ocasiones que tener un blog me parece vital para crearte una marca personal fuerte. Si a la gente le gusta lo que escribes, empezará a tomarte como un referente en esa materia, y eso hará que catapulte tu presencia y te abra muchas puertas.
Pero una de las excusas que me suelo encontrar a menudo es que todo el proceso de montar un blog y aprender a usarlo es bastante complicado. En general es cierto que lleva un tiempo hacerse con las herramientas, comprar tu dominio, alquilar un hosting… pero por eso hoy quería presentarte una opción para crear tu blog en 10 minutos de forma totalmente gratuita.
Sigo pensando que crearse un blog autoalojado con un dominio propio y con alguna plataforma más potente te dará mucha más versatilidad en un futuro, pero si quieres empezar rápido y probar si esto del blogging realmente te gusta, es una opción muy interesante.
Hoy puedes seguir este artículo tanto en formato vídeo, como en audio desde el podcast en ivoox, como su transcripción a continuación del mismo:
Crea tu blog gratis en Github
Lo que vamos a hacer es usar Github, y el dominio gratuito que nos provee, para crearnos un blog en pocos minutos.
¿Qué es Github?
Si no conoces Github, tienes un problema serio para llegar a convertirte en un #devexperto. No puedes permitirte seguir ni un segundo más sin formar parte de él. Github es un repositorio de código que te permite, de forma gratuita, alojar tus proyectos de software libre manteniendo un control de las versiones del código que generas.
Si no conoces Github, tienes un problema serio para llegar a convertirte en un #devexperto. Clic para tuitearPero no sólo eso, sino que también puedes colaborar en proyectos de otras personas, que otros colaboren en los tuyos, y acceder a cientos de librerías y de proyectos de otros desarrolladores para aprender sobre ellos y utilizarlos en tus proyectos.
Github debería ser tu segunda casa, un lugar donde no dejar de aprender y, si quieres ayudar a los demás y de paso mejorar tu marca personal, colaborar con tus propios proyectos de calidad. Además, si tienes un blog, podrás alojar ahí tus códigos de ejemplo.
Pero en este caso, vamos a ir más allá, y a crear nuestro blog en Github, usando Jekyll.
¿Qué es Jekyll?
Jekyll es un software de creación de blogs estáticos, escrito en Ruby por Tom Preston-Werner, uno de los creadores de Github, por lo que está perfectamente integrado con este. No es muy flexible, pero eso es precisamente una de sus mejores características si nuestro objetivo es simplemente escribir y no preocuparnos por nada más. El usar herramientas más potentes hace que perdamos el tiempo en cosas mucho menos importantes y no nos centremos en lo esencial, que es escribir.
Jekyll no es muy flexible, pero esa es precisamente una de sus mejores características. Clic para tuitear¿Cuál es la ventaja de Jekyll sobre otras alternativas gratuitas?
Por supuesto existen muchas otras alternativas para blogs de propósito general como pueden ser blogger o wordpress.com, en las que también puedes crear tu blog de forma totalmente gratuita, pero si eres desarrollador creo que Jekyll tiene algunas ventajas interesantes:
- Se aloja en Github: y esto puede parecer una tontería, pero si tienes un Github potente que mucha gente visita, inevitablemente te atraerá mucho más tráfico a tu blog.
- Te acostumbras a usar Github y markdown: Son dos cosas que hay que dominar sí o sí. Manejarse con Github es imprescindible por todo lo que hemos comentado anteriormente, y el markdown es el lenguaje del presente para escribir, tanto en Github como en casi cualquier plataforma de blogging. Si no lo tienen por defecto, te lo ofrecerán como alternativa. Yo incluso he escrito mi libro de Kotlin completamente en markdown.
- Está básicamente enfocado a programadores, por lo que te será muy sencillo incluir código en tus artículos que se formateará sin ningún problema.
- Puedes tener tus colaboradores de forma muy sencilla: tan sólo tienen que hacer fork de tu proyecto, escribir el artículo, y hacer un Pull Request para que lo revises. En Github es tremendamente fácil dejar comentarios y sugerencias en los Pull Request. Cuando ambos estéis contentos con el resultado, sólo tendrás que hacer un merge del Pull Request y el artículo estará en el aire.
- Es muy geek, y eso siempre le hace sentirse a uno un ninja.
Creando nuestro blog en Github
El proceso es realmente sencillo, y tras pocos minutos (10 es incluso una cifra pesimista) podrás estar escribiendo tus primeros artículos. Vamos a verlo paso a paso:
1. Crea una cuenta en Github
Si aún no la tienes (espero que no sea el caso), entra en github.com y crea una nueva cuenta. Por supuesto, la cuenta gratuita es suficiente, y probablemente siempre lo será a no ser que necesites crear repositorios privados.

2. Haz un fork de jekyll-now
Hacer un fork consiste en copiar un repositorio de otra persona en tu propio Github. Esto es muy útil para trastear con código de otra gente, o para hacer modificaciones y luego hacerle un pull request al creador original.
En nuestro caso vamos a ir al repositorio jekyll-now, y hacer un fork del mismo (verás el enlace en la esquina superior derecha):

Este repositorio básicamente consiste en un blog listo para usar, y que se configura gracias a un fichero de configuración muy sencillo. Existe otra forma consistente en hacer todo este proceso por ti mismo, pero es mucho más complejo y no merece la pena.
3. Cambia el nombre al repositorio
Tu blog va a tener la url http://<nombre_usuario>.github.io, por lo que el nombre del proyecto debe ser el mismo, sin http://
. Por ejemplo, en mi caso, como mi usuario es antoniolg, el nombre del repositorio tiene que ser antoniolg.github.io.
Para cambiar el nombre, pulsa la pestaña de Settings y modifica el nombre del repositorio:

Una vez renombrado, puedes intentar acceder a la url y comprobar que el blog carga correctamente. Es posible que todavía no esté activa, puede llegar a tardar unos minutos. Si este es el caso, no te preocupes y continúa con el siguiente paso.
4. Configura el blog
Para ello necesitas editar el archivo _config.yml
, así que pulsa sobre él y después selecciona el icono del lapicero para editarlo. En él podrás configurar:
- Nombre del blog (name): Escribe aquí el nombre del sitio, o simplemente tu nombre.
- Descripción (description): Una breve explicación sobre lo que vas a hablar en el blog.
- Avatar (avatar): la url de tu avatar. Puedes simplemente copiar la url del avatar de github, de algún otro sitio donde lo tengas alojado, o alojarlo en este mismo repositorio. Luego veremos cómo en el apartado de creación de artículos.
- Enlaces a tus redes (footer-links): aquí puedes configurar los iconos que aparecerán en la parte inferior de tu blog, y que enlazarán con información extra, como tu email, facebook, tu github, twitter, Google+ y un largo etcétera.
- Comentarios (disqus): Si tienes una cuenta en disqus, puedes activar los comentarios en tu blog.
- Google Analytics (google-analytics): puedes incluso medir las visitas a tu blog y qué hacen en él de forma muy sencilla con Google Analytics. Sólo tendrás que añadir el identificador correspondiente en este campo.
Además, tendrás que modificar un par de cosas más en la última sección para actualizar tanto el sistema de markdown como el de marcado de código que se utilizan en el blog, porque los que vienen por defecto están obsoletos. Tendrás que sustituir:
markdown: redcarpet highlighter: pygments
por:
markdown: kramdown highlighter: rouge
Ya puedes comprobar nuevamente que tu blog funciona y que los cambios se ven reflejados. Si has seguido bien todos los pasos, deberías ver algo como esto:

Escribe tu primer artículo
Ahora que ya tienes el blog funcionando, sólo tienes que empezar a escribir. Si vas a la carpeta _posts
, verás que hay un archivo md. El nombre de los archivos son la fecha de publicación seguida de la url que queremos para el artículo.
Para empezar puedes editar el actual, y ponerle el nombre 2016-2-21-mi-primer-articulo.md
. Pulsa el botón del lápiz como anteriormente, y edita el nombre. Cambia también algo en el contenido para ver que se refleja en el blog. Respeta la parte superior, que es la que indica el tipo de artículo que es y el título, que por supuesto puedes cambiar.
Puedes usar la preview para ver los cambios. Una vez estés contento puedes hacer commit
de los cambios para que se reflejen en el blog. Te recomiendo tener a mano el markdown cheatsheet para saber cómo hacer cada cosa en este lenguaje.

Cómo añadir imágenes
Para añadir imágenes en tus artículos, simplemente ve a la carpeta de images
en el repositorio, y arrastra la imagen desde tu escritorio sobre la carpeta. Haz commit changes
para que finalice la subida. Ahora, en tu entrada, necesitas enlazar a la imagen.

Como ves, se pueden utilizar las cadenas en el yml
de configuración poniéndolo entre dobles llaves. Así podemos usar la url base de nuestro proyecto en vez de tener que escribirlo entero. Esto hará, por otro lado, que no lo puedas ver en la preview, así que tendrás que fiarte.
Guarda los cambios y observa los resultados. Accede al artículo:

Ya tienes todo lo que necesitas saber para crear un artículo. Si quieres crear otro artículo, sólo necesitas crear un nuevo archivo en la carpeta _posts
y seguir el mismo proceso.
Cómo añadir código
Para añadir código, es tan sencillo como rodear tu código con tres comillas invertidas, y especificar en la de apertura el lenguaje al que queremos que lo formatee:

Apariencia y temas
No existe una forma sencilla de modificar el tema de Jekyll, puesto que normalmente está muy acoplado al archivo _config.yml
. Lo que sí que puedes hacer es visitar esta página con muchos temas o jekyllthemes.org, hacer un fork del que más te guste, y seguir todo el proceso que ya hemos visto. Seguramente el archivo de configuración sea un poco distinto, pero suelen ser bastante intuitivos.
Conclusión
Como has podido ver, es tremendamente sencillo tener un blog listo para publicar en pocos minutos de forma gratuita gracias a Github y Jekyll.
Escribir en blogs no es sólo una manera de conseguir presencia y marca personal. Si lo haces sólo por eso, seguramente no seas capaz de seguir el ritmo y poca gente te leerá. Escribe con el objetivo de ayudar a los demás a solucionar problemas con los que tú te has encontrado, y seguro que tendrás un fiel grupo de seguidores muy pronto. Además, seguro que te conecta con gente de lo más interesante.
Escribe con el objetivo de ayudar a los demás a solucionar problemas. Clic para tuitear¿Te has animado a crear tu blog? Si lo haces no dudes en contármelo en los comentarios y dejarme tu enlace para que le eche un ojo. Pasa de ser un consumidor a un creador de contenidos.
Excelente Articulo, muy agradecido Antonio. Saludos desde Venezuela.
Gracias!
En mi caso (supongo que variará con la versión de jekyll, aún no uso la 3.x), para que me renderice bien kramdown he de poner:
markdown: kramdown
kramdown:
input: GFM # para que acepte “` como limitador de bloques de código en vez de ~~~
syntax_highlighter: rouge
Por si alguien sigue las instrucciones y a él no le funciona como es debido. Además, y también probablemente por la versión que uso, he de seguir poniendo “`java si quiero resaltar código en kotlin.
Saludos
Muchas gracias por la aportación. El caso de Kotlin creo que lo tengo mal yo, porque no le di tiempo a que se regenerara la página y cogió los colores de otro lenguaje. Probándolo de nuevo he visto que no reconoce Kotlin. A ver si cambio el pantallazo por otro que sí exista, para que no haya dudas.
He seguido tu consejo y aquí esta mi aberración:
https://deblugger.github.io/
Jajajaj, me he reído mucho. Enhorabuena David por tu primerito blog!
Hola!
Muchas gracias por el post, en cuanto termine las clases empezaré un blog así.
El tema es que quería saber tu opinión, por curiosidad y porque veo que tienes experiencia en esto, sobre el tema de los blog cuando el propósito de éstos es tanto ayudar a otra gente como lo que tú comentas en otro post, darte visibilidad y presencia.
El caso es que mi área actualmente es la programación de videojuegos y C++, pero creo que hay mucha gente (entre la que incluyo a mi yo de hace unos cuantos meses) que tiene más problemas de mentalidad o de tener claro lo que quieren o cómo hacerlo, que técnicos. Crees que es buena idea mezclar distintos temas? Como puede ser programación utilizando C++ desde lo más básico hasta cosas más complejas, al mismo tiempo que hacer otros post sobre cómo enfocar tu carrera o las distintas salidas que hay en la programación de videojuegos…
Gracias y un saludo!
Julián.
¡Hola Julián! Mi opinión es que cuanto más específico sea un blog, mucho mejor. Dicho esto, depende un poco de lo que busques con tu blog. Si quieres trabajar en empresas de videojuegos desarrollados en C++, habla de eso.
En mi opinión, no hay una separación clara entre ayudar a los demás y darte visibilidad. El objetivo debería ser el primero y la consecuencia natural será lo segundo.
Lo malo de hablar de muchas cosas es que la gente que te lea le interesen unos artículos sí y otros no. Lo ideal sería que todo lo que escribas les interese.
Pero vamos, como resumen te diría que esto es de lo que menos te tienes que preocupar. Habla de lo que te surja naturalmente en tu día a día. Todo lo que te haya servido a ti para solucionar un problema le servirá potencialmente a mucha más gente. Lo importante es empezar y coger la rutina de escribir, ya irás viendo cuáles son el tipo de artículos que mejor funcionan.
Entiendo Antonio.
Por supuesto, ambas cosas van ligadas, quizás me he expresado mal.
Muchas gracias por tu respuesta y enhorabuena por DevExperto!
Un saludo.
Muchas gracias por el artículo, revelador y fenomenalmente explicado.
En blogs alojados en GitHub con Jekyll, ¿hay que añadir el banner relacionado con las cookies del sitio?
Eso depende de si usas cookies o no, no de la plataforma. Si por ejemplo usas Google Analytics, lo tienes que poner.
muchisimas gracias esta genial esto, tuve algunos problemas pero github me enviaba correos explicandome en que linea me habia equivocado,sos un mago gracias.
Les muestro mi blog que pasé de wordpress a Github+Jekyll. Me costó mucho trabajo y aún así no está todavía terminado. http://www.neositelinux.com
Genial! Gracias por compartirlo
me gusto el articulo
Gracias!
Te agradezco el tutorial, desde hace tiempo buscaba algo que me explicara porque no arrancaba, y tu post fue bastante claro, a diferencia de otros que no se en que se iban y no me arrancaba nada.
Gracias! Me alegro de que te haya sido de ayuda.