Hacer un backup de hexo.io

Al comenzar a utilizar hexo.io lo primero que se me vino a la cabeza fue hacer un backup del tema (personalización, adds, archivos estáticos) así como todos los archivos de configuración y post en markdown.

Así que lo primero que híze fue instalar hexo-git-backup y la verdad es que una vez configurado funcionaba perfectamente.. pero las últimas veces al hacer backup mi hacía un merge de las ramas que utiliza el plugin internamente para funcionar, además al usar el repositorio del blog en otro equipo distinto al habitual su funcionamiento no era el mismo.

Al final, lo más sencillo es lo más eficaz, ahora para hacer un backup tengo dos ramas en el repo del blog, master donde se encuentran los archivos estaticos del blog y backup donde esta toda la configuración y archivos necesarios en local para utilizar hexo.io.

De modo que en local siempre me encuentro en la rama backup, y en github la rama principal es master.

Lo único a tener en cuenta, es añadir la rama donde se hacen los deploys en el archivo de configuiración:

# Deployment
## Docs: http://hexo.io/docs/deployment.html
deploy:
  type: git
  repo: git@github.com:Luisangonzalez/bog.luisangonzalez.github.io.git
  branch: master
  message: New post

Es importante si no se hará el deploy en la rama en la que nos encontramos.

En definitiva, muchas veces lo mejor es no añadir complejidad innecesaria.

Escribir nuevo post en hexo.io

Para escribir una nueva entrada en hexo.io la forma más rápida es:

  • En la carpeta raiz del blog hexo.io:
$ hexo new nombre_post

Se debe de tener en cuenta no incluir espacios en el nombre, para ello utilizar nombre_post y automaticamente lo transforma en nombre-post

Una vez ejecutado hexo new nombre_post se crea un archivo nombre_post.md en la carpeta /source/_post/

Podemos ver la nueva entrada en blanco lanzando el server: hexo server e ir modificando el archivo nombre_post.md de nuestra nueva entrada.

En mi caso utilizo atom.io con el plugin markdown_preview que permite ver en tiempo real como va quedando el markdown de nuestra entrada.

Cuando ya tenemos nuestra entrada terminada, simplemente generar y desplegar en nuestro bloq:
hexo generate --deploy

Esquema básico de Markdown

Buenas, aquí un esquema de uso básico de Markdown. Para más información vean la especificación oficial de su creador John Gruber o el ejemplo de Github.

Voy a mostrar primero el código markdown y posteriormente el resultado.

Texto básico :

Código markdown:
Cursiva:  *italic* y  así tambien  _italic_ , en  negrita **bold**  y también __bold__ , resaltar  texto : `important` text. signo de porcentaje : % y `%`
Paragrafo con nota de pie (builtin parser only). [^note-id]
Insertar `[ TOC ]` sin espacions genera una tabla de contenidos (builtin parsers only)
Resultado:

Cursiva: italic y así tambien italic , en negrita bold y también bold , resaltar texto : important text. signo de porcentaje : % y %
Paragrafo con nota de pie (builtin parser only). [^note-id]
Insertar [ TOC ] sin espacions genera una tabla de contenidos (builtin parsers only)

Indentación :

Código markdown:
> Aquí texto indentado
>> aún mas indentado
Resultado:

Aquí texto indentado

aún mas indentado

Titulo cabeceras :

Código markdown:
# El más grande (h1)
## Mediano (h2)
### Pequeño (h3)
#### más pequeno (hX)
##### y más pequeño (hX)
###### y más pequeño.. (hX)
Resultado:

El más grande (h1)

Mediano (h2)

Pequeño (h3)

más pequeno (hX)

y más pequeño (hX)
y más pequeño.. (hX)

Listas :

Código markdown:
- Los puntos/guinoes puedne ser con :  `-`, `+`, or `*`
- Punto uno
- Punto dos 
  - sub item 1
  - sub item 2
Con texto indentado dentro
- Punto de la lista 3
+ Punto de la lista 4
* Punto de la lista 5

1. Punto ordenado uno
2. Punto ordenado dos
...  y así sucesivamente
Resultado:
  • Los puntos/guinoes puedne ser con : -, +, or *
  • Punto uno
  • Punto dos
    • sub item 1
    • sub item 2
      Con texto indentado dentro
  • Punto de la lista 3
  • Punto de la lista 4
  • Punto de la lista 5
  1. Punto ordenado uno
  2. Punto ordenado dos
    … y así sucesivamente
Código markdown:
Esto es un ejemplo  [de link a mi blog](http://blog.luisangonzalez.es/).
Resultado:

Esto es un ejemplo de link a mi blog.

Imágenes :

Código markdown:
Un simple imagen :
![Fenix logo](http://blog.luisangonzalez.es/img/fenix.jpg "Fenix logo")
Resultado:

Fenix logo

Código :

Código markdown:
Es sencillo mostrar código en markdown.
Puede hacerse  `highlight` para algunas palabras.
Y bloques de código :
<script>
int cinco = 5;
</script>
En hexo en la línea del principio 3 x ` y 3 x ` al final

>
>

Resultado:

Es sencillo mostrar código en markdown.
Puede hacerse highlight para algunas palabras.
Y bloques de código :

<script>
Ojo en la línea del principio 3 x ` 
document.location = 'http://lmgtfy.com/?q=markdown+cheat+sheet';
 y 3 x ` al final 
</script>

Tablas :

Código markdown:
| Año  | Mínima temperatura | Máxima temperatura |
| ---- | ------------------ | -------------------|
| 1900 | -10                 |                  25 |
| 1910 | -15                 |                 30 |
| 1920 | -10                 |                  32 |
Resultado:
Año Mínima temperatura Máxima temperatura
1900 -10 25
1910 -15 30
1920 -10 32

Primer post con hexo.io

Después de un largo tiempo sin utilizar el blog que comenze con Octopress he decidido continuar escribiendo pero esta vez utilizando hexo.io, los motivos del cambio son :

  1. By by Ruby, no tengo nada contra Ruby pero me parece un coñazo todo el tema de las gemas, RVM, Bundle, rake install, rake… y me siento más comodo utilizando JavaScript.

  2. Después de utilizar Octopress que me ha parecido estupendo prefiero utilizar hexo.io que usa Node.js el cual estoy conociendo cada vez más y quiero profundizar.

  3. Como indican en hexo.io —> A fast, simple & powerful blog framework, powered by Node.js. Y así es, esto me ha convencido :

 $ npm install hexo -g
 $ hexo init blog
 $ cd blog
 $ npm install
 $ hexo server

Saludos ;)