Euskalbar Chromerako

TL;DR;

Euskalbar Chromerako eskuragarri daukazu. Ctrl-Shift-U (klik bat, lehen bezala) sakatu eta zuzenean bilatu nahi duzun hitza idatzi. On egin! 🙂

Bertsio luzea

Euskalbar hasiera-hasieratik berridatzi izan behar da (Igor Leturiak egin du -Elhuyar- lan bikain hori, oso denbora laburrean). Zergatik? Firefox-en egindako plugin-ak modu batean programatzen ziren (XUL eta bere API propioa erabiliz) eta Chromen beste era batera (WebExtensions APIa erabiliz). Emaitza: plugin bat garatzerakoan lan bikoitza egin behar zenuen bi nabigatzaileetan erabili nahi izanez gero. Izan ere, MS Edge (lehen Internet Explorer zena) nabigatzaileak ere WebExtensions APIa erabiltzen du orain. Istorio luze bat laburbilduz: Euskalbarreko kodea zakarrontzira bota eta hutsetik, zerotik hasi behar izan da. Eta epe baten barruan: azaroak 1ean WebExtensions APIa erabiltzen ez duten pluginak desgaitu egin dira.

Gauzak horrela, Chrome asko erabiltzen dudanez nire lanerako, Euskalbar-aren kode berria moldatu egin dut Chromen ere erabili ahal izateko. Aldaketa txikiak izan dira. Gero Web Store-ra igo dut. Tartean, kode nagusian ekarpen gutxi batzuk egin ditut… Besteak beste, erabilgarritasunari begira, klik bakar batekin funtzionatu behar du Euskalbar: alegia, Ctrl+Shift+U edo MacOSX-n Cmd+Shit+U sakatuz, automatikoki testua bilatzeko eremua hautatu egin behar da… Firefoxen oraindik ez dugu lortu baina Chromen bai.

Ea horrela erabiltzaile batzuen antsietatea lasaitzen den 🙂

FAQ

Zergatik aldatu da Euskalbarraren egitura? Lehen toolbar bat genuen eskuragarri aldi oro…

Bai, WebExtensions APIak oraindik ez du hori egiten uzten. Utziko digu? Agian bai, agian ez… Baina APIak aukera hori ematen badu noizbait, ziur Euskalbarran sartzen dela

Chromerako eta Firefoxerako bertsioak berdinak dira?

Bai, oinarrian, iturburu-kode bera erabiltzen dute. Noski, berezitasun txiki batzuk ere aurkituko dituzu, baina xehetasunak izango dira, inoiz ez funtzionalitate berriak.

Depurar, editar y guardar ficheros JS en Google Chrome

Receta rápida para los desarrolladores JavaScript interesados, y para retomar el blog tras un parón de unos cuantos meses (he estado ocupado 🙂

La cuestión es: las DevTools de Google Chrome permiten editar y depurar código JavaScript desde el propio navegador. Pero cuando editas un fichero .js y lo intentas guardar, salta el siguiente error:

chrome no deja grabar ficheros js «Changes to this file were not saved to file system». Vaya… pues qué bien… mmmmhh….  ¿y qué dice StackOverflow al respecto? Que existe una solución 🙂 Vamos allá…

Lo primero: pulsa en el botón de configuración.

Botón configuración

 

 

 

Lo segundo, elige la opción Workspaces y añade las carpetas con las que trabajas (las que contienen tu código JS):

carpeta dropbox

 

Puedes añadir más de una carpeta. Fíjate también que puedes editar mapeos URL –> Carpeta local, pero ahí no me meto (por ahora!)

Ojo, cuando añadas carpetas tendrás que aceptar dar permiso, para cada una, para que DevTools pueda acceder a esos datos en modo lectura/escritura. Esta ventana de solicitud de permisos aparece por debajo, en la ventana de Chrome, así que atento, porque hasta que no la pulses, la carpeta no se añadirá correctamente.

Selection_786 Ya casi está. Si estás usando el protocolo file:// para trabajar con tus ficheros en lugar de http://, ojo, porque en ese caso, deberás abrir tus archivos JS desde la carpeta que acabas de añadir al workspace (no vale abrir el fichero haciendo doble click sobre él desde el escritorio o tecleando la ruta en la barra de direcciones del navegador).

 

Abriendo workspaces Sino que tendrás que ir a la pestaña «Sources» y hacer doble click sobre los ficheros de las carpetas importadas (ojo, no desde file://)

Y a partir de ahora, cualquier cambio realizado en el panel DevTools podrás guardarlo «automágicamente» en el sistema de archivos local con un simple Ctrl+S.

 

Google Cloud Print: imprimiendo en la nube


Problema: estás en el autobús de camino al trabajo con el móvil Android y quieres imprimir el PDF que estás viendo en pantalla para que nada más llegar, puedas recoger el taco de papeles impresos y hacer uso de ellos. No es algo traído de los pelos, en el mundo estresado en el que vivimos me ha ocurrido varias veces («ojalá pudiera enviar a imprimir este documento para que sea llegar al despacho y recoger el trabajo para entrar directo a clase…»). Lo sé, podía haberlo hecho antes O:-)

Bueno, el caso es que la espera terminó. Ya es posible hacerlo con una tecnología que salió hace meses para Windows y MacOSX (siendo los usuarios del pingüino otra vez ciudadanos de segunda clase) de la mano de Google. Se llama Google Cloud Print y en resumidas cuentas, lo que permite es enlazar a la nube de Google cualquier impresora a la que tengas acceso desde un ordenador de sobremesa ejecutando el navegador Chrome. De esta forma, cualquier otro dispositivo que tengas (smartphone Android, otro PC con Chrome, una tablet…) conectado y con permisos recibirá la opción de imprimir en esas impresoras. Realmente es como compartir una impresora local a través del navegador… para todo el que tú desees, esté donde esté.

¿Cómo se hace? Abre Chrome (¡ojo! ¡versión 12 como mínimo!). Teclea about:flags. Activa Google Cloud Print. Ahora, cierra y vuelve a abrir Chrome. Desde ele menú de opciones, preferencias, «Under the Hood», haz login en Google Cloud Print (te pedirá que te identifiques con una cuenta Google). Selecciona las impresoras que quieres compartir. ¡Listo! Los dispositivos Android desde los que quieras poder imprimir recibirán la notificación de que tienen impresora disponible sin que tengas que hacer nada más. Los navegadores Chrome de otros PCs tendrás que configurarlos.

Atajo de teclado para borrar la caché de Chrome

Tip rápido: pulsa «Control+Shift+Suprimir» y entrarás ipso-facto en la misma pantalla que pulsando el icono de la llave inglesa, Opciones / Under the Hood / Clear browsing data / Cache

PD1: sí, en Chrome ahora puedes, desde el formulario de Opciones teclear una palabra y automágicamente te llevará directo al menú que contenga dicha palabra, sin tener que andar navegando por opciones, pero el atajo de teclado ahorra más clicks de ratón 🙂

PD2: cómo escribís vosotros memoria caché, ¿con tilde o sin tilde? Toda palabra aguda terminada en vocal, en n o en s lleva acento… pero me pregunto si al derivar de una palabra original en inglés no deberíamos dejarla sin acento…

El albañil de la web

From Wikipedia, jugando con las palabras/enlaces: «Albañil […] también se refiere a aquel que se dedica a la reparación o reforma con materiales de obra. Antiguamente, al menos hasta el S. XIX, el oficio de albañilería era un oficio gremial. Para pertenecer a él, el candidato debía ser presentado por un miembro y ser aceptado formalmente como aprendiz. Una vez dentro del gremio podía conseguir distintos grados hasta llegar a maestro, que tenía una consideración social importante.»

Los albañiles de la web actual también deberían de pasar por un período de formación hasta conseguir el título de webmaster, tan en desuso hoy en en día…

Tenemos un problema a resolver: la siguiente web tiene un enlace para cambiar de idioma (de castellano a euskera o viceversa).

La cuestión es que al pinchar en el cambio de idioma, el navegador vuelve a la home de esa sección de la web, cambiando el contenido de la página por completo (cambia de idioma, pero nos lleva al «hall» de la web, en lugar de mantenernos donde estábamos)








Es decir, pasamos de estar aquí (navegando en español):

http://www.tic.ehu.es/p265-shintrct/es/contenidos/enlace/intrehutic_ldap_indice/es_indizea/ldap_indice.html

a estar aquí (navegando en euskera):

http://www.tic.ehu.es/p265-shintrhm/eu/

Podemos cambiar la URL original a mano, donde pone «es» lo sustituimos por «eu»… O bien, podemos hacer un pequeño script que lo haga por nosotros. Y si tenemos la ayuda de la consola de Chrome, mejor que mejor. Desde ese navegador, pulsamos el botón derecho sobre la página y seleccionamos «Inspect Element».

En la parte inferior izquierda, pulsamos sobre el botón que abre la consola. Veremos algo como lo siguiente:

En la parte inferior, he tecleado «wind» y el propio Chrome me sugiere que «window» es un objeto DOM válido, que puedo manipular vía Javascript. Estudiando un poco ese modelo DOM, y con la ayuda del propio navegador (autocompletamiento de nombres de objetos y propiedades), sabiendo que las teclas para movernos por una sugerencia de keyword son el tabulador y/o la «flecha derecha», llegaremos fácilmente a:

   window.location.href

Y si tras teclearlo pulsamos Enter:

Vemos que Chrome nos da el valor de esa propiedad href. Lo que nos interesa ahora es cambiar toda aparición de «es» por «eu» automágicamente 🙂 ¿Toda? Bueno, toda no, porque el .es del dominio no lo queremos cambiar. ¿Cómo obtener la parte de la URL a la derecha del dominio? Curioseando en el modelo DOM, vemos que es la propiedad window.location.pathname. Ahora, un find&replace y lo tenemos 🙂

¿Cómo lo añadimos ahora a la barra de bookmarks de Chrome para tenerlo siempre disponible? Botón derecho sobre la barra de bookmarks, «Add page..», y tecleamos lo que ves en la imagen de la izquierda (ojo, pulsa sobre la imagen o no verás un carajo)

Listo! Cuando pulsemos en el enlace especial Javascript que acabamos de crear (bookmarklet se llaman), cambiará la URL de la página, de «es» a «eu», con un sólo click.

El albañil se va a por el bocata, satisfecho del trabajo bien hecho 🙂