CKEditor

Últimamente no tengo mucho tiempo para dedicarle a nada que no sea trabajar, y mucho menos para dedicárselo al blog. Uno de los motivos era que no había conseguido poner ningún editor de texto enriquecido que funcionara correctamente, sobretodo cuando subía la aplicación a Heroku, por lo que tenía que escribir los posts en HTML, lo que me llevaba mucho tiempo adicional.

Pero el otro día navegando de un lado para otro me encontré con CKEditor, un editor de texto enriquecido que parece funcionar de forma bastante fácil con Rails. A pesar de funcionar bastante bien, la instalación no es precisamente intuitiva, sobretodo utilizando Rails 3.1 y haciendo la instalación en Heroku, así que os indico los pasos a seguir.

Lo primero es incluir el gem de CKEditor en nuestro Gemfile:

gem "ckeditor"

Después de hacer el consabido bundle install debemos descargar e instalar lo que es el CKEditor propiamente dicho, no la gem. Para esto ejecutamos lo siguiente:

rails generate ckeditor:install --path=public/assets

Esto descargará CKEditor y nos lo dejará en la ruta que le hemos indicado. Si utilizamos Rails 3.1 la ruta debe ser la que he puesto, public/assets.

Una vez hecho esto ya tenemos todo lo necesario para utilizar ckeditor en nuestra aplicación. Si queremos utilizar las opciones para subir ficheros, deberemos ejecutar algún comando más que está indicado perfectamente en la documentación, por lo que no lo voy a indicar.

Para incluir un editor en una de las páginas de nuestra aplicación debemos incluir el JavaScript de ckeditor:

<%= javascript_include_tag "/assets/ckeditor/ckeditor.js" %>

Una vez hecho esto ya podemos incluir un editor (o los que queramos) en la página, por ejemplo:

cktext_area_tag("blog_contenido", "Contenido del textarea")

Y eso es todo, con esto tenemos en nuestra aplicación un completo editor de texto enriquecido.

En la documentación podemos encontrar todas las opciones adicionales así como las distintas configuraciones que podemos utilizar.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *