Way back at the beginning of the web (or when it started to become mainstream) it was popular to spend hours hacking away at a keyboard to type your first web page.

These early efforts were horrific mish-mashes of colour, style (or lack thereof) and seemed to consist entirely of people telling you just how they felt about certain topics.

You only have to spend some time with the Internet Archive to see shining examples of the terror that could be wrought with a simple text editor and far too much knowledge.

From there web development got a bit smarter, and it wasn't long before GUI-based tools became available to make the whole process more speedy and user friendly.

Sadly, they didn't improve on the whole colour clashing, but they did make a lot more people a lot more productive. Even Microsoft, having previously dismissed the power of the web, did a complete U-turn and ended up releasing FrontPage to fuel even more abuse of the senses.

Here and now

Nowadays a very large number of sites use a dedicated content management system that serves to totally abstract users from the intricacies of learning HTML, DHTML, XHTML and all the other different languages that can be harnessed to produce rich and dynamic websites in favour of having strict controls on look and feel.

That's not to say that there isn't a place for good old fashioned web editors; rather that they now provide a complementary set of tools that can enhance a website, turning it into a thing of relative beauty.

So, what's the state of editors for Linux and does it get any better than Vi or Emacs? Let's take a look at what options are on offer today.

1. Bluefish
Licence: Free under GPL
Website: bluefish.openoffice.nl

Our first editor of interest is Bluefish, which is marketed as the programmers' HTML editor. When you launch it, you can understand why it's seen this way. Although you can't edit a graphical preview, you do get a whole host of icons crying out to be clicked on.

The developers have also taken a leaf out of Microsoft's book, mimicking their Ribbon interface with a range of options to format your HTML. More interesting is the slew of other components that can be placed into the mix, including PHP, SQL and some limited Apache options.

All of these are designed to take some of the pain out of creating complex pages, something which is to be commended. Even better, there's a pretty exhaustive reference not only to the intricacies of HTML, but also PHP, CSS2 and Python.

As you'd expect from any code editor, there's syntax colouring and highlighting to help you monitor and correct any mistakes in your code. Coming back to the Ribbon-like interface, we found it annoying to have to click twice to get to the options we needed – once to bring up the toolbar and again to select the option we wanted.

It's a feature we find mildly annoying in Office as well, although we can understand that others may prefer it. However, the interface does seem a little on the cluttered side, even with the ribbon hiding the majority of the icons.

After a while, you'll find yourself entering code without the icons, just to avoid having to use them. If you find that you're using a handful of icons on a regular basis, you can elect to add them to the quick bar – a Ribbon-like option that gives you your own personalised shortcut area.

We are legion

One of the best features in Bluefish is that it enables you to create what it calls projects, which contain a number of pages or elements all founded on a common set of preferences. Each page is held in its own tab, making it relatively simple to have a number of pages open within the editor to cross check between them as necessary.