Zeal, un navegador de documentación offline
mié 04 junio 2014, por Soulchainer
GENBETA:dev publicaba la semana pasada un artículo sobre navegadores de documentación de APIs offline (que ellos abrevian como organizadores de APIs). Yo desconocía la existencia de este tipo de programas y me ha parecido algo tan sencillo y útil que necesitaba compartirlo.
La idea
Por poco que le demos al desarrollo, ya sea como profesionales o amateurs, hemos de tratar cada vez con más y más tecnologías, lenguajes de programación, frameworks… Y somos pocos los bendecidos con una memoria eidética [1] . De hecho, yo me conformaría con tener buena memoria, sin más.
Y aquí es dónde entra un organizador de APIs. Básicamente, es un navegador simplificado, centrado en poner a nuestra disposición la documentación de las tecnologías que utilizamos a menudo, de forma fácil y rápida.
Esto puede parecer una tontería, ya que si conocemos las páginas oficiales de dicha documentación, siempre podemos consultarla en nuestro navegador web, ¿no?
Sin embargo, yo le encuentro varias ventajas:
Disponible sin conexión.
El programa descarga y guarda la documentación por nosotros, pudiendo acceder a ella en cualquier momento, estemos o no conectados.
Integración con editores de código.
Cuenta con plugins para invocarlo desde nuestros editores favoritos cuando lo necesitemos.
Menor consumo de recursos.
Al ser un navegador especializado en leer documentación, tiene los componentes imprescindibles para ello. No está sobrecargado de opciones como un navegador web y eso influye en el consumo.
Libre de distracciones.
Zeal
Desde GENBETA:dev se centraban en Dash , que es un programa muy apañado y recomendable… si tienes un Mac [2] y no te importa que se trate de software propietario y de pago, claro.
No obstante, mencionaban de pasada la existencia de Zeal , que es software libre y está disponible para otras plataformas .
Haciendo honor a la verdad, comparado con Dash, Zeal deja bastante que desear. Pero sigue proporcionándonos las ventajas básicas de un organizador de APIs. Y, al usar el mismo formato de documentación que Dash, podemos usar toda la documentación disponible para este, así como generar nuestra propia documentación siguiendo las mismas instrucciones . Además, si se le facilita el trabajo, el desarrollador de Dash está bastante abierto a peticiones de incluir nueva documentación.
Instalación
Para Arch Linux (y derivadas) está disponible un paquete en AUR, por lo que podemos instalarlo fácilmente con yaourt o cualquier otro wrapper de pacman de nuestro gusto.
$ yaourt -S zeal-git
Para otras distribuciones o sistemas podemos encontrar más información en su página de descarga .
Configuración y uso
Una vez instalado, utilizarlo es muy sencillo.
Primero de todo, hemos de descargar la documentación que queremos tener disponible.
Tras esto, ya podemos usar el cuadro de búsqueda para buscar entre toda la
documentación. Y, si queremos afinar más, podemos emplear filtros para
restringir nuestra búsqueda a determinada documentación. Así,
doc:consulta
buscará consulta
dentro de aquella documentación
cuyo nombre se corresponda o contenga la palabra clave doc
.
Plugins para editores
Zeal es algo limitado en cuanto a plugins y sólo cuenta con tres por ahora:
-
El plugin está disponible en el gestor de paquetes de ST , por lo que su instalación es trivial. Una vez instalado, podemos invocarlo de dos formas:
F1.
Abre la documentación de Zeal para la palabra seleccionada en el editor. Para esto tenemos que emparejar previamente el lenguaje que estamos usando con su documentación en Zeal , o no funcionará.
Shift + F1.
Despliega una barra para buscar en Zeal.
Para emparejar un lenguaje con su correspondiente documentación hemos de editar la configuración de usuario del plugin en ST (Preferences → Package Settings → Zeal → Settings - User). Para ello, copiamos en dicho archivo la configuración por defecto del plugin (Preferences → Package Settings → Zeal → Settings - Default) y añadimos una linea para nuestro lenguaje.
{ /** * Zeal executable path. * For Linux: /usr/bin/zeal * For Windows: c:\\Program Files\\Zeal\\zeal.exe */ "zeal_command": "/usr/bin/zeal", /** * Sort maaping results. */ "mapping_sort" : true, /** * Language mapping. */ "language_mapping": { "HTML": {"lang": "html", "zeal_lang": "html"}, "JavaScript": {"lang": "javascript", "zeal_lang": "javascript"}, "CSS": {"lang": "css", "zeal_lang": "css"}, "PHP": {"lang": "php", "zeal_lang": "php"}, "Python": {"lang": "python", "zeal_lang": "python"} } }
-
Deberíamos añadir a nuestro archivo
.vimrc
algo como esto:let g:investigate_command_for_python = '/usr/bin/zeal --query ^s'
No se puede decir que estos plugins ofrezcan mucha integración, ya que lo único que hacen es darnos una opción para lanzar Zeal directamente con una determinada consulta, pero tienen su utilidad.
[1] | La memoria eidética, también llamada fotográfica, memoria absoluta, o eidetismo —técnicamente denominada hipermnesia—, es la capacidad de recordar cosas oídas y/o vistas con un nivel de detalle muy preciso. Es una habilidad muy de moda ahora en la pequeña pantalla: Spencer Reid (Criminal Minds), Carrie Wells (Unforgettable) o Sheldon Cooper (The Big Bang Theory) son sólo algunos ejemplos de personajes con este inusual don. |
[2] | Según una entrada del blog del desarrollador, a lo largo de este año deberían aparecer versiones para otras plataformas, a cargo de terceros. |