Visit Mozilla.org

Empaquetar un Tema

De MDC


Este documento describe cómo empaquetar temas para Firefox y Thunderbird.

Tabla de contenidos

[editar] Pre-requisitos

Hacer un tema para Firefox o Thunderbird requiere conocimientos de hojas de estilo en cascada (CSS), probablemente XBL, y un poco de habilidad para diseño gráfico y estética (...o quizá no). Este documento describe solamente cómo se empaquetan los temas para ser mostrados en la ventana de los temas de Firefox.

[editar] Estructura de los ficheros del tema

Los temas Firefox/Thunderbird son empaquetados en un archivo JAR con la siguiente estructura:

theme.jar:
  install.rdf
  contents.rdf
  preview.png
  icon.png
  browser/files
  global/files
  mozapps/files
  communicator/files
  ...
     
  • Debe de existir un fichero chrome.manifest (Firefox/Thunderbird 1.5) o contents.rdf en el nivel superior para registrar el chrome para el tema (como antes) y también un fichero install.rdf que especifique los metadatos mostrados en la ventana de temas.
  • preview.png es una imagen que se mostrarán en el área de previsualización de la ventana de temas. Puede tener cualquier tamaño.
  • icon.png es una imagen png de tamaño 32 x 32 (puede contener transparencias) que será mostrada en la lista y en la ventana de temas.

[editar] install.rdf

El fichero install.rdf debe de tener este aspecto:

<?xml version="1.0"?>

<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#">

  <Description about="urn:mozilla:install-manifest">
    <em:type>4</em:type>
    otras propiedades
  </Description>      
</RDF>

[editar] Propiedades de install.rdf requeridas

El fichero install.rdf debe contener las siguientes propiedades. Véase Referencia install.rdf para más información:

  • em:id
  • em:version
  • em:type
  • em:targetApplication
  • em:name
  • em:internalName

[editar] Propiedades de install.rdf opcionales

  • em:description
  • em:creator
  • em:contributor
  • em:homepageURL
  • em:updateURL

Nótese que si el tema va a ser publicado en el sitio web http://addons.mozilla.org, no debe incluir la parte updateURL.

[editar] Fichero install.rdf de ejemplo

<?xml version="1.0"?>

<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#">

  <Description about="urn:mozilla:install-manifest">
    <em:id>{18b64b56-d42f-428d-a88c-baa413bc413f}</em:id>
    <em:version>1.0</em:version>
    <em:type>4</em:type>

    <!-- Aplicación para la cual esta extensión puede ser instaladainto, 
         indicando la mínima y máxima versión soportada. -->
    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>0.8</em:minVersion>
        <em:maxVersion>0.9</em:maxVersion>
      </Description>
    </em:targetApplication>
    
    <!-- Front End MetaData -->
    <em:name>New Theme 1</em:name>
    <em:description>A test theme for Firefox</em:description>
    <em:creator>Ben Goodger</em:creator>
    <em:contributor>John Doe</em:contributor>
    <em:homepageURL>http://www.bengoodger.com/</em:homepageURL>

    <!-- Front End Integration Hooks (used by Theme Manager)-->
    <em:internalName>newtheme1</em:internalName>
  </Description>
</RDF>

Los siguientes son algunos GUIDs de aplicaciones comunes que puedes usar en la propiedad targetApplication:

Firefox      {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Thunderbird  {3550f703-e582-4d05-9a08-453d09bdfdc6}
Sunbird      {718e30fb-e89b-41dd-9da7-e25a45638b28}

[editar] Referencia oficial para Toolkit API

Toolkit API:Official References