「如何撰寫install.rdf」修訂間的差異
出自 MozTW Wiki
(→install.rdf 範例) |
小 |
||
行 1: | 行 1: | ||
− | == install.rdf 範例 == | + | = 什麼是 install.rdf? = |
− | + | 指 Firefox、Thunderbird 等軟體擴充套件中的安裝描述檔,也就是說如果您是一般使用者,那... 您走錯了 ^__^。要是想包裝擴充套件,那就看下去... | |
+ | |||
+ | 這邊的資訊適用 Firefox 1.0 版,1.1 版以後將有所變動,請參考 [http://www.mozilla.org/projects/firefox/extensions/packaging/extensions.html Packaging Firefox/Thunderbird Extensions] | ||
+ | |||
+ | = 開始製作 install.rdf = | ||
+ | |||
+ | == 事前準備 == | ||
+ | 你需要一個支援 unicode 的純文字編輯器,就這樣... 很簡單吧! .rdf 檔基本上也是 XML 檔,所以該守的 XML 規範一樣不缺;如果你先前對 XML 有所認識,那以下就是蛋糕一片囉。 | ||
+ | |||
+ | 不瞭解也無妨,先來看一個完整的範例: | ||
+ | |||
+ | == 範例 == | ||
<pre> | <pre> | ||
<!-- 宣告區 --> | <!-- 宣告區 --> | ||
行 41: | 行 52: | ||
</RDF> | </RDF> | ||
</pre> | </pre> | ||
− | + | ||
− | + | 其中'''宣告區'''是固定的,照抄即可;'''主要內容'''的 <code><Description></code> 標籤寫法也可以直接抄: | |
− | + | ||
<pre> | <pre> | ||
<Description about="urn:mozilla:install-manifest"> | <Description about="urn:mozilla:install-manifest"> | ||
... | ... | ||
− | [ | + | [套件屬性] |
... | ... | ||
</Description> | </Description> | ||
</pre> | </pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | + | 而其中的'''套件屬性'''分成'''必備'''跟'''選用'''兩類標籤,以下一一介紹: |
− | + | ||
− | + | == 必備標籤 == | |
− | + | 這些標籤是一定要寫的,也只能寫一個(組)。 | |
− | + | === em:id === | |
− | + | 這是用來指定套件的 UID。怎麼取得 UID 呢? 有三套工具可以用 guidgen (Windows), uuidgen (Unix/Linux), "botbot uuid" (在IRC上) | |
− | + | === em:version === | |
− | + | 指定套件的版本號。所有版本號請依循 Firefox 規則,以'''主版本號'''.'''副版本號'''.'''修補版本號'''方式列明 (如 1.0.3)。 | |
− | + | === em:targetApplication === | |
+ | 說明你的套件該給那個應用程式(例如 Firefox 或 Mozilla)安裝,像這樣: | ||
+ | <pre> | ||
+ | <em:targetApplication> | ||
+ | <Description> | ||
+ | <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> | ||
+ | <em:minVersion>0.10</em:minVersion> | ||
+ | <em:maxVersion>1.0+</em:maxVersion> | ||
+ | </Description> | ||
+ | </em:targetApplication> | ||
+ | </pre> | ||
+ | 如果套件可以同時安裝在多種應用程式上,則可寫兩組(以上)的<code><Description></code>,每組當中指定一套應用程式。以下介紹 em:id、em:minVersion 和 em:maxVersion。 | ||
+ | |||
+ | ==== em:id ==== | ||
+ | 應用程式的 UID,如果是給 Firefox 用就寫 Firefox 的,以此類推。以下是常見三種應用程式的 UID: | ||
+ | *Firefox: {ec8030f7-c20a-464f-9b0e-13a3a9e97384} | ||
+ | *Mozilla: {86c18b42-e466-45a9-ae7a-9b95ba6f5640} | ||
+ | *Thunderbird: {3550f703-e582-4d05-9a08-453d09bdfdc6} | ||
+ | |||
+ | ==== em:minVersion, em:maxVersion==== | ||
+ | 最小相容版和最大相容版本,請填上版本號。 | ||
+ | |||
+ | === em:name === | ||
+ | 擴充套件的名稱,可以填中文。 | ||
+ | |||
+ | === em:file === | ||
+ | 指定 chrome 裡頭檔案的安裝目錄,也包含一組(以上?)<code>Description</code> 標籤。 <code>Description</code> 的標籤格式一定是 <code><nowiki><Description about="urn:mozilla:extension:file:moztwPack.jar"></nowiki></code>,其中的 moztwPack.jar 要替換成你包好的 jar 檔名稱,可不要照抄哪! | ||
+ | |||
+ | <code>Description</code> 中包含 <code>em:package</code>、<code>em:skin</code> 跟 <code>em:locale</code> 標籤。其中的 <code>em:skin</code> 跟 <code>em:locale</code> 屬於選用,也可以寫一個以上。 | ||
+ | |||
+ | ==== em:package ==== | ||
+ | 指定安裝 content/ 裡的檔案 | ||
+ | ==== em:skin ==== | ||
+ | 佈景主題,指定安裝到 skin/ 裡的檔案。 | ||
+ | ==== em:locale ==== | ||
+ | 各語言專用檔,指定安裝 locale/ 裡的檔案。 | ||
+ | |||
+ | == 選用標籤 == | ||
+ | 此處為選用標籤,有則寫之無則略過... | ||
+ | === em:description === | ||
+ | 簡介你的套件功能,只能寫一組,可以用中文。 | ||
+ | === em:creator === | ||
+ | 主要開發者名稱,只能寫一組,可以用中文。 | ||
+ | === em:contributor === | ||
+ | 在開發過程中予以協助的貢獻者,可以寫很多個(每個人寫一個標籤),可以用中文。 | ||
+ | === em:homepageURL === | ||
+ | 套件首頁網址。 | ||
+ | === em:updateURL === | ||
+ | 填上檢查自動更新的 rdf 網址,請參考 [http://roachfiend.com/archives/2005/03/09/enabling-extension-updates/ Enable Extension Updates] | ||
+ | === em:optionsURL === | ||
+ | 指定'''選項'''對話方塊的資源位置,如果省略則代表不使用擴充套件管理員中的'''選項'''功能。範例: | ||
+ | |||
+ | <pre><nowiki><em:optionsURL>chrome://moztwPack/content/options.xul</em:optionsURL></nowiki></pre> | ||
+ | === em:aboutURL === | ||
+ | 指定'''關於'''對話方塊的資源位置,如果省略則會自動採用內建的陽春對話方塊。範例: | ||
+ | |||
+ | <pre><nowiki><em:aboutURL>chrome://myext/content/about.xul</em:aboutURL></nowiki></pre> | ||
+ | === em:iconURL === | ||
+ | 指定'''套件圖示'''的資源位置,如果省略則會自動採用預設圖示。範例: | ||
+ | |||
+ | <pre><nowiki><em:iconURL>chrome://myext/skin/icon.png</em:iconURL></nowiki></pre> | ||
+ | = 1.1 版後的更新 = | ||
+ | em:file 標籤在 Firefox 1.1 版起不用寫,應以 chrome.manifest 檔案代替,相關寫法請參考 [http://www.mozilla.org/projects/firefox/extensions/packaging/extensions.html Packaging Firefox/Thunderbird Extensions],有興趣者請順便翻譯過來... ;) |
於 2005年4月19日 (二) 19:33 的修訂
什麼是 install.rdf?
指 Firefox、Thunderbird 等軟體擴充套件中的安裝描述檔,也就是說如果您是一般使用者,那... 您走錯了 ^__^。要是想包裝擴充套件,那就看下去...
這邊的資訊適用 Firefox 1.0 版,1.1 版以後將有所變動,請參考 Packaging Firefox/Thunderbird Extensions
開始製作 install.rdf
事前準備
你需要一個支援 unicode 的純文字編輯器,就這樣... 很簡單吧! .rdf 檔基本上也是 XML 檔,所以該守的 XML 規範一樣不缺;如果你先前對 XML 有所認識,那以下就是蛋糕一片囉。
不瞭解也無妨,先來看一個完整的範例:
範例
<!-- 宣告區 --> <?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>{c7ae9c4d-e8f5-4a01-8ec9-1233018a202e}</em:id> <em:version>0.1</em:version> <!-- 指明要安裝套件的應用程式,這個例子是 Firefox --> <em:targetApplication> <Description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minVersion>0.10</em:minVersion> <em:maxVersion>1.0+</em:maxVersion> </Description> </em:targetApplication> <!-- 套件資訊 --> <em:name>Moztw Pack</em:name> <em:description>Moztw 自訂的套件</em:description> <em:creator>Moztw</em:creator> <em:contributor>dken</em:contributor> <em:homepageURL>http://moztw.org/</em:homepageURL> <!-- 安裝檔案 --> <em:file> <Description about="urn:mozilla:extension:file:moztwPack.jar"> <em:package>content/moztwPack/</em:package> <em:skin>skin/classic/moztwPack/</em:skin> <em:locale>locale/zh-TW/moztwPack/<em:locale> </Description> </em:file> </Description> </RDF>
其中宣告區是固定的,照抄即可;主要內容的 <Description>
標籤寫法也可以直接抄:
<Description about="urn:mozilla:install-manifest"> ... [套件屬性] ... </Description>
而其中的套件屬性分成必備跟選用兩類標籤,以下一一介紹:
必備標籤
這些標籤是一定要寫的,也只能寫一個(組)。
em:id
這是用來指定套件的 UID。怎麼取得 UID 呢? 有三套工具可以用 guidgen (Windows), uuidgen (Unix/Linux), "botbot uuid" (在IRC上)
em:version
指定套件的版本號。所有版本號請依循 Firefox 規則,以主版本號.副版本號.修補版本號方式列明 (如 1.0.3)。
em:targetApplication
說明你的套件該給那個應用程式(例如 Firefox 或 Mozilla)安裝,像這樣:
<em:targetApplication> <Description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minVersion>0.10</em:minVersion> <em:maxVersion>1.0+</em:maxVersion> </Description> </em:targetApplication>
如果套件可以同時安裝在多種應用程式上,則可寫兩組(以上)的<Description>
,每組當中指定一套應用程式。以下介紹 em:id、em:minVersion 和 em:maxVersion。
em:id
應用程式的 UID,如果是給 Firefox �用就寫 Firefox 的,以此類推。以下是常見三種應用程式的 UID:
- Firefox: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
- Mozilla: {86c18b42-e466-45a9-ae7a-9b95ba6f5640}
- Thunderbird: {3550f703-e582-4d05-9a08-453d09bdfdc6}
em:minVersion, em:maxVersion
最小相容版和最大相容版本,請填上版本號。
em:name
擴充套件的名稱,可以填中文。
em:file
指定 chrome 裡頭檔案的安裝目錄,也包含一組(以上?)Description
標籤。 Description
的標籤格式一定是 <Description about="urn:mozilla:extension:file:moztwPack.jar">
,其中的 moztwPack.jar 要替換成你包好的 jar 檔名稱,可不要照抄哪!
Description
中包含 em:package
、em:skin
跟 em:locale
標籤。其中的 em:skin
跟 em:locale
屬於選用,也可以寫一個以上。
em:package
指定安裝 content/ 裡的檔案
em:skin
佈景主題,指定安裝到 skin/ 裡的檔案。
em:locale
各語言專用檔,指定安裝 locale/ 裡的檔案。
選用標籤
此處為選用標籤,有則寫之無則略過...
em:description
簡介你的套件功能,只能寫一組,可以用中文。
em:creator
主要開發者名稱,只能寫一組,可以用中文。
em:contributor
在開發過程中予以協助的貢獻者,可以寫很多個(每個人寫一個標籤),可以用中文。
em:homepageURL
套件首頁網址。
em:updateURL
填上檢查自動更新的 rdf 網址,請參考 Enable Extension Updates
em:optionsURL
指定選項對話方塊的資源位置,如果省略則代表不使用擴充套件管理員中的選項功能。範例:
<em:optionsURL>chrome://moztwPack/content/options.xul</em:optionsURL>
em:aboutURL
指定關於對話方塊的資源位置,如果省略則會自動採用內建的陽春對話方塊。範例:
<em:aboutURL>chrome://myext/content/about.xul</em:aboutURL>
em:iconURL
指定套件圖示的資源位置,如果省略則會自動採用預設圖示。範例:
<em:iconURL>chrome://myext/skin/icon.png</em:iconURL>
1.1 版後的更新
em:file 標籤在 Firefox 1.1 版起不用寫,應以 chrome.manifest 檔案代替,相關寫法請參考 Packaging Firefox/Thunderbird Extensions,有興趣者請順便翻譯過來... ;)