I haven’t turned my attention to Firefox extensions pretty much since I left Vibrant Media — where I wrote a handful of extensions to help us with the IntelliTXT platform. That was about 4 years back — amazingly in all that time Firefox went from version 3.0 to about 26.0! As such I had to try my hand again at their extension mechanism to see what and how things have changed.
As I started messing about with Firefox extensions, I realised that the process can be quite laborious at times so I thought I’d put something together to help me (and hopefully others too) create an extension quicker. The purpose of this blog post is to introduce this little project I started on github for this reason.
If you’re getting started with Firefox extension, no doubt you would have encountered this blogpost http://blog.mozilla.org/addons/2009/01/28/how-to-develop-a-firefox-extension/ which despite its age still covers most aspects of Firefox extension development. That article, while great in content, does require quite a few manual steps — in terms of creating a certain directory structure, files etc. Even more so, reading it, it turns out that a lot of that content is actually “boilerplate” stuff — so right away the idea came to me that this thing surely can be automated a bit!
The result is a project I published on github here: https://github.com/liviutudor/FFExtensionSkeleton, ingeniously labelled FFExtensionSkeleton 🙂 Perhaps the term “project” is a bit generous here since ultimately this is just a simple bash script which when run creates the directory structure and some boilerplate code where needed.
The script is customizeable and you can read the “readme” I put together on the project page for more info on that. At the moment it’s in version “0.1” if you will, which means it just creates a very basic skeleton and boilerplate code — however, referring back to the original article, that does save you about 5-10 paragraphs of reading and manual work.
You can grab the source of the script from https://raw.github.com/liviutudor/FFExtensionSkeleton/develop/create_ff_ext.sh — or go through normal means of downloading it from github, whichever works best for you. Once saved locally all you have to do is just launch it — make sure you edit it and customize your “settings” first otherwise it will use some hardcoded defaults which might not be what you want — and you’ll have your directory structure and basic code ready to go. I’ve personally used it to kick off another project on github (https://github.com/liviutudor/howaboutwe_google_search) but I’ll get back to that in a different blog post perhaps.