Los que nos siguen desde hace tiempo, sabrán que nuestro blog usa un tema propio que hemos ido adaptando a nuestras necesidades durante los últimos años.

Al principio no teníamos claro si íbamos a liberarlo o lo mantendríamos privado. Bajo mi punto de vista, no aportaba nada nuevo respecto a lo que ya había, era solo un tema más. Y además estaba tan personalizado para nuestras necesidades que era muy complicado de reaprovechar. Pero finalmente decidimos pulirlo un poco y publicarlo para que todo el mundo pueda usarlo si lo desea.

Un poco de historia

A raíz de la unión de mi antiguo blog, Libreforever, con LinuxGnuBlog, nos propusimos abandonar los temas prediseñados y desarrollar nuestro propio tema, especialmente adaptado a nuestros gustos y necesidades.

Al principio, hicimos un tema muy básico y parecido en aspecto al que estábamos usando por último. La principal diferencia fue añadirle capacidades responsive, para que pudiera ser visitado cómodamente desde un smartphone o tablet. No añadía nada más y no tenia ninguna función especial ni opciones de personalización. Todos los cambios se hacían a manualmente.

Tras más de un año, impulsado por la posibilidad de poder aprovecharlo para otros proyectos, decidí hacer el tema algo más versátil y personalizable. Así que empecé a reestructurar el código, dividiéndolo en dos bloques principales, de modo que las partes más susceptibles de ser modificadas estén diferenciadas de las que no lo son, y poder así hacer proyectos derivados con facilidad. Este último paso fue el que me impulsó a pensar que ya teníamos algo que merecía la pena compartir, pues no solo aporta un tema más, sino que provee de un esqueleto que se puede usar para diseñar temas completamente diferentes, concentrándose mucho más en el diseño.

Principales características

Opciones de personalización

En la sección de personalizar apariencia del panel de administración, se añaden múltiples opciones que permiten gestionar como se ven los elementos principales del tema.

También se pueden habilitar o deshabilitar determinadas funcionalidades, como el plugin JQuery ‘lazy load’, que retrasa la descarga de las imágenes para mejorar la velocidad de carga. Como este plugin puede generar conflictos en algunas ocasiones, es posible desactivarlo sin tocar el código.

geko_prefs

Shortcodes

Como el tema está basado en Twitter Bootstrap, decidimos aprovechar todas sus características, así que se están implementando varios shortcodes que permiten sacarle el máximo partido al framework.

Plugins para TinyMCE

Ante la idea de tener que redactar una documentación explicando como funcionan y como se usan los diferentes shotcodes del tema, nos planteamos la posibilidad de añadir botones en el editor visual para insertarlos fácilmente, y así fue.

iconos_shortcodes

Actualizaciones automáticas desde GitHub

Algunos se preguntarán para que quiero que el tema se actualice desde GitHub. Pues hay dos razones:

  1. Facilita el despliegue, puesto que desde el momento en que subo un cambio al repositorio, todos los blogs que usen tema reciben la actualización, sin tener que administrar nada más.
  2. Los requisitos para poder subir un tema al repositorio oficial son muy exigentes, y a día de hoy no los cumplimos todos, aunque se está trabajando en ello.

Ha sido un reto muy interesante, añadir esta funcionalidad sin sobrecargar sobremanera el código. La única solución “sencilla” que encontré es usar el plugin afragen/github-updater, que permite hacerlo desde no solo desde GitHub, sino desde otros sitios como BitBucket, de forma muy elegante, tan solo hay que añadir dos líneas al style.css. El inconveniente es que ese plugin es bastante complejo y me pareció que era matar mosquitos a cañonazos…

Después de mucho investigar y hacer algo de ingeniería inversa, pues documentación acerca del tema es casi inexistente, logré implementarlo de forma algo tosca pero efectiva. En lugar de necesitar miles de líneas de código, tan solo se usan algunas decenas.

Temas hijos

Como ya he dicho, todo el diseño está pensado para ser personalizado a las necesidades de cada proyecto. Algunos proyectos solo implican cambiar colores o añadir alguna funcionalidad muy concreta, para esos casos hemos optado por usar temas hijos.

Por ejemplo, este blog usa un tema hijo que le aporta al tema maestro “la sal y la pimienta” propia de LinuxGnuBlog, como colores y algunas personalizaciones menores.

El uso de temas hijos aporta una ventaja importante, puesto que si el tema maestro se actualiza, no afecta al hijo y no perderás las personalizaciones que le ha hecho cada vez que actualices.

Licencia

Con el objetivo de que toda la comunidad se pueda beneficiar gratuitamente de nuestro trabajo, hemos decidido licenciarlo bajo GPL v3.

Descargas

Tema ZIP instalable GitHub
Geko Classic descargar-zip github-icon
Geko Classic LinuxGnuBlog descargar-zip github-icon

Más opiniones en: Liberamos nuestro tema de WordPress

Política de comentarios

Dada la importancia de los comentarios como espacio de participación, te pedimos por favor que leas detenidamente y cumplas con las siguientes normas de participación.

2 respuestas para “Geko Classic Theme

Jimmy Olano

Me enganchásteis con lo de la actualización del tema desde GitHub ESO YO NO LO SABÍA; en cuanto tenga tiempo pruebo el tema y, quien sabe, hasta haga una bifurcación de codigo para hacer mis aportes al asunto, !gracias por compartir!


José Miguel

Estupendo, cualquier aportación es bienvenida.

Saludos.


Deja un comentario

Tu dirección de correo electrónico no será publicada.