이 문서는 파이어폭스나 썬더버드에서 테마를 포장하는 방법에 대해서 기술하고 있습니다.
준비사항
파이어폭스나 썬더버드의 테마를 만들 때에는 Cascading Stylesheets(CSS) 에 대한 지식이 필수적이며, XBL에 대한 지식도 필요할 수 있습니다. 또한, 그래픽 디자인 및 미적 감각(...은 아닐지도)도 필요합니다. 하지만, 이 문서에서는 파이어폭스의 테마 창에서 보여질 수 있도록 테마를 포장하는 방법에 대해서만 기술할 것입니다.
테마 파일의 구조
파이어폭스/썬더버드의 테마는 다음과 같은 구조의 JAR 파일로 포장됩니다.
theme.jar: install.rdf contents.rdf preview.png icon.png browser/files global/files mozapps/files communicator/files ...
- 테마에 사용되는 크롬을 등록하기 위하여 chrome.manifest (Firefox/Thunderbird 1.5 의 경우) 나 contents.rdf 파일을 디렉토리 최상위단에 만들어 주어야 합니다. 또한 테마 윈도우에 나타낼 메타데이터를 정의하기 위한 install.rdf manifest 파일도 함께 만들어 주어야 합니다.
- preview.png 는 테마 윈도우의 스크롤 가능한 미리보기 영역에 보여질 이미지입니다. 이미지의 사이즈는 어떤 크기로도 가능합니다.
- icon.png 는 32x32 크기의 PNG (알파 투명도 값을 가질 수 있는)파일입니다. 이는 테마 윈도우의 테마 목록에서 보여집니다.
install.rdf
install.rdf manifest 는 다음과 같이 만들 수 있습니다:
<?xml version="1.0"?> <RDF xmlns="https://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="https://www.mozilla.org/2004/em-rdf#"> <Description about="urn:mozilla:install-manifest"> <em:type>4</em:type>more properties </Description> </RDF>
install.rdf 에 본적으로 들어가야 하는 속성들
install.rdf 파일에는 다음과 같은 속성들이 들어가야 합니다. 상세한 정보는 install.rdf Reference 에서 얻을 수 있습니다.
- em:id
- em:version
- em:type
- em:targetApplication
- em:name
- em:internalName
install.rdf 에 선택적으로 들어갈 수 있는 속성들
- em:description
- em:creator
- em:contributor
- em:homepageURL
- em:updateURL
만약 여러분의 테마가 https://addons.mozilla.org 웹사이트에 게시된다면 updateURL 속성은 포함시키면 안 됩니다.
샘플 install.rdf 파일
<?xml version="1.0"?> <RDF xmlns="https://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="https://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>https://www.bengoodger.com/</em:homepageURL> <!-- Front End Integration Hooks (used by Theme Manager)--> <em:internalName>newtheme1</em:internalName> </Description> </RDF>
아래의 것은 통상적인 타겟 어플리케이션의 GUID 입니다. 여러분은 이 GUID 를 여러분의 targetApplication 속성에 정의할 수 있습니다:
Firefox {ec8030f7-c20a-464f-9b0e-13a3a9e97384} Thunderbird {3550f703-e582-4d05-9a08-453d09bdfdc6} Sunbird {718e30fb-e89b-41dd-9da7-e25a45638b28}