Understanding Phoebus Manifest Files

Metadata for add-ons hosted on the Pale Moon Add-ons Site is split into three files:

  • phoebus.manifest
    • The main manifest file containing metadata about your add-on.
  • phoebus.content
    • A plain text file used for the main content of an add-on listing. This file uses a formatting syntax that is very similar to BBcode used on many forums.
  • phoebus.license
    • A plain text file with no special syntax that you can use for a custom code license
  • XPI Files' install.rdf
    • Did we say three? We meant four. As of Phoebus 1.6.0, we can extract useful metadata directly from the install.rdf manifest file inside your add-ons and eliminate duplication of information and effort.

The phoebus.manifest file

This file contains the bulk of the metadata used to describe your add-on's listing on the Pale Moon Add-ons Site. The phoebus.manifest file is an INI configuration file popularized by Microsoft Windows and is a very human readable key to value format for specifying various bits of information used on the site.

It has two main sections that up until recently required a number of keys to be set. With Phoebus 1.6.0, however, most of these are now completely optional. Though, it is encouraged that you should fill in as many as possible.

Keys

  • [addon]
    • id: the add-on ID (required)
    • type: the add-on type - extension or theme (required)
    • release: the current release XPI filename (required)
  • [metadata]
    • slug: the slug used in constructing the site URL (required)
    • author: the name of the author (optional) (uses creator in install.rdf if not set)
    • shortDescription: A short description of the add-on. This description should fit on one short line of text. (optional) (uses description in install.rdf if not set)
    • license: Supported OSI designation, "pd" for Public Domain, "copyright" for all rights reserved, "custom" for phoebus.license (recommended)
    • licenseURL: URL to license page (set license to "custom") (optional)
    • repository: URL to code repository (optional)
    • homepageURL: URL to homepage (optional) (uses homepageURL in install.rdf if existent)
    • supportURL: URL to location where users can seek support (optional)
    • supportEmail: email address a user can ask for support from (optional)

Before Phoebus 1.6.0 you used to have to define sections and keys for all the versions of your add-on. This is no longer required. If you still have these sections and keys please remove them. Additionally, in the metadata section we used to use a key called 'name' but this value and all others in the metadata section that can use values from install.rdf take their values from the XPI file you set as 'release'.

Basic example

A basic phoebus.manifest file with only the most minimal required information would look similar to this.

[addon]
id="adblocklatitude@addons.palemoon.org"
type="extension"
release="adblocklatitude-4.0.1.xpi"

[metadata]
slug="adblock-latitude"

More complete example

A more complete phoebus.manifest file using many of the available keys.

[addon]
type="theme"
id="{edbb972f-e557-4870-b98e-98e62085837f}"
release="aeromoon-2-0-2-pm.xpi"

[metadata]
slug="aeromoon"
author="Lootyhoof"
shortDescription="Experience all the benefits of Pale Moon with the colorful toolbar goodness of Firefox 3 Aero (Win Vista/7 theme)!"
license="gpl-3.0"
repository="https://github.com/Lootyhoof/aeromoon"
supportURL="https://forum.palemoon.org/viewtopic.php?f=45&t=7674"
supportEmail="redacted@domain.com"

The phoebus.content file

This is the content of the add-on listing, shown when a user visits an add-on's page directly. This can be written as normal text, with BBcode-alike syntax used to add styling. If this file is not present, the add-on listing will use the shortDescription provided in phoebus.manifest or the <description> tag inside of current release XPI File's install.rdf instead. The specific syntax used is shown below.

Syntax

  • [b] and [/b]: Bold text
  • [i] and [/i]: Italic text
  • [u] and [/u]: Underlined text
  • [ul] and [/ul]: Unordered list (combine with [li] as below to create a bulletted list)
  • [ul] and [/ul]: Unordered list (combine with [li] as below to create a numerical ordered list)
  • [li] and [/li]: List item
  • [section] and [/section]: Denotes individual sections
  • [url] and [/url]: Provides links. Also accepted is [url=http://example.com]Example Test[/url]

Example

An example of a phoebus.content file using some of the most common syntax.

Pale Moon Commander is an extension designed for the [url=http://www.palemoon.org/]Pale Moon web browser[/url]. It is a configurator, meaning it will provide a user-friendly interface to advanced preferences that would otherwise require manual editing of parameters, which can be cumbersome and time-consuming to do.
[section]How to access the add-on's settings[/section]
The add-on, when installed, adds a menu item 'Advanced Options...' in two locations:
[ul]
        [li]In the Application Menu (Pale Moon) under Options -> Advanced Options...[/li]
        [li]In the classic menu under Tools -> Advanced Options...[/li]
[/ul]
Clicking this menu item will open the preferences window that has been added by installing the add-on.
[section]There be dragons here![/section]
Using Pale Moon Commander to change advanced preferences is potentially dangerous and can leave your browser profile in a potentially unusable state. If you don't know what a setting is for, don't touch it. A number of the preferences made accessible through the add-on can prevent proper operation of the browser.

You can reset Pale Moon Commander's controlled settings from within the last category of the extension.
Because all the add-on does is change preferences, you can, at all times, reset the preferences by starting Pale Moon with the SHIFT key depressed, and selecting 'Reset preferences to Pale Moon defaults'. Of course this will also reset any other modified preferences you may have. Using the Reset feature in the add-on itself will have a similar result.

Use of this add-on is at all times at your own risk. I do not give warranty or guarantees, and it is provided 'as-is' although I've done my best to make sure it works as-intended.

You can [url=https://forum.palemoon.org/viewtopic.php?f=50&t=16081]go to the forum thread[/url] for this add-on to provide feedback.
[section]Documentation[/section]
The add-on currently has a basic manual in PDF format, applicable to the previous version 1.7. An update will be made as time permits, but most of the options are explained.

You can get the manual by [url=http://rm-eu.palemoon.org/tools/Pale%20Moon%20Commander_v1.7.0.pdf]clicking here[/url].

Licensing and phoebus.license

XXX: To be filled in

Icon and Preview images

Icons on the Add-ons Site must be at 64x64 pixel resolution minimum and should have an alpha transparent background. The file is named icon.png and should be placed along side your manifest and XPI files.

If you wish to provide a preview image for your extension or theme, please create a file named preview.png no larger than 700x700 pixels and place it along side your manifest and XPI files.

Both files must be in PNG format and will be automatically picked up by the Add-ons Site software and displayed.

Categories: Add-ons
Firefox, Mozilla Firefox and Mozilla are registered trademarks of the Mozilla Corporation.
Site design and Branding © 2016 Moonchild Productions - All rights reserved
Any other content is copyright or trademark to their respective owners.
This site uses Cookies - Your usage indicates your consent to their use.

The Pale Moon Developer Wiki is powered by Enano