You are there: > Customize

Make the BBComposer yours !

BBComposer has been build to be extensible. You can add new languages or new sidebars according to your needs. This section lists those extensions and explains how to create your own sidebar or language support. Don't forget you've to download BBComposer first !

BBComposer Extensions

DegradX logoDegradX: To create text and background color ranges easily. Click on the link to download this extension. Then, to show the sidebar, select DegradX on the tool bar options menu. Have fun with it !

KGen logoKGen: It's a keyword generator that allows you to get every words of a page and sort them by their importance on her. It can be used without BBComposer but allows you to get words of the selected BBComposer elements. To activate KGen, select View>Sidebar>Keyword Generator.

LogoFlickR Comments : Allows you to edit your comments on FlickR. A cool feature is the resize of images.

DegradX logoHTML language support: To accelerate the xhtml/xbbcode rich edition progression, we intentionally didn't include the HTML support to the native version. This is a way to get it.

Logo de Spip TypoSpip Typo (b├ęta) : This extension is a support for Spip typographic shortcuts that is actually under beta-testing.

Skywyg logoSkywyg, Skyblogs language support: Skyblog is a popular blog community in France for who we created a support for it's specific bbcode-like language.

Create a language extension

Let's BBComposer enters your CMS! You don't want to change the language to another one supported by the BBComposer? That's not a problem! Let's explain how to create an extension language for BBComposer.

BBComposer is an extension for Firefox. He's write in XUL and Javascript (well known by web developers). To create a new language, you only have to know Javascript. Some XUL knowledges will be a plus. A BBComposer extension is, first, a Firefox extension, so, it'll be exactly the same organization than for an extension. To learn more about the Firefox extensions, read this.

But it's not necessary to know that because a new language creation consist in 5 main steps :

  1. Determinate a language code that you'll use for modifying the extension model. In the next of this document, we'll call this your "language code".
  2. Unzip the extension language model file you'll find here and replace all the (lang_code) strings by the language code you chose in all .rdf, .dtd, .properties, .js and .xul files. With the Windows Notepad, select Edition>Replace for quickness. The extension language model language code is html4.
  3. Rename the chrome/content/(lang_code).js with you language code and edit the html2(lang_code), (lang_code)2html and (lang_code)Buttons functions.
  4. Edit and rename the chrome/locale/(lang_code).properties file.
  5. Zip the content and locales folders in a file named (lang_code).jar and zip the root folder content to (lang_code).xpi.

Your extension is now ready ! To get some examples of conversion functions, you can see the BBComposer conversion functions.

Create a sidebar extension

Maybe that the sidebar buttons aren't sufficient for your CMS ? It's not a problem. You can also create sidebars like DegradX or the included CSS sidebar.

You'll need some knowledge in XUL to do that. I cannot explain you all the process to do it, that's not the goal of this site. You can learn XUL with XULPlanet an excellent website.

One thing you have to know is that you'll have to choice an id for your sidebar. A function named (you_extension_id)_display() must be created. It will automatically be call on each events that refresh the BBComposer status (click, keypress, keydown, keyup, drag, drop etc...). By example, with DegradX, this function retrieves the color ranges of the selected area and display it in the sidebar.


New BBComposer translations are available with the help of Babelzilla translators. If the BBComposer is not yet translated in your language, maybe you would contribute to its translation.


If you need help, you can find me in the Firefox channel of under the MaximumHeight nickname. Contact me if you want me to create a link to your BBComposer extensions here.