bitacora.lavaramano.md    archivos    feed    acerca de

Agregando buscadores personalizados al firefox/iceweasel

Hace unas semanas estaba buscando constantemente bugs en el BTS de Debian, pero me estaba cansando de escribir la direccion todo el tiempo, asi que recorde a mycroft que nos permite agregar a partir de un listado, pero no era eso lo que yo queria, sino algo mas sencillo. Ahi fue cuando se me prendio la lamparita y me puse a revisar en /usr/share/iceweasel/ donde encontre un directorio bastante obvio: searchplugins. :-)
Solo basto hacer:

 % cat google.xml   

Para encontrar exactamente lo que necesitaba.

Como se habran dado cuenta, el formato de los buscadores personalizados esta en xml y su armado es bastante sencillo, solamente necesitamos tener los siguientes tags:

  • os:Shortname
  • os:Description
  • os:InputEncoding
  • SearchForm - La URL donde esta el formulario.
  • os:Url - La URL final con nuestra consultra agregada.

Tambien, podemos agregar un iconito para identificarlo utilizando una img de 16x16 (convertida a base64) dentro del tag “os:Image”. Por ejemplo, en el directorio searchplugins hay un icono llamado debsearch.png y para obtenerlo en base64, solo hace falta ejecutar:

 % base64 debsearch.png   

Muy sencillo :-)

Sin mas vueltas, aca dejo como se deberia ver para que funcione con el BTS:

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">  
  <os:ShortName>deb-BTS</os:ShortName>  
  <os:Description>Debian BTS</os:Description>  
  <os:InputEncoding>ISO-8859-1</os:InputEncoding>  
  <os:Image width="16" height="16">data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAJnKAACZygHjkaQiAAAAB3RJTUUH1gsYEToVv17oJgAAAXpJREFUOMuN0s+LjWEUB/DPvabrR9EYpVFkoWbxFv+ADE2JxSkLUVLKQmo2FvYUKzulqVmQSMpSvck0Slmyms2xYMNCoiaFGsqPzfPk7XZv5rs57/e83+/3OefpASnuGY0UD3odch5fKtk3LF1IMVfJq1K3pZjq42mKY/jWaFelmBx35FoNT7E1xRr0S2Ox0W7CIWi0X7E3xUR1v+4knUxxdNQRcymmhvvdTWdwGyu41mg/d923Uix2+KMUlyrZmOJ0+d5dbyTFUhUc7zgHpW5J8aGu+acz04kU0/iB2SpYTnG4CJZxBhsa7dvukG/8DymejOr3hkR9XMVl/MISPmEHjhTZDdxstP8CivEgHuNco23HTDHAC+zB/ka72i//DuAOpqs5xWSKCyVcikGj/YlT+F7fZw3YhYdFUDGPu432d+GbS92OZ1U0Uer7YujiPq6keFcMMynOYqHRzo/a7/q4m143UsymeF6fzHrQGxO0ExfxEiuN9uO4gL9fqYR9Njj9WAAAAABJRU5ErkJggg==</os:Image>  
  <SearchForm>http://bugs.debian.org/</SearchForm>  
  <os:Url type="text/html" method="GET" template="http://bugs.debian.org/{searchTerms}"></os:Url>  
</SearchPlugin>  

Luego con guardarlo en el directorio antes mencionado o en ~/.mozilla/firefox/[letras raras].default/searchplugins, deberia funcionar (luego de reiniciar el navegador, obviamente)

Ahora si suelen usar al epiphany, algo similar se puede hacer agregando un bookmarklet con codigo en Javascript con algo similar a esto:

javascript:var x=prompt('Ingrese el nombre del paquete o el ID relacionado a un bug.'); if(x!=''||x!=null){window.location.href='http://bugs.debian.org/'+x;}