Después de constatar que realmente utilizar un sistema dinámico no me depara beneficios visibles y revisar otros sistemas de creación estática como nanoc finalmente, y tras conocer octopres a través del blog de David Rubert, decidí mudar mi blog que estaba creado con Serendipity-sy9
Las etapas de este proceso han sido 3:
Poner en marcha el sistema de desarrollo.
Importar los posts previos.
Adaptar octopress.
Vamos a ver éstas etapas con más detalle:
Preparar el sistema de desarrollo
Procedimiento funcionando en ubuntu 10.04.4
1. Instalar rvm y ruby
1 2 3 4 5 6 7 |
|
adecuar .bash_profile y/o .bashrc para shells con y sin login
1
|
|
También instalé en lmde. Al repetir los pasos anteriores me aparecía un error respecto a zlib al usar gem y se solucionó siguiendo las instrucciones de rvm notes (no tengo muy claro si en el puesto en ubuntu ocurrió lo mismo o no)
1 2 3 |
|
2. Preparar Octopress
1 2 3 4 5 |
|
Si alguna vez da problemas de versiones de las gemas será necesario hacer “bundle exec rake comando” en vez de solo “rake comando”. Para ver los comandos disponibles se usa ”rake -T”
Importar los posts previos
El importador desde s9y es una aportación de “joshi” a jeckyll que a su vez es la base de Octopress
Solo usa la biblioteca estándar de Ruby, sin acceso a base de datos. Las entradas se exportan desde el blog original a través del rss. Con un enlace del tipo
http:/blog/.example.com/rss.php?version=2.0&all=1
Lo bajé del enlace anterior y lo dejé en la carpeta de plugins.
Ejecuté
ruby -r './s9y_rss.rb' -e 'Jekyll::S9Y.process("http:/blog/.example.com/rss.php?version=2.0&all=1")'
Moví la carpeta _posts que se había creado al lugar adecuado.
Revisé los posts para completarlos con los comentarios interesantes y con el resto del contenido si no estaban completos.
Adaptar
- Adaptar los paths
En _config.yaml cambié lo que hacía falta para que el path comenzara en /deries en vez de en /
- Traducir algunos elementos (incluir algunos en _config.yaml)
Me gustaría hacer un blog multilingüe pero eso parece algo alejado. Lo que si que he hecho es añadir algunos campos más en _config.yaml y colocarlos donde toca. También he cambiado algunos otros paths, como quitar blog// o cambiar /archives por /archivo
(...)
date_format: "%A, %d de %B de %Y"
\# Castellano
excerpt_link: "Leer más →"
search_text: "Buscar"
blog_nav_text: "Bitácora"
archives_nav_text: "Archivo"
recent_posts_aside_title: "Entradas recientes"
github_aside_title: "Repositorios GitHub"
older_text: "Anteriores"
newer_text: "Posteriores"
(...)
También modifiqué /plugins/date.rb para hacer que la fecha aparezca en castellano. Esto lo hice siguiendo una sugerencia de un turco llamado Vigo.
(...)
MONTHNAMES_TR = [nil,
"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio",
"Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"
]
ABBR_MONTHNAMES_TR = [nil,
"Ene", "Feb", "Mar", "Abr", "May", "Jun",
"Jul", "Ago", "Sep", "Oct", "Nov", "Dic"
]
DAYNAMES_TR = [
"Domingo", "Lunes", "Martes", "Miércoles",
"Jueves", "Viernes", "Sábado"
]
ABBR_DAYNAMES_TR = [
"Dom", Lun", "Mar", "Mié",
"Jue", "Vie", "Sáb"
]
(...)
else
format.gsub!(/%a/, ABBR_DAYNAMES_TR[date.wday])
format.gsub!(/%A/, DAYNAMES_TR[date.wday])
format.gsub!(/%b/, ABBR_MONTHNAMES_TR[date.mon])
format.gsub!(/%B/, MONTHNAMES_TR[date.mon])
date_formatted = date.strftime(format)
#date_formatted = date.strftime(format)
#date_formatted.gsub!(/%o/, ordinal(date.strftime('%e').to_i))
(...)
- adaptar algunos estilos y otras cosas
Por jugar más que otra cosa…
Me pareció que los carácteres eran de un tamaño de fuente pequeño en el caso de los code_snippets y grande en las citas. Intenté mejorarlo aunque no juraría haberlo conseguido.
También intenté poner un gráfico tipo el pulpo de octopress pero de momento lo que obtuve no fue de mi agrado así que lo retiré.
Todos estos cambios pueden verse en el repositorio de github que los contiene: https://github.com/ferochera/deries
Finalmente he añadido un “aside” con una nube de etiquetas y también una página de entrada a las categorías que las lista poniendo el número de artículos en cada una.
Ambos elementos vienen del código de nube de tags de tokkonopapa. Eso si ha sido necesario hacer una pequeña modificación en el código ya que los paths no eran correctos.
Actualización..
La traducción de las fechas no está funcionando correctamente… es como si la función gsub! no hiciese lo que toca ¿? así que he decicido poner el formato a mano mientras averiguo que es lo que ocurre.
format = DAYNAMES_TR[date.wday] +", %d de " + MONTHNAMES_TR[date.mon] + " de %Y"
Actualización 2..
Para solucionar el error “RVM is not a function, selecting rubies with ‘rvm use …’ will not work.”… se añade la linea siguiente al final del archivo .bashrc
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
Actualización 3..
La documentación de octopress es accesible en la web octopres.org/docs
De todas formas los pasos para “bloguear” son:
(bundle exec) rake new_post["title"]
_editar archivo markdown creado_
rake generate # Generates posts and pages into the public directory
rake watch # Watches source/ and sass/ for changes and regenerates
rake preview # Watches, and mounts a webserver at http://localhost:4000