Pakowanie motywów
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
Poniższy artykuł opisuje operację pakowania motywów dla Firefoksa oraz Thunderbirda.
Spis treści |
[edytuj] 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.
[edytuj] 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.
[edytuj] 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>
[edytuj] 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
[edytuj] 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.
[edytuj] 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}
[edytuj] Oficjalne dokumentacje dla Toolkit API
- Struktura instalowanych paczek: opisuje zwyczajową strukturę instalowanych paczek takich jak rozszerzenia, motywy i aplikacje XULRunnera,
- Pakowanie rozszerzeń: określa informacje na temat pakowania rozszerzeń,
- Pakowanie motywów: określa informacje na temat pakowania motywów graficznych,
- Multiple-item Extension Packaging: określa informacje na temat złożonych paczek XPI
- Pakowanie w XULRunnerze: określa informacje na temat w jaki sposób pakować aplikacje XULRunnera,
- Rejestracja Chrome