Inception: Como creé este blog

Este blog esta alojado en Github y tiene la gracia de ser generado automaticamente a partir de archivos markdown.

GitHub Pages es un servicio gratuito para alojar y servir sitios web personales o de proyectos. Para usar este servicio de debe crear un nuevo repositorio llamado username.github.io, donde username es tu nombre de usuario o nombre de organizacion en GitHub. Una vez creado, todos los archivos dentro del repositorio serán servidos en http://username.github.io/.

Para generar los archivos html, css, js de este blog estoy usando el framework Hexo que corre usando nodejs. Hexo permite generar un blog completamente funcional a partir de archivos markdown y es altamente configurable.

Los pasos en detalle de todo el proceso son:

  • crear repositorio github, en mi caso jfgodoy.github.io

  • instalar hexo

1
sudo npm install -g hexo
  • crear un nuevo blog
1
2
hexo init myblog
cd myblog
  • configurar titulo y datos personales en _config.yml

  • configurar en el mismo archivo _config.yml tu cuenta de github para poder subir fácilmente los archivos generados.

1
2
3
4
5
deploy:
  type: github
  repo: https://github.com/jfgodoy/jfgodoy.github.io.git
  branch: master
  message: "update site"
  • cambiar el tema por uno de tu agrado, yo estoy usando light. Para ello primero debes clonar el repositorio del tema en el directorio themes y luego debes establecer la propiedad theme igual a light en el archivo _config.yml.
1
git clone git://github.com/tommy351/hexo-theme-light.git themes/light
  • crear tu primer post. El formato de los archivos es markdown con algunos agregados, revisa la documentación
1
2
3
hexo new post "inception como cree este blog"
# Con este comando se genero el archivo source/_posts/inception-como-cree-este-blog.
# Ahora puedes editarlo con tu editor favorito
  • testear el blog en tu computador local
1
hexo server
  • una vez listo para publicar hacemos deploy, para sus los archivos generados a nuestra cuenta de github.
1
hexo deploy

Cabe destacar que al momento de hacer deploy solo se suben los archivos generados, el resto de los archivos del blog no. Por esta razón, si quieres que tus archivos markdown estén disponibles para que otros usuarios puedan colaborar en la edición, deberás subirlos a un branch aparte de tu repositorio.