February 23, 2019

gnotebook: Bluefish: GNOME's Happy HTML Hybrid - page 2

Press Releases: They're Not Just for the Subversion of Journalism Anymore

  • March 9, 2001
  • By Michael Hall
One answer is out there in the form of Bluefish, a GNOME-oriented HTML editor that provides a huge array of menus and keystrokes for producing HTML that doesn't bury the tags under a WYSIWYG interface even as it makes it easy to check a document on the fly.

Getting Bluefish

Bluefish is available for download from a variety of mirrors, many of which are updated several times a day. It comes in tarballs, .deb's (which work fine with a Ximian GNOME-equipped machine running Debian Potato), and RPM's (i686 and Alpha).

Building Bluefish isn't too tough, either, and the project FAQ provides thorough guidance on the process.

Looking at Bluefish

The goal of Bluefish isn't so much to write code for the aspiring HTML author as it is to provide an easy way to marshall the huge number of tags available for web content creation without keeping a reference book or cheat sheet on hand. To that end, it provides no less than 10 tabbed toolbars with buttons that provide everything from basic text formatting (it favors structural markup) to Javascript (it provides a handy mouseover template, for instance) to PHP (in the form of an online reference for common functions.)

By clicking on toolbar buttons for many of the commands, a dialog pops up that allows the user to enter the information needed to produce a valid tag. Clicking on the IMG button, for instance, pops up a window that asks for width and height (expressed either as pixels or percentages of the original size), the location of the image, the ALIGN characteristic of the image, and VSPACE and HSPACE values. For people who have a rudimentary knowledge of HTML, these pop-ups provide useful reminders of the bare essentials needed for most tags, and they also help guard against the sorts of typos and unclosed tags that get through on even the best author.

The actual HTML editing is done in a pane where the HTML itself is never obscured: the author sees syntax-highlighted markup as it's added. As with most GTK-based apps, the editor allows for the use of common Emacs navigation commands.

Another feature common to many GTK-based applications and one that comes in handy with Bluefish is the ability to assign personalized shortcut keys to menu items quickly and easily by highlighting a given item with the mouse and entering the keystroke the user would like bound to the action the item represents. It makes a tool with a lot of menus and options very customizable, assisting new and experienced users in making the transition from other tools.

Bluefish does a good job of providing a set of GUI tools for adding references to files in a given document. It provides a sidebar that lists files in a given directory. Dragging a filename into the editing window causes Bluefish to produce HTML appropriate to the file type. Dragging a .png for instance, creates an IMG tag with a helpful empty 'alt' parameter included. Dragging an HTML file creates an anchor tag requiring only that the author provide the text enclosed by the link.

Bluefish doesn't stop at HTML creation: it also provides a useful set of options for previewing HTML both in a browser or a pop-up window. It's a good way for newer users to receive some feedback on what their HTML looks like without compromising with a WYSISWYG approach. Bluefish also allows for external programs to be invoked on a file in its edit buffer. By default, it includes the ability to run weblint, which parses HTML for non-standard code. Unfortunately, in the one indication of instability in the program I could find, clicking on the 'tidy' function causes Bluefish to crash, which is a useful reminder that, as with all programs under development, it's good to save frequently no matter how solid overall a program may seem.

Wrapping Up

Bluefish doesn't remove the need to understand how HTML works in general. To that extent, it isn't as "easy" as a WYSISWYG editor. On the other hand, even a HTML novice with just a rudimentary understanding of how a markup language works and a few basic rules about HTML in particular will find that it makes the job of producing pages much easier, and because it never obscures the HTML source involved in producing a document, it also provides a good learning experience.

Another big plus for Bluefish is its online documentation, which is well written and cleanly presented, providing a thorough look at most of the program's features. Not only does it cover use of the program itself, but it provides development guidelines to coders who'd like to help out. Even though this part of the documentation isn't finished, it's impressive that it's there at all. It speaks well of the future Bluefish will likely enjoy as an ongoing project that the maintainer has taken the time to both document his code and manage his fellow volunteers.

Bluefish marries the best of GUI's and traditional text editing into a customizable, useful package. Maybe if expose more people to it, those press releases I have to wade through won't be so terrible.

Most Popular LinuxPlanet Stories