mozilla

Compare Revisions

Building an extension

Change Revisions

Revision 33452:

Revision 33452 by DjNightStorm on

Revision 33453:

Revision 33453 by Dlim on

Title:
Building an extension
Building an extension
Slug:
Building_an_Extension
Building_an_Extension
Tags:
NeedsTechnicalReview, Extensions, Add-ons, NeedsEditorialReview, NeedsUpdate
NeedsTechnicalReview, Extensions, Add-ons, NeedsEditorialReview, NeedsUpdate
Content:

Revision 33452
Revision 33453
t17    </div>Hello,Worldt17    </div>
18    <h4 name="Setting_up_the_Development_Environment">
19      Setting up the Development Environment
20    </h4>
21    <p>
22      Extensions are packaged and distributed in ZIP files, or <a
 > href="en/Bundles">Bundles</a>, with the <tt>xpi</tt> (<i>pronoun
 >ced “zippy”</i>) file extension. The layout of content within the
 > XPI file is like so:
18    <p>23    </p>
19      === S24    <pre class="eval">
25extension.xpi:
26              /<a href="en/Install.rdf">install.rdf</a>          
 >         
27              <a href="#XPCOM_Components">/components/*</a>  
28              <a href="#Application_Command_Line">/components/cmd
 >line.js</a>                   
29              <a href="#Defaults_Files">/defaults/</a>
30              <a href="#Defaults_Files">/defaults/preferences/*.j
 >s</a>     
31              /plugins/*                        
32              /<a href="en/Chrome.manifest">chrome.manifest</a>  
 >              
33              /<a href="en/Chrome_window_icons">chrome/icons/defa
 >ult/*</a>       
34              /chrome/
35              /chrome/content/
36     
37</pre>
38    <p>
39      Because of this, it is easiest if we lay out our source fil
 >es in a similar fashion, unless you want to write some sort of Ma
 >kefile or shell script to package and zip all of your files. Even
 > if you are prepared to do that, testing is much simpler if you l
 >ay out your files like this because of a feature of the Add-on Sy
 >stem provided by Firefox 1.5 and later.
40    </p>
41    <p>
42      So let's get started. Create a folder for your extension so
 >mewhere on your hard disk, e.g. <tt>C:\extensions\myExtension\</t
 >t> or <tt>~/extensions/myExtension/</tt>. Inside this folder crea
 >te another folder called <tt>chrome</tt>, inside the <tt>chrome</
 >tt> folder create a folder called <tt>content</tt>. (On Unix-like
 > systems you can usually create both directories just by running 
 ><tt>mkdir -p chrome/content</tt> from within the extension's root
 > directory.)
43    </p>
44    <p>
45      Inside the <b>root</b> of your extension folder, alongside 
 >the <tt>chrome</tt> folder, create two new empty text files, one 
 >called <tt>chrome.manifest</tt> and the other called <tt>install.
 >rdf</tt>.
46    </p>
47    <p>
48      More tips on setting up the development environment can be 
 >found on <a class="external" href="http://kb.mozillazine.org/Sett
 >ing_up_extension_development_environment">Mozillazine Knowledge B
 >ase</a>.

Back to History