blob: 0ff635c4aac9cc600943f0ece111e8e03aa8637d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
---
title: Theme Packaging
slug: Theme_Packaging
tags:
- Add-ons
- Themes
- Toolkit API
---
<p>이 문서는 파이어폭스나 썬더버드에서 <a href="ko/Themes">테마</a>를 포장하는 방법에 대해서 기술하고 있습니다.</p>
<h3 id=".EC.A4.80.EB.B9.84.EC.82.AC.ED.95.AD" name=".EC.A4.80.EB.B9.84.EC.82.AC.ED.95.AD">준비사항</h3>
<p>파이어폭스나 썬더버드의 테마를 만들 때에는 Cascading Stylesheets(<a href="ko/CSS">CSS</a>) 에 대한 지식이 필수적이며, <a href="ko/XBL">XBL</a>에 대한 지식도 필요할 수 있습니다. 또한, 그래픽 디자인 및 미적 감각(...은 아닐지도)도 필요합니다. 하지만, 이 문서에서는 파이어폭스의 테마 창에서 보여질 수 있도록 테마를 포장하는 방법에 대해서만 기술할 것입니다.</p>
<h3 id=".ED.85.8C.EB.A7.88_.ED.8C.8C.EC.9D.BC.EC.9D.98_.EA.B5.AC.EC.A1.B0" name=".ED.85.8C.EB.A7.88_.ED.8C.8C.EC.9D.BC.EC.9D.98_.EA.B5.AC.EC.A1.B0">테마 파일의 구조</h3>
<p>파이어폭스/썬더버드의 테마는 다음과 같은 구조의 JAR 파일로 포장됩니다.</p>
<pre class="eval">theme.jar:
install.rdf
contents.rdf
preview.png
icon.png
browser/<i>files</i>
global/<i>files</i>
mozapps/<i>files</i>
communicator/<i>files</i>
...
</pre>
<ul>
<li>테마에 사용되는 크롬을 등록하기 위하여 <a href="ko/Chrome.manifest">chrome.manifest</a> (Firefox/Thunderbird 1.5 의 경우) 나 contents.rdf 파일을 디렉토리 최상위단에 만들어 주어야 합니다. 또한 테마 윈도우에 나타낼 메타데이터를 정의하기 위한 <a href="ko/Install.rdf">install.rdf</a> manifest 파일도 함께 만들어 주어야 합니다.</li>
<li>preview.png 는 테마 윈도우의 스크롤 가능한 미리보기 영역에 보여질 이미지입니다. 이미지의 사이즈는 어떤 크기로도 가능합니다.</li>
<li>icon.png 는 32x32 크기의 PNG (알파 투명도 값을 가질 수 있는)파일입니다. 이는 테마 윈도우의 테마 목록에서 보여집니다.</li>
</ul>
<h3 id="install.rdf" name="install.rdf">install.rdf</h3>
<p><a href="ko/Install.rdf">install.rdf</a> manifest 는 다음과 같이 만들 수 있습니다:</p>
<pre class="eval"><?xml version="1.0"?>
<RDF xmlns="<a class="external" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#" rel="freelink">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a>"
xmlns:em="<a class="external" href="http://www.mozilla.org/2004/em-rdf#" rel="freelink">http://www.mozilla.org/2004/em-rdf#</a>">
<Description about="urn:mozilla:install-manifest">
<em:type>4</em:type><i>more properties</i>
</Description>
</RDF>
</pre>
<h4 id="install.rdf_.EC.97.90_.EB.B3.B8.EC.A0.81.EC.9C.BC.EB.A1.9C_.EB.93.A4.EC.96.B4.EA.B0.80.EC.95.BC_.ED.95.98.EB.8A.94_.EC.86.8D.EC.84.B1.EB.93.A4" name="install.rdf_.EC.97.90_.EB.B3.B8.EC.A0.81.EC.9C.BC.EB.A1.9C_.EB.93.A4.EC.96.B4.EA.B0.80.EC.95.BC_.ED.95.98.EB.8A.94_.EC.86.8D.EC.84.B1.EB.93.A4">install.rdf 에 본적으로 들어가야 하는 속성들</h4>
<p>install.rdf 파일에는 다음과 같은 속성들이 들어가야 합니다. 상세한 정보는 <a href="ko/Install.rdf">install.rdf Reference</a> 에서 얻을 수 있습니다.</p>
<ul>
<li>em:id</li>
<li>em:version</li>
<li>em:type</li>
<li>em:targetApplication</li>
<li>em:name</li>
<li>em:internalName</li>
</ul>
<h4 id="install.rdf_.EC.97.90_.EC.84.A0.ED.83.9D.EC.A0.81.EC.9C.BC.EB.A1.9C_.EB.93.A4.EC.96.B4.EA.B0.88_.EC.88.98_.EC.9E.88.EB.8A.94_.EC.86.8D.EC.84.B1.EB.93.A4" name="install.rdf_.EC.97.90_.EC.84.A0.ED.83.9D.EC.A0.81.EC.9C.BC.EB.A1.9C_.EB.93.A4.EC.96.B4.EA.B0.88_.EC.88.98_.EC.9E.88.EB.8A.94_.EC.86.8D.EC.84.B1.EB.93.A4">install.rdf 에 선택적으로 들어갈 수 있는 속성들</h4>
<ul>
<li>em:description</li>
<li>em:creator</li>
<li>em:contributor</li>
<li>em:homepageURL</li>
<li>em:updateURL</li>
</ul>
<p>만약 여러분의 테마가 <a class="external" href="http://addons.mozilla.org" rel="freelink">http://addons.mozilla.org</a> 웹사이트에 게시된다면 updateURL 속성은 포함시키면 안 됩니다.</p>
<h4 id=".EC.83.98.ED.94.8C_install.rdf_.ED.8C.8C.EC.9D.BC" name=".EC.83.98.ED.94.8C_install.rdf_.ED.8C.8C.EC.9D.BC">샘플 install.rdf 파일</h4>
<pre class="eval"><?xml version="1.0"?>
<RDF xmlns="<a class="external" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#" rel="freelink">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a>"
xmlns:em="<a class="external" href="http://www.mozilla.org/2004/em-rdf#" rel="freelink">http://www.mozilla.org/2004/em-rdf#</a>">
<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><a class="external" href="http://www.bengoodger.com/" rel="freelink">http://www.bengoodger.com/</a></em:homepageURL>
<!-- Front End Integration Hooks (used by Theme Manager)-->
<em:internalName>newtheme1</em:internalName>
</Description>
</RDF>
</pre>
<p>아래의 것은 통상적인 타겟 어플리케이션의 GUID 입니다. 여러분은 이 GUID 를 여러분의 targetApplication 속성에 정의할 수 있습니다:</p>
<pre class="eval">Firefox {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Thunderbird {3550f703-e582-4d05-9a08-453d09bdfdc6}
Sunbird {718e30fb-e89b-41dd-9da7-e25a45638b28}
</pre>
|