BBEdit Rules the Web
Truly, we live in a world of scientific wonders. Just a few years ago, I was writing HTML code in Eudora. But then came the revolution that was PageMill, the first program that let you create Web sites visually, without having to know the code. For me, the rocket had left the pad.HTML Blastoff
After PageMill, Web designers took a bumpy but remarkable ride through the stratosphere. PageMill was trumped by GoLive CyberStudio (now Adobe GoLive), and GoLive was trumped by Macromedia Dreamweaver. Today's GoLive and Dreamweaver are compelling tools, which let you create not just Web sites, but animated, interactive, database-driven Web sites: sites that would bring tears to the eyes of the poor people still coding static Web pages by hand.
And yet, for all the rocket fuel bundled up in these tools, none of them are my favorite Web tool -- not by a long shot.
I have a different favorite -- and if all my interactions with the Web community are any indication, I'm not the only one. It would be nice to be an iconoclast, but I'm just a foot soldier in the BBEdit army. And that's just fine with me.In the Trenches
I don't recall exactly when I started using BBEdit ( www.bbedit.com ), Bare Bones Software's text editor. It was a time when the program was still targeted largely at programmers. But a few enterprising souls had added plug-ins for BBEdit that made it easier to code Web pages. As someone who had been using the featureless text editor in Eudora (don't ask me why), BBEdit was a huge step up for me.
Over the years, BBEdit has grown into much more of an HTML-coding tool. Bare Bones purchased some of those plug-ins, updated them, and worked them into the core of BBEdit. Now, the program colors your code, so you can differentiate tags from text.
BBEdit makes coding simpler by reducing the amount of typing you need to do in order to make a Web page. Rather than typing
<A HREF="http://www.macworld.com/">to make a hyperlink, I just select the text I want to be linked, choose a keyboard shortcut, and BBEdit writes the code for me. Likewise, there are countless other HTML coding tasks, such as placing images, that don't require me to type the code out by hand. Club versus Flamethrower
In this day and age, why would someone choose to edit Web pages by hand rather than use some friendly, what-you-see-is-what-you-get Web tool such as Dreamweaver? There are several reasons, and one is that a lot of people prefer to code by hand because the code they generate is more economical.
Even the best graphical Web tool is just a piece of software, and I've yet to see any software that generates HTML code that I would generate myself. Instead, graphical-tool-generated HTML is littered with oddities and extra junk, such as invisible pairs of tags that somehow didn't get deleted when you deleted the text they modified.
Don't get me wrong: I use tools such as Dreamweaver and GoLive frequently. I find it extremely valuable to be able to create a page visually, without having to figure out exactly how many rows and columns I'll need in a table. But when the time comes to put that page into production, I will almost always give it a once-over in BBEdit.
Another reason some people prefer BBEdit over a WYSIWYG application is that writers and editors of Web sites -- Macworld.com included -- don't actually edit complete HTML pages. Instead, they write text that's poured into existing HTML templates. Dreamweaver-like tools are often useless in those situations. But BBEdit is a great tool for preparing online content that contains HTML code, but won't be a complete Web page until it's pushed through some sort of Web production system.The Endless Tool
Perhaps my favorite feature in BBEdit is that it's remarkably customizable. This attribute has been greatly enhanced in version 6.0, which arrived on the scene a couple of weeks ago. (Stay tuned for a review of that version in the near future.) Beginning with version 6.0, you can attach an AppleScript to any menu item, letting you hijack just about any BBEdit feature and replace it with your own customized version if you so desire.
But the customizations I most enjoy predate this latest version. First, the program is amazingly scriptable, and I've created countless AppleScripts to do things like wrap paragraph tags around all the paragraphs in a text file or convert pasted text from Word to HTML. I also use the program's Glossary feature to create elements that can be inserted easily so I don't have to retype -- including some custom HTML markup used on one of the Web sites I work on in my spare time.
In fact, I find BBEdit so useful that I now do most of my writing -- especially when it's destined for the Web -- using BBEdit rather than Microsoft Word. I'm more comfortable with BBEdit's interface, and it offers niceties such as drag-and-drop text placement, a spelling checker, and a word counter.
The clincher when it comes to the relationship between me and BBEdit, however, is my use of its search-and-replace functionality. A few years ago, I learned how to use grep , a system of pattern-matching search-and-replace. I wrote an article a while back explaining how to do it (" Transform HTML with Regular Expressions "). Not only does BBEdit do grep well, but it's great at massive search-and-replace jobs through hundreds of files. I can safely say it's saved me hundreds of hours of work, and that's perhaps the thing that most endears BBEdit to me.Mileage Always Varies
Of course, this is a love letter to BBEdit. If you're a Mac user who spends a lot of time working with plain text in any form, you owe it to yourself to give BBEdit a test drive. In my estimation, BBEdit (available only for the Mac OS) is one of the great unspoken joys of using the Mac platform. With the possible exception of my mail client, Eudora, I spend more time using BBEdit than any other application.
So what if BBEdit doesn't have the latest jet-fuel-powered engine? It doesn't need it. I prefer my feet planted firmly on the ground, thank you very much.
Macworld.com Editor JASON SNELL has been publishing on the Internet since 1991. He wrote this entire article using BBEdit 6.0.