Tag: browser

85 Firefox Shortcuts for Mac and PC

Posted on July 23, 2008 in Technology by Jeff Starr

[ Macintosh Keyboard ]

As my browser of choice, Firefox provides all the functionality I need for web design, application development, everyday surfing, and much more. With a handful of choice extensions installed, Firefox is a lean, mean “get-it-done” machine. Plus, I am always looking for new ways to boost productivity and increase efficiency. Of course, an excellent way to do this involves learning and using as many mouse and keyboard shortcuts as possible. Over the past few years, I have collected oodles of shortcut snippets for Firefox. Thus, in an effort to purge my constantly growing stash of notes, I decided to round up all of the Firefox shortcuts I could find, clean them up a bit, and post the collection online for everyone to enjoy. Drum roll please: now presenting 85 Firefox Shortcuts for Mac and PC! Enjoy..

Continue Reading

More Killer CSS Resets

Posted on March 23, 2008 in Presentation by Jeff Starr

Update! Check out CSSresetr for an easy way to test and download the best reset styles for your next design.

[ Globe Icon ] Just a note to let everyone know that I have updated my previous CSS reference article, A Killer Collection of Global CSS Reset Styles. The updated version features two more excellent CSS resets, as well as the updated Meyer reset and a link to Eric’s official CSS Reset page. The two new reset styles are the Tripoli Reset and Tantek’s Reset:

Tantek’s CSS Reset

Dubbed “undohtml.css”, Tantek’s CSS Reset is a solid choice for removing many of the most obtrusive default browser styles. This reset removes underlines from links and borders from linked images, eliminates padding and margins for the most common block-level elements, and sets the font size to 1em for headings, code, and paragraphs. As an added bonus, Tantek’s reset also “de-italicizes” the infamous address element! Nice :)

Continue Reading

Are Adblock-Plus Visitors Seeing Your Content?

Posted on December 29, 2007 in Technology, Websites by Jeff Starr

As Firefox continues to grow in popularity, it is inevitable that more and more users will install plugins such as Adblock and Adblock Plus. As we know, such extensions work by filtering site contents through a list of predefined wildcard directives and other rules. Users may also customize the block-list by right-clicking on unwanted images or even subscribing to an automated filterset updater. Apparently, a significant number of Firefox users employ these extensions to help control the relentless flood of unwanted advertising around the Internet. This concept works great when advertisements are blocked, but what happens when users are unwittingly denied access to legitimate content?

The Two Adblock Extensions

As many are not aware, there are currently two suspiciously similar Adblock extensions for Firefox. As mentioned in the opening paragraph, Firefox users may install either “Adblock” or “Adblock Plus”, both of which are freely available via the Firefox Add-on pages. For many months now, I have been using Adblock Plus. If I remember correctly, I had replaced Adblock with Adblock Plus several months ago while resolving a conflict with some other extension (I should be keeping a log for such changes!). Since installing Adblock Plus, I have been noticing missing content from a significant number of visited sites. While not having the time (until today) to explore the situation in greater depth, I decided to snap a few screenshots along the way, capturing the Firefox view of any sites that seemed to present with missing content. Here are few of the more popular ones:

Continue Reading

Killer Collection of CSS Resets

Posted on October 23, 2007 in Presentation by Jeff Starr

Update! Check out CSSresetr for an easy way to test and download the best reset styles for your next design.

[ Globe Icon ] Using CSS to style semantically meaningful (X)HTML markup is an important key to modern web design practices. In a perfect world, every browser would interpret and apply all CSS rules in exactly the same way. However, in the imperfect world in which we live, quite the opposite frequently happens to be the case: many CSS styles are displayed differently in virtually every browser.

Many, if not all, major modern browsers (e.g., Firefox, Opera, Internet Explorer, Netscape, et al) implement their own generalized CSS rules, which often conflict with designer-applied styles. Other browsers fail to implement properly various CSS rules, making a mess of pages that happen to display perfectly in other browsers. Even worse, some browsers completely ignore specific aspects of CSS altogether, entirely ignoring widely accepted CSS attributes and properties.

Continue Reading

Everything You Ever Wanted to Know about Favicons

Posted on October 17, 2007 in Presentation by Jeff Starr

[ Image: Fifty of my Favorite Favicons ]
Fifty Favorite Favicons
If you have a website, you need a favicon. For those who may not know, favicons are the small, square icons that frequently are associated with websites. Favicons appear in many places, including browser toolbars, bookmarks, tabs, and address bars. Favicons provide immediate visual identification of their represented sites, enabling super-easy navigation for Web users. While surfing bookmarks with fifty tabs open, finding and clicking on icons is far more efficient than reading through piles of link text. Yet, beyond making it easier for people to identify and locate their favorite websites, favicons also play a critical role in site branding and product recognition. Popular browsers such as Firefox, Opera, and Internet Explorer are virtually re-branded when favicon-enabled sites are displayed. For example, observe how willingly modern browsers conform to the image of web designer/developer Jonathan Snook:

Continue Reading

10 Firefox Extensions that I Use Every Day

Posted on August 28, 2007 in Blogging, Technology by Jeff Starr

In the Beginning..

Over a year ago, I posted an article recommending over fiftyessential Firefox extensions.” Excited to have discovered the miraculous joys of extending Firefox with such amazing functionality, I loaded my primary copy of Firefox with just about every potentially useful extension that I could find. Several weeks were spent playing with new features, customizing preferences, and configuring options to gel together in an orchestrated chorus of blissful browser harmony. After experiencing the functional firepower of my newly equipped technological terror, I was completely convinced that I had assembled the ultimate collection of Firefox extensions. And, as the power went straight to my head, I was determined to enlighten the masses by publishing a complete, unedited list of 51 “essential” Firefox extensions.

Continue Reading

Absolutely Fabulous Browser Bookmarklet Things

Posted on July 24, 2007 in Websites by Jeff Starr

[ Image: Fabulous Shot of Immortal's Abbath and Horgh ] ..Or something. Frankly, I just needed an excuse to post these steaming little beauties online. Please note that I don’t lay claim 1 to most of these browser bookmarklet/favelet tricks, but I do find them extremely useful. They are posted here for the sake of convenience and for reference purposes, so use at your own risk (i.e., I am not responsible if they crash your browser). Although I use most of these bad boys with Firefox, I wouldn’t be terribly surprised if they also functioned properly in other modern browsers. Nonetheless, along with each bookmarklet/favelet thing, I try to provide as much relevant information as possible, because sometimes you just feel like you’re from another planet. Happy head-scratching!

What are these things?

“Bookmarklets,” “Favelets,” “Browser Enhancement Things” — whatever you want to call them — help increase productivity and simplify tasks executed from within your browser window. Basically, these things are stored as bookmarks and perform some task — such as resize the browser window — when they are clicked. Hmm, perhaps I should check Wikipedia for the “Official” definition .. — nah.

How do I install them?

Installation of these lil’ miracles could not be easier. In most modern browsers, simply drag and drop the bookmarklet link onto your shortcut toolbar (Firefox, Safari, et al) or right-click and “Add to Favorites” (Internet Explorer). Pretty easy. There is a more complicated method as well. Create an empty bookmark or Favorite and copy & paste the bookmarklet source code into the URL field. Either way, these things are pretty common and you shouldn’t have too much trouble. So, without further ado..

Continued..

Compressed JavaScript Compression

Posted on April 24, 2007 in Function by Jeff Starr

In this article, we extrapolate our favorite CSS-compression technique for JavaScript. Below, we outline the steps required to auto-compress your JavaScript documents via gzip and PHP. Two different compression methods are presented. The first method does not require htaccess, but rather involves the manual editing of JavaScript files. The second method employs htaccess to do all the work for you, thus requiring much less effort to implement. In either case, the result is the same: automatically compressed content delivered only to supportive browsers, resulting in reduced bandwidth, faster loading times, and smiling visitors :)

Continue Reading

Fast, Effective PHP Compression

Posted on March 26, 2007 in Function by Jeff Starr

PHP compression is an excellent method of conserving bandwidth and reducing client download times. We have already discussed an excellent method for CSS compression, and in this article we share a super-easy technique for compressing all PHP content without editing a single file.

Using two PHP files and two corresponding lines of .htaccess, it is possible to compress your PHP files via gzip-encoding. Browsers and other user-agents capable of interpreting gz-encoded data will employ the compressed content, while other user-agents will utilize the content uncompressed.

Continue Reading

Invite Only: Visitor Exclusivity via the Opt-In Method

Posted on January 22, 2007 in Function by Jeff Starr

Web developers trying to control comment-spam, bandwidth-theft, and content-scraping must choose between two fundamentally different approaches: selectively deny target offenders (the "blacklist" method) or selectively allow desirable agents (the "opt-in", or "whitelist" method).

Currently popular according to various online forums and discussion boards is the blacklist method. The blacklist method requires the webmaster to create and maintain a working list of undesirable agents, usually blocking their access via htaccess or php. The downside of "blacklisting" is that it requires considerable effort to stay current with the exponential number of ever-evolving threats, which require exceedingly long lists for an effective response. Although time-consuming and potentially work-intensive (there are automated methods of blacklisting bad bots), blacklisting optimizes hits by allowing site access to anyone not on the blacklist. Unfortunately for blacklisters, it has become relatively trivial to disguise bots by using standard user-agent strings. So the bad guys bypass the blacklist and slip into your site incognito. Besides, nobody wants to waste valuable time digging through endless access logs. Whereas blacklisting is reactive, whitelisting is proactive..

Continue Reading

Compressed CSS Compression

Posted on October 23, 2006 in Function by Jeff Starr

In this article, we have consolidated the priceless information provided in fiftyfoureleven.com’s fine post, The Definitive Post on Gzipping your CSS, which discusses two practical methods for compressing CSS documents. Complete and utter credit for the contents of this article is hereby attributed to fiftyfoureleven.com.

Method One

Overview: This method involves adding a small PHP script to your CSS document and replacing its .css extension with a .php extension.

Place the following PHP script into the top of the CSS document that you wish to compress. Then change the .css extension to .php, to arrive at something similar to: compressed-css.php. Remember to use the new name when referencing the file.

<?php 
   ob_start ("ob_gzhandler");
   header ("content-type: text/css; charset: UTF-8");
   header ("cache-control: must-revalidate");
   $offset = 60 * 60;
   $expire = "expires: " . gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";
   header ($expire);
?>

Here is the same PHP script commented with functional explanations:

<?php

   // initialize ob_gzhandler function to send and compress data
   ob_start ("ob_gzhandler");

   // send the requisite header information and character set
   header ("content-type: text/css; charset: UTF-8");

   // check cached credentials and reprocess accordingly
   header ("cache-control: must-revalidate");

   // set variable for duration of cached content
   $offset = 60 * 60;

   // set variable specifying format of expiration header
   $expire = "expires: " . gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";

   // send cache expiration header to the client broswer
   header ($expire);

?>

Functional Summary: The previous PHP function will first check to see if the browser requesting the file will accept "gzip-deflate" encoding. If no such support is detected, the requested file is sent without compression. Next, the function sends a header for the content type and character set (in this case, "text/css" and "UTF-8"). Then, a "must-revalidate" "cache-control" header requires revalidation against currently specified variables. Finally, an "expires" header specifies the time duration for which the cached content should persist (one hour in this case).

Method Two

Overview: This method involves placing the PHP script in a separate .php file and adding a set of rules to an .htaccess file.

A more discrete, unobtrusive method for compressing CSS involves two steps. First, save the script provided in the first method (above) as a seperate gzip-css.php file and place it in a CSS-exclusive directory. Then, add the following ruleset to an .htaccess file located in the same CSS-exclusive directory (i.e., the CSS directory should contain only CSS files):

# css compression htaccess ruleset
AddHandler application/x-httpd-php .css
php_value auto_prepend_file gzip-css.php
php_flag zlib.output_compression On

Here is the same htaccess ruleset commented with functional explanations:

# css compression htaccess ruleset

# process all CSS files in current directory as PHP
AddHandler application/x-httpd-php .css

# prepend the PHP script to all PHP files in the current directory
php_value auto_prepend_file gzip-css.php

# compress all parsed PHP pages from current directory
# this rule is redundantly present as the first line of the PHP script
php_flag zlib.output_compression On

Functional Summary: The .htaccess rules above first instruct Apache to parse all CSS files in the current directory as PHP. After this, Apache is instructed to insert the contents of the "gzip-css.php" file into the beginning of each PHP (i.e., CSS) file parsed from the current directory. And finally, Apache is instructed to compress automatically every parsed document in the current directory.

Confirmed Browsers

  • Internet Explorer 5 and up: works great
  • Netscape Navigator 6 and up: works fine
  • Mozilla/Firefox: all versions seem to work
  • Opera: does not cache compressed CSS

References

IE Scrollbar Colors

Posted on September 18, 2006 in Presentation by Jeff Starr

Changing the color of scrollbars for Internet Explorer may very well be the oldest trick in the book. In fact, this post exists mostly for the sake of prosperity, as we here at Perishable Press strive to eliminate our entire offline library of website design notes by transferring them to the World Wide Web. Although library conversion requires time, patience, and determination, changing the color of IE scrollbars is relatively simple. Simply associate these CSS rules to the (X)HTML documents desiring unique scrollbar colors:

/* produces a stylish black scrollbar with light-grey highlights */
* html body {
   scrollbar-face-color: #000;
   scrollbar-shadow-color: #808080;
   scrollbar-highlight-color: #808080;
   scrollbar-3dlight-color: #000;
   scrollbar-darkshadow-color: #000;
   scrollbar-track-color: #000;
   scrollbar-arrow-color: #808080;
}

/* produces a stylish grey scrollbar with off-white highlights */
* html body {
   scrollbar-face-color: #889B9F;
   scrollbar-shadow-color: #3D5054;
   scrollbar-highlight-color: #C3D6DA;
   scrollbar-3dlight-color: #3D5054;
   scrollbar-darkshadow-color: #85989C;
   scrollbar-track-color: #95A6AA;
   scrollbar-arrow-color: #FFD6DA;
}

Fun with Downlevel Conditional Comments

Posted on September 4, 2006 in Function, Structure by Jeff Starr

Ever since Internet Explorer 5 (IE5), Microsoft has included browser support for "downlevel conditional comments," a non-scripted method of browser detection. Downlevel conditional comments (DCC) are a useful tool for targeting directives to specific versions of Internet Explorer. Downlevel conditional comments consist of an opening statement and a closing statement. Taken together, the statements enclose markup, CSS, JavaScript, or any other element typically included within an (X)HTML document. The DCC may be placed anywhere within the document and executes its contents only for the version(s) of IE specified. This technique is useful for delivering IE-specific stylesheets exclusively to specific versions of IE. Unfortunately, the last line of a DCC may invoke validation errors, but fortunately, there is a fix. This article describes the code and techniques used when including downlevel conditional comments in web documents.

Continue Reading

Accessibility Notes Plus

Posted on August 28, 2006 in Accessibility by Jeff Starr

Just a few useful accessibility notes..

Add accesskey attributes to important list items, content areas, and any other key areas of the document.

Use alphanumeric characters as accesskey values, as in this example:

<ul>
   <li><a id="home" accesskey="h" href="http://domain.com/home.html"><span class="accesskey">h</span>home</a></li>
   <li><a id="menu" accesskey="m" href="http://domain.com/menu.html"><span class="accesskey">m</span>menu</a></li>
   <li><a id="search" accesskey="s" href="http://domain.com/search.html"><span class="accesskey">s</span>search</a></li>
</ul>

When an accesskey attribute is present within a link tag, pressing alt+letter on the keyboard is equivalent to double-clicking that link. Generally speaking, the presence of an accesskey attribute within an element brings focus to that element. Thus, radio and check boxes are toggled, links are clicked, and form elements are navigated as the alt+letter combination is pressed.

It is also helpful to provide “skip-to” links that target specific areas of the site. For example, you may wish to enable users of screen readers to skip past or skip to navigational controls:

<div class="hide">
 <ul id="top" class="access">
  <li><a href="#content" title="Skip to Content" accesskey="c">Skip to Content</a></li>
  <li><a href="#navigation" title="Skip to Menu" accesskey="m">Skip to Menu</a></li>
  <li><a href="#search" title="Skip to Search" accesskey="s">Skip to Search</a></li>
 </ul>
</div>

However, due to current lack of widespread browser support, explicit id-targeting may serve better:

<a href="#menu" title="Skip to navigation menu">Skip to navigation menu</a>
<a href="#content" title="Skip to main content">Skip to main content</a>

Another useful accessibility tool involving document meta-navigation is the tabindex, which is a numerical index that represents each element’s position in the tabbing order. By default, certain elements are ignored by the tabindex, while others retain a default order which may be overridden with explicitly stated tabindex values. Consider the following example, in which the tabbing order will be "red", "yellow", "blue", regardless of where the input elements appear on the page:

<form>
 <input id="red" tabindex="1" />
 <input id="yellow" tabindex="2" />
 <input id="blue" tabindex="3" />
</form>

More to come..

CSS Hack Dumpster

Posted on August 27, 2006 in Presentation by Jeff Starr

Consider this page a virtual dumpster of wonderful CSS hacks..

Commented Backslash Hack V2

This hack effectively hides anything after the “\*/” from MacIE5:

/* commented backslash hack v2 \*/
div#something {
   boder: thin solid red;
}
/* end hack */

May also be used for CSS import directives:

<style type="text/css">
/* commented backslash hack v2 \*/
   @import url(http://www.site.com/stylesheet.css);
/* end hack */
</style>

Fix Division Widths in IE

Fix IE’s crazy box rendering. The first line limits to only IE. The second line

* html div#somediv { /* limits to all IE */
   width: 300px; /* width for WinIE5.x */
   w\idth: 333px; /* width for other IE */
}
div#somediv {
	padding: 33px;
	width: 377; /* width for all other browsers */
}

IE Double Float Bug

IE doubles the margin of any divs floated in the same direction. Great. To fix it, simply display the floated element as inline.

Clearing Divisions

Here are four relatively equally effective methods for clearing unruly divisions:

<div style="clear: both;">&nbsp;</div>
<br style="clear:both;" />
<hr style="clear:both;" />
div#unrulydiv {
   overflow: auto;
   height: 100%;
}

Clearing Floats

div.fix:after {
   content: ".";
   visibility: hidden;
   display: block;
   clear: both;
   height: 0; 
}
div.fix { display: inline-table; }
/* Hides from IE-mac \*/
* html div.fix { height: 1%; }
div.fix { display: block; }
/* End hide from IE-mac */

Or, you could float the parent div, and perhaps any other parents of the parent div — i.e., the float nearly everything method.

Box Model Hacks

IE versions below 6 render element width values to include borders and padding. This hack utilizes comment hacks to hide from all IE5.x:

div#somediv {
width: 33px; /* width for all browsers */
width/**/:/**/ 77px; /* first hide from IE5.0 then hide from IE5.5 */
}

Target Safari/Webkit/KHTML

body:last-child:not(:root:root) div {
	rules: target Safari/Webkit/KHTML only;
}

Target Firefox

This hack targets the body element in Firefox 1.5 & 2.0 only, but is not valid CSS2/CSS3:

/* targets body element in Firefox 1.5 & 2.0 only - invalid CSS2 & valid CSS3 */
body:empty {}

Target/Filter only Internet Explorer 7

Here are several hacks that target IE7, some valid CSS, some not (see code comments for details):

/* targets body element in IE7 only - invalid CSS */
>body {}
/* targets IE7 only - valid CSS */
*:first-child+html {}
/* targets IE7 & modern browsers only - valid CSS */
html>body {}
/* filters IE7, targets other modern browsers - valid CSS */
html>/**/body {}

Target/Filter only Internet Explorer (IE7 and below)

Here is our growing collection of hacks targeting all Internet Explorer, including IE7 and below:

/* targets all descendants of the html element in IE7 & below - invalid CSS */
html* {}
/* applies property in IE7 & below - invalid CSS */
selector { attribute: property !ie; }
/* applies property with importance in IE7 & below - invalid CSS */
selector { attribute: property !important!; }
/* targets IE7 & below - valid CSS */
a:link:visited, a:visited:link {}
/* may be used to target any element */
#target:link:visited, #target:visited:link {}
/* targets IE7 & below - valid CSS */
*:first-child+html {} * html {}
/* applies property in IE7 & below - invalid CSS (this hack is not recommended) */
*property: value;
/* imports stylesheet in all major browsers except IE7 & below */
@import "non-ie-styles.css" all;

Target only Internet Explorer 6 and below

/* applies property in IE6 & below - invalid CSS */
_property: value;
/* applies property in IE6 & below - invalid CSS */
-property: value;
/* targets IE6 & below - valid CSS */
* html {}
selector { 
	attribute: property !important; /* targets all major browsers */
	attribute: property; /* targets IE6 & below - this value overrides previous value */
} 

Filter Opera / Target Opera

This hack filters Opera (9 and below) and targets all modern browsers including IE7:

/* selects body element with class page-body in IE7 & all modern browsers except Opera 9 & below */
body[class|="page-body"] {}

Conversely, this hack targets Opera 9 and below:

/* targets Opera 9 & below - valid CSS */
html:first-child {}

Fun with the input (disabled) element

Employing the disabled attribute of the input element, it is possible to target a wide range of specific browser types. Given this (X)HTML markup:

<input type="hidden" disabled id="dis" />
<p>target element</p>

..it is possible to target and filter our CSS by using any of these hacks:

/* filters IE7 & below - see below for more info */
input[disabled="disabled"] {} 

/* Firefox 1.5 & below, Safari 2.0 & below, Konqueror 3.5 & below (and perhaps future versions of these browsers) - valid HTML & invalid XHTML */
#dis[disabled=""]+p {}

* targets Opera 9 & below (and perhaps future versions) - valid HTML & invalid XHTML */
#dis[disabled="true"]+p {}

More to come!

Category LiveBookmarks Plus

Posted on August 7, 2006 in WordPress by Jeff Starr

Category LiveBookmarks Icon
CLB+
New version of Category LiveBookmarks Plus now available! CLB+ 2.3.0b enables WordPress 2.3+ users to configure and customize the ultimate set of autodetection feeds, category feeds, category links, and feed links. Features include completely rewritten, optimized code, optional category post counts, and custom RSS-icon links for all category and/or feed links. Overall, the new version is faster and more flexible than ever!

Category LiveBookmarks Plus is the easy way to provide complete “Live Bookmark” functionality and "Post Smart" feed links to your WordPress-powered website. Simply install the plugin, and users with Firefox, Opera, Navigator, or any other modern browser, will enjoy a selection of your RSS feed links at their fingertips. CLB Plus seamlessly integrates the code necessary for modern browsers to automatically detect and update any RSS feed available from the current page, enabling readers to stay current with important news and updates.

Category LiveBookmarks Plus also makes it easy to add category feed links to posts, comments, pages, or anywhere else within your site. Simply add the <? clb_plus(); ?> function to the desired location within your blog, and there enjoy a contextually relevant selection of completely customizable RSS feed links. There are also options to include RSS feed links for “all posts” and “all comments”, as well as settings to customize markup, icons, and feed links. Plus, as of version 1.7.7, there are options to configure a custom set of category links next to corresponding feed links, which may include comment counts and RSS-icon links.

With CLB+, you may customize category feeds for the various WordPress view types (e.g., category views, page views). CLB automatically omits feeds with zero posts, and also excludes subcategory feeds. Further, this plugin produces strictly valid XHTML markup.

Installation and Usage:

  1. Unzip php file and add to wp-content/plugins directory.
  2. Open php file and adjust any of the "CLB OPTIONS", if desired.
  3. Add the following function call to your sidebar or any other location:
    <?php if (function_exists('clb_plus')) { clb_plus(); } ?>
  4. Feed links will be added to the <head> automatically. No further action required.
  5. Feed links will be added to the <body> wherever the function call (from step 3) is located.

Download Category LiveBookmarks [ version 2.3.0b | ~7.3KB | .zip | 3013 downloads ]

Related Information & Previous Versions

Category LiveBookmarks Plugin

Posted on May 29, 2006 in WordPress by Jeff Starr

UPDATE: New version of Category LiveBookmarks now available!

Already familiar with Firefox’s Live Bookmarks and WordPress RSS feeds? Well then skip the intro and jump to the good stuff »

Enthusiastic Firefox users enjoy the luxury of Live Bookmarks, a feature of Firefox that automatically discovers and updates RSS feeds. Web pages with available feeds are indicated by the orange feed icon located in the browser’s address bar. Clicking the feed icon presents a list of all available feeds for that particular webpage. Users then select which feeds they would like Firefox to bookmark, track, and automatically update. Very handy indeed.

Providing these Live Bookmark feeds to your readers is as easy as adding “link” tags for each feed to the head section of each webpage. Then, simply set the “type” attribute to application/atom+xml or application/rss+xml, and away you go. Not so bad, but a bit tedious, perhaps.

WordPress users typically transmit RSS feeds for both comments and posts, and frequently provide individual category feeds. Further, each feeds may be provided via a variety of formats, including RSS 0.92, RSS 2.0, and Atom. Manually adding the feed links to the header.php file works if you don’t care about context sensitivity, because the same links would appear for all pages, whether the feeds were actually available from there or not. Fortunately, there is a more sophisticated method for managing your Live Bookmark feeds…

Introducing Category LiveBookmarks, a WordPress plugin designed to simplify the process of adding complete Live Bookmark functionality to your website. Category LiveBookmarks (CLB) seamlessly generates “Live-Bookmark” feed links for each of your WordPress blog categories. It will generate feed links for all categories on your main blog page, and only relevant feeds on single-post-view pages. Also, CLB automatically omits feeds with zero posts, and excludes subcategory feeds. CLB is designed for Firefox’s Live Bookmarks and Opera’s Livemarks. Generates strictly valid XHTML markup. Tested and verified with WordPress 2.0+. Should work with WP 1.5+ as well (no guarantees).

This plugin has been adapted from ArunRocks plugin, Livemarks. Many important modifications have been made to the original, such as are summarized here.

Installation and Usage:

Unzip file, add to wp-content/plugins directory, upload, activate, and enjoy! There are also two options within the PHP file itself that you will probably want to customize: Comment feed links and blog title.

Download Category LiveBookmarks [ version 1.0.1 | ~4KB | .zip | 1924 downloads ]

UPDATE: New version of Category LiveBookmarks now available!

Essential Firefox Extensions

Posted on May 24, 2006 in Technology, Websites by Jeff Starr

Firefox users, lend me your ears! As you know, Firefox is like the most excellent, versatile, reliable, and secure browser available today. Extensions are just one of the features that make Firefox so versatile and efficient. Extensions enable Fx users to customize their browsing experience by adding tools that help with security, searching, and multimedia. Here is a list of our favorite — nay, essential — Firefox extensions: