Pakowanie motywów

 

Poniższy artykuł opisuje operację pakowania motywów dla Firefoksa oraz Thunderbirda.

Założenia

Tworzenie motywów dla Firefoksa lub Thunderbirda wymaga znajomości Cascading Stylesheets (CSS), prawdopodobnie XBL oraz projektowania grafiki i wyczucia estetyki (...lub też nie). Poniższy artykuł opisuje jedynie jak pakowane są motywy, aby pokazać je w oknie Motywów Firefoksa.

Struktura plików motywu

Motywy Firefoksa/Thunderbirda pakowane są do plików JAR o następującej strukturze:

motyw.jar:
  install.rdf
  contents.rdf
  preview.png
  icon.png
  browser/files
  global/files
  mozapps/files
  communicator/files
  ...
     
  • Na najwyższym poziomie musi się znajdować plik chrome.manifest (Firefoks/Thunderbird 1.5) lub contents.rdf rejestrujący chrom dla motywu (jak poprzednio) oraz manifest install.rdf określający informacje wyświetlane w oknie Motywy.
  • preview.png jest obrazkiem podglądu pokazywanym podczas przeglądania okna Motywy. Może posiadać dowolny rozmiar.
  • icon.png jest ikoną o rozmiarze 32x32 w formacie PNG (może posiadać przeźroczystość alpha) pokazywaną w liście motywów w oknie Motywy.

install.rdf

Twój manifest install.rdf będzie wyglądał podobnie do poniższego:

<?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>more properties
  </Description>      
</RDF>

Wymagane własności install.rdf

Plik install.rdf musi posiadać następujące własności. By dowiedzieć się więcej zobacz install.rdf:

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

Opcjonalne własności install.rdf

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

Uwaga: jeśli twój motyw będzie dostępny na stronie http://addons.mozilla.org nie powinien on zawierać własności updateURL.

Przykładowy plik install.rdf

<?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>

    <!-- Target Application this extension can install into, 
         with minimum and maximum supported versions. -->
    <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>

Poniższe GUID przykładowych aplikacji docelowych można użyć w swoich własnościach targetApplication:

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

Oficjalne dokumentacje dla Toolkit API

Autorzy i etykiety dokumentu

 Autorzy tej strony: teoli, Mgjbot, Bedi
 Ostatnia aktualizacja: teoli,