More Related Content
TXT
DOC
PDF
PDF
PDF
ODT
National level funding chasing.pdf PDF
PPT
Online Convenience store, Every Quality Product around a Pound | 97pstores.com What's hot
PDF
PDF
PPT
Polling personnel training tamil PDF
PDF
PPT
Uliweb 快速易用的Python Web Framework PDF
PDF
20090307cakephphandson 01 PDF
PDF
PPT
Northwest WCET Handout On Strategic Staff Development PPT
Pdf of mindbody Developers TXT
PDF
DOC
Agatha christie. la ratonera1 PPT
PDF
Voices for custodial justice newsletter -June 2016 issue ODT
PDF
PDF
Viewers also liked
PPT
PPTX
PPT
PPTX
各種酷炫圖表繪製技術 Silverlight Toolkit 與 MS Chart 控制項大探索 DOC
Dv Dx 能讓您用一個步驟轉換Dvd 成為 Vcd2 DOC
PPT
PDF
PPT
PPS
PPTX
PPTX
PPT
6343 MTT Practicum Competency 008 PPT
2009 Metu Ncc Presentation PPTX
PPTX
PPTX
Happy Holidays from Bernadette Vadurro More from Chui-Wen Chiu
PDF
PDF
PPT
PPT
PPS
Why The Us Wants War 080702 ODP
PPS
DOC
PPS
PPT
ODP
ODP
PDF
PDF
PPS
PDF
PDF
PDF
PPT
PPT
如何撰寫Install
- 1.
如何撰寫 install.rdf
From MoztwWiki
這個頁面屬於 如何製作 Firefox 擴充套件計畫 的一部份,歡迎您共同參與本
計畫。詳見 專案首頁。
內容大綱 [隱藏]
1 line for test
2 什麼是 install.rdf?
3 開始製作 install.rdf
3.1 事前準備
3.2 範例
3.3 必備標籤
3.3.1 em:id
3.3.2 em:version
3.3.3 em:targetApplication
3.3.3.1 em:id
3.3.3.2 em:minVersion, em:maxVersion
3.3.4 em:name
3.3.5 em:file
3.3.5.1 em:package
3.3.5.2 em:skin
3.3.5.3 em:locale
3.4 選用標籤
3.4.1 em:description
3.4.2 em:creator
3.4.3 em:contributor
- 2.
3.4.4 em:homepageURL
3.4.5 em:updateURL
3.4.6em:optionsURL
3.4.7 em:aboutURL
3.4.8 em:iconURL
4 1.1 版後的更新
[編輯]
line for test
[編輯]
什麼是 install.rdf?
指 Firefox、Thunderbird 等軟體擴充套件中的安裝描述檔,也就是說如果您是
一般使用者,那... 您走錯了 ^__^。要是想包裝擴充套件,那就看下去...
這邊的資訊適用 Firefox 1.0 版,1.1 版以後將有所變動,請參考 Packaging
Firefox/Thunderbird Extensions
(http://www.mozilla.org/projects/firefox/extensions/packaging/extensions.html)
[編輯]
開始製作 install.rdf
[編輯]
事前準備
你需要一個支援 Unicode 的純文字編輯器,因為這個檔案必須以 Unicode 儲存,
就這樣... 很簡單吧! .rdf 檔基本上也是 XML 檔,所以該守的 XML 規範一樣不
缺;如果你先前對 XML 有所認識,那以下就是蛋糕一片囉。
不瞭解也無妨,先來看一個完整的範例,:
- 3.
[編輯]
範例
<!-- 宣告區 -->
<?xmlversion="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>
- 4.
</Description>
</RDF>
其中宣告區是固定的,照抄即可;主要內容的 <Description> 標籤寫法也可以直
接抄:
<Descriptionabout="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>
- 5.
<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 屬於選用,也可以寫一個以上。
- 6.
- 7.
em:homepageURL
套件首頁網址。
[編輯]
em:updateURL
填上檢查自動更新的 rdf 網址,請參考Enable Extension Updates
(http://roachfiend.com/archives/2005/03/09/enabling-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
- 8.
(http://www.mozilla.org/projects/firefox/extensions/packaging/extensions.html)
,有興趣者請順便翻譯過來... ;)
底下是新版的基本格式:(主要分成四類 -content,locale,skin,overlay)
• content package
o content packagename path/to/files
• locale package
o locale packagename localename path/to/files
• skin package
o skin packagename skinname path/to/files
• XUL overlay
o overlay chrome://file-to-overlay chrome://overlay-file
• Style overlay
o style chrome://file-to-style chrome://stylesheet-file
範例:
content mypackagename jar:chrome/myjarfile.jar!/content/
locale mypackagename en-US jar:chrome/myjarfile.jar!/locale/English/
locale mypackagename fr-FR jar:chrome/myjarfile.jar!/locale/French/
skin mypackagename classic/1.0 jar:chrome/myjarfile.jar!/skin/classic/
mozilla.org 上較完整的例子:
(1)
content necko jar:comm.jar!/content/necko/
content pippki jar:pippki.jar!/content/pippki/
content xbl-marquee jar:comm.jar!/content/xbl-marquee/
content pipnss jar:pipnss.jar!/content/pipnss/
content global-platform jar:toolkit.jar!/content/global-platform/ platform
(2)
overlay chrome://browser/content/pageInfo.xul chrome://pippki/content/PageInfoOverlay.xul
overlay chrome://communicator/content/pref/preftree.xul
chrome://pippki/content/PrefOverlay.xul
overlay chrome://navigator/content/pageInfo.xul
chrome://pippki/content/PageInfoOverlay.xul
(3)
locale pipnss en-US jar:en-US.jar!/locale/en-US/pipnss/
locale necko en-US jar:en-US.jar!/locale/en-US/necko/
locale pippki en-US jar:en-US.jar!/locale/en-US/pippki/
- 9.
1. 第一類(1):
o "necko" 為套件名稱
o "jar:comm.jar!" 代表 necko 是被包在 comm.jar 裡頭的
o "/content/necko/" 就是代表 necko 的相關套件所在路徑
2. 第二類(2):
o 這個就很容易辨認了,但是不要忘了 chrome:// 的格式和一般的
URL 是不一樣哦,這要特別注意!
3. 第三類(3):
o 同(1)"pipnss" 為套件名稱
o "jar:en-US.jar!" 代表 pipnss 是被包在 en-US.jar 裡頭的
o "/locale/en-US/pipnss/" 路徑。