Tag: streamline

Top 5 CSS Shorthand Properties

Posted on May 4, 2010 in Presentation by Jeff Starr

An excellent way to simplify and streamline your Cascading Style Sheets (CSS) is to take advantage of the many different shorthand properties available to you. Working with a lot of CSS, you eventually memorize these different shortcuts, but every now and then, I find myself needing a quick, straightforward reference for some of the more elaborate property combinations. In this post, I’ll show you the shorthand rules for the following properties:

  1. Font Properties
  2. List Properties
  3. Background Properties
  4. Border and Outline Properties
  5. Transition Properties (CSS3)

These are the top 5 on my list of most complicated and frequently used shorthand properties. There are others as well, even in CSS3, but I’ll save those for another post. Alright enough of my narcissistic ramblings – let’s do this thing!

Font Properties

Styling fonts involves a number of individual properties. You can save quite a bit of space using shorthand notation, but be careful to include at least font-size and font-family (in that order). Here are all 6 of the font properties along with their default values:

/* font properties with default values */
font-variant: normal
line-height: normal
font-family: varies
font-weight: normal
font-style: normal
font-size: medium

These 6 declaration blocks can be combined into a single shorthand rule, ordered according to W3C specifications:

/* shorthand notation for font properties */
font: [font-style] [font-variant] [font-weight] [font-size]/[line-height] [font-family];

/* EXAMPLES */
font: 14px Georgia, serif;
font: 14px/1.4 Georgia, serif;
font: italic lighter 14px/1.4 Georgia, serif;
font: italic small-caps lighter 14px/1.4 Georgia, serif;

As you can see, a single line of code is used to replace an entire block. Far more elegant, if not slightly awkward looking. The more I use this syntax, the more I like it.

Continue Reading

Associate Any File with Notepad in Five Seconds

Posted on June 21, 2009 in Technology by Jeff Starr

In my article, Associate Extensionless Files with Notepad, I explain how to navigate the labyrinthine maze of Windows dialogue menus to assign Microsoft’s Notepad text editor as the opening application for files without extensions. In this post, I’ll show you how to associate any file type with any program (including Notepad) in less than five seconds.

Ready? Don’t blink, you’ll miss it.. ;)

Modify any file extension association in five seconds

Open the Windows command prompt and enter the following command:

assoc .extension=fileType

It’s that easy. What is happening here? Let’s break it down, just for fun:

  • assoc — Windows file-association command
  • .extension — the extension of the file for which you would like to associate
  • fileType — the type of file that you would like to associate with your extension

Continue Reading

The Halving Method of Identifying Problematic Code

Posted on January 11, 2009 in Websites by Jeff Starr

Working a great deal with blacklists, I am frequently trying to isolate and identify problematic code. For example, a blacklist implementation may suddenly prevent a certain type of page from loading. In order to resolve the issue, the blacklist is immediately removed and tested for the offending directive(s). This situation is common to other coding languages as well, especially when dealing with CSS. Identifying problem code is more of an art form than a science, but fortunately, there are a few ways to improve your overall code-sleuthing strategy.

Continue Reading

Save Bandwidth by Serving jQuery, MooTools, Prototype via Google’s AJAX Libraries API

Posted on November 25, 2008 in Function by Jeff Starr

A great way to save bandwidth is to take advantage of Google’s AJAX Libraries API to serve your favorite open-source JavaScript libraries. Here is how Google explains it in their official documentation:

The AJAX Libraries API is a content distribution network and loading architecture for the most popular open source JavaScript libraries. By using the google.load() method, your application has high speed, globally available access to a growing list of the most popular JavaScript open source libraries.

Continue Reading

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

Obsessive CSS Code Formatting: Organization, Comments, and Signatures

Posted on July 5, 2008 in Presentation by Jeff Starr

One of my favorite aspects of producing clean, well-formatted CSS code is “meta-organizing” the document using comments. In CSS, comments are included in the stylesheet like so:

/* i am the walrus */

When used constructively, CSS comments serve to break down documents into distinct regions, provide key information about specific declarations, and bring order to even the most complex stylesheets. In my experience, a well-commented stylesheet improves efficiency and optimizes comprehension.

Working with CSS, you can add comments any way you want. There are many different ways to use CSS comments, and endless ways to get there. Let’s check out some practical and interesting ways to use comments, along with some creative ways of doing so.

Continue Reading

Perishable Press HTAccess Spring Cleaning, Part 2

Posted on June 17, 2008 in Function by Jeff Starr

[ ~:{*}:~ ] Before Summer arrives, I need to post the conclusion to my seasonal article, Perishable Press HTAccess Spring Cleaning, Part 1. As explained in the first post, I recently spent some time to consolidate and optimize the Perishable Press site-root and blog-root HTAccess files. Since the makeover, I have enjoyed better performance, fewer errors, and cleaner code. In this article, I share some of the changes made to the blog-root HTAccess file and provide a brief explanation as to their intended purpose. Granted, most of the blog-root directives affected by the renovation involve redirecting broken/missing URLs, but there are some other gems mixed in as well. In sharing these deprecated excerpts, I hope to inspire others to improve their own HTAccess and/or configuration files. What an excellent way to wrap up this delightful Spring season! :)

Continue Reading

Obsessive CSS Code Formatting: Indentation and Spacing

Posted on June 1, 2008 in Presentation by Jeff Starr

In the intriguing discussion following the first obsessive CSS formatting article, Jordan Gray brought up the age-old question regarding spacing: tabs or single spaces? I smugly responded that the issue has long-since been resolved, with tabbed spacing as the obvious winner. Let’s take a look at some serious CSS spacing examples..

1) Strictly Single Spacing

Here we have several code blocks showing consistent spacing via single blank space. Three key areas where single spacing is seen in this example: after the selector, and before each property and its corresponding value:

Continue Reading

Perishable Press HTAccess Spring Cleaning, Part 1

Posted on May 20, 2008 in Function by Jeff Starr

[ Psychedelic Blossom ] While developing the 3G Blacklist, I completely renovated the Perishable Press site-root and blog-root HTAccess files. Since the makeover, I have enjoyed better performance, fewer errors, and cleaner code. In this article, I share some of the changes made to the root HTAccess file and provide a brief explanation as to their intended purpose and potential benefit. In sharing this information, I hope to inspire others to improve their own HTAccess and/or configuration files. In the next article, I will cover some of the changes made to the blog-root HTAccess file. As always, suggestions and questions are always welcome — just drop a comment below! Have fun!! :)

Continue Reading

Obsessive CSS Code Formatting: Opening and Closing Brackets

Posted on April 22, 2008 in Presentation by Jeff Starr

Following my recent post on CSS code formatting, I was delightfully surprised to have received such insightful, enthusiastic feedback. Apparently, I am not the only person passionate about the subtle nuances involved with the formatting of CSS code. So, to continue the conversation, let’s explore several techniques for writing the opening and closing brackets of CSS declaration blocks.

Continue Reading

Obsessive CSS Code Formatting: Patterns and Trends

Posted on April 7, 2008 in Presentation by Jeff Starr

Call me strange, but I format each of my CSS rules according to the following pattern:

div#example element {
	margin: 5px 15px 5px 0;
	border: 1px solid #444;
	line-height: 1.5em;
	text-align: center;
	background: #222;
	font-size: 10px;
	display: block;
	padding: 5px;
	color: #888;
	float: left;
	}
div#another div.example element {
	border: 1px solid #444;
	margin: 7px 0 17px 0;
	letter-spacing: 1px;
	font-weight: bold;
	background: #222;
	font-size: 1.1em;
	cursor: pointer;
	display: block;
	padding: 3px;
	width: 308px;
	color: #888;
	clear: left;
	float: left;
	}
div#another div.example element {
	text-indent: -9999px;
	overflow: hidden;
	position: fixed;
	display: block;
	z-index: 9999;
	padding: 0px;
	margin: 0px;
	bottom: 0px;
	right: 0px;
	}

Continue Reading

Laser-Focused Feeds and Smarter Feed Management

Posted on January 28, 2008 in Websites by Jeff Starr

[ ~{*}~ ] My current adventure into the fascinating realms of site redesign and optimization has yielded several chunks of fruit related to managing and delivering feed content. One of my primary concerns regarding the overhaul of Perishable Press is streamlined content delivery and rights management. An important area of convergence for these two factors involves the management and delivery of a site’s syndicated content. In this article, I explain the shortcomings of many default feed configurations and present an effective overall strategy for better feed management.

When it comes to managing syndicated content, most blogging platforms enable bloggers to provide a multitude of feeds to their readers. For example, WordPress (as well as many other blogging platforms) automatically generates feeds for each of the following channels:

  • Main content feed (includes all posts)
  • Main comments feed (includes all comments)
  • Unlimited number of individual category feeds
  • Any combination of individual category feeds as a single feed
  • A feed for each the comments given for any particular post
  • A feed for each blog author or contributor
  • A feed comprised of virtually any combination of the above feeds

Then, as you consider this astronomical number of feeds, multiply each possibility by a factor of at least three: feeds generated via RSS 2.0, RSS 0.92, and Atom formats. Then, as if that were not enough, some bloggers throw third party services such as Feedburner into the mix and link directly to those feeds as well. Now add a zillion non-canonical URL variations into the mix. Eventually, your eyes begin to bug out and you go a little bonkers trying to keep track of them all.

Continue Reading

First 30 Days without Bad Behavior

Posted on January 20, 2008 in WordPress by Jeff Starr

Approximately 30 days ago, I completely uninstalled the Bad Behavior plugin from Perishable Press. As you may recall, many Bad Behavior users were unexpectedly locked out of their own sites and forced to either uninstall or upgrade in order to fix the problem. Of course, in my perpetual battle to optimize and streamline everything, I decided to drop Bad Behavior from the otherwise obligatory WordPress anti-spam trinity.

30 days later..

I am happy to report that Perishable Press has not seen a noticeable increase in comment spam since the removal of the Bad Behavior plugin. Of course, during the past month, two or three trackback spam turds managed to slide through, however, even Bad Behavior failed to stop everything. This is great news because I prefer to avoid unnecessary plugins whenever possible — especially those of the resource-intensive variety.

Continue Reading

Do You Have a Year-End Maintenance Ritual?

Posted on December 30, 2007 in Blogging by Jeff Starr

Over the past several years working online, my year-end maintenance routine has evolved from simple website backups to a robust strategy involving many important and useful tasks. Some of the items on the list have indeed been performed multiple times throughout the year, but are included here to emphasize their importance. Additionally, many of these tasks are great for helping bloggers gain a clearer picture of their overall online empire, while attaining a sense of annual “closure” concerning the work of the previous year. So, let’s dig into my personal year-end strategy for cleaning things up and preparing for the new year..

[ Image: inverted photo of a hard drive ]

Make complete backups of your work

Frequent backups should be a part of any serious online strategy. At the end of the year, I create a complete backup of everything, including all site files (XHTML, PHP, images, JavaScript, htaccess, etc.), as well as all associated database content. I generally duplicate my entire set of files (for all domains), and then include duplicate database backups in their respective directories. I also take this opportunity to purge my email inbox of any “loose ends” by relocating them to their respective domain’s backup directory. I also do this for any loose files, configuration files, article backups, and anything else that goes with a particular domain. This works great at consolidating and organizing data that may be needed at some point in the future. After I have consolidated everything worth keeping, I delete all other backups for the year and burn a permanent copy for the archives. Thus, as time goes on, I will have accumulated all the best bits of each year into a nice annual library of backup content. I can live with that :)

Continue Reading

Perishable Press Site Renovation Strategy

Posted on November 12, 2007 in Perishable by Jeff Starr

Now that my recent site overhaul project is nearly complete, I thought it would be useful to share my carefully developed “plan of attack.” The following seven-step strategy is designed to facilitate the entire renovation by logically ordering events and breaking down complex tasks. Upon execution, the following plan is designed to improve overall site functionality, presentation and structure, while factoring in several critical parameters:

  • Modular time organization — due to my hectic schedule, it is necessary to break large projects down into manageable chunks.
  • Separation of main site from test site — I need a clear distinction between Perishable Press and my many test blogs, pages, and projects.
  • Separation of main content from tangential content — distinguishing between main content and other material (e.g., private content, FTP files, etc.) is critical.
  • Facilitation of future WordPress upgrades — keeping up with WordPress is important. Before the site overhaul, upgrading was nearly impossible. In fact, the primary thrust of this site makeover is aimed at making it easier to stay current with WordPress.

Thus far, adhering to this plan has helped to eliminate confusion by simplifying an otherwise convoluted project. With this plan firmly in mind, stepping through the entire process happened in a clear, nearly mechanical fashion. Without a doubt, being prepared provided an expediency and thoroughness that would have otherwise remained elusive. Is this the “perfect” plan for renovating a rather large, preexisting site? Probably not. Will you learn something about preparing for and executing WordPress and other site upgrades by reading it? Probably. I suppose, in any case, that even if readers find the proceeding plan all but useless, posting it online is great for prosperity and may even serve useful as future reference material. So, without further ado, here is an outline of the activity recently unfolding behind the scenes here at Perishable Press.

Continue Reading

Rethinking Site Functionality, Presentation, and Structure

Posted on November 7, 2007 in Perishable by Jeff Starr

Two weeks ago, I decided to completely overhaul Perishable Press. The decision came after several months of smooth sailing with excellent site performance, an optimized theme, plenty of visitors, and even a comfortable posting schedule. All things considered, everything was peachy keen — until I began reflecting on the “big picture,” meditating upon certain aspects that are frequently taken for granted or simply overlooked during periods of hectic operation and maintenance. For example, while troubleshooting htaccess and PHP errors, webmasters generally don’t take the time to meditate on the structural and functional integrity of their overall site configuration.

Fortunately, I recently found the time to contemplate Perishable Press from a broader perspective, rethinking everything from themes and plugins to organizational architecture and permalinks. As I approach the completion of the most comprehensive site renovation ever, many significant improvements are currently underway. Here is a summary of the primary changes involving site structure, presentation, functionality and performance:

Continue Reading

Miscellaneous Happenings

Posted on October 14, 2007 in Perishable by Jeff Starr

Many changes around here lately — new styles, new software, new hardware, and a whole lot more. I will be covering several of these items in greater depth in future posts, but for now, here is an overview of some of the recent happenings unfolding here in Perishable land..

New Mobile Styles

I finally took the time to throw down some tuff mobile CSS styles for Perishable Press. Before, the site was virtually impossible to use via mobile devices because of the comprehensively applied screen styles, which completely overwhelm the screen real-estate and system resources of the average mobile device. The new styles are clean, lightweight and minimalistic. If you have mobile access, please drop by and share your experience with us. Even better, if you are able to capture screenshots, send ‘em along with your system stats and I will include them in an upcoming article focusing on the new styles.

Bad Behavior Upgrade

After streamlining the mobile CSS styles for Perishable Press, I discovered that mobile users were not able to leave comments on the site. After investigating the mysterious “Precondition failed” error associated with each mobile comment attempt, I traced the issue to an older version of Bad Behavior. After upgrading from version 1.2.4 to the currently fresh version 2.0.10, the “Precondition failed” error was resolved and mobile commenting was enabled. Next time you are in the mobile neighborhood, drop a shout and check it out ;)

Continue Reading

Five-Step Feed-Portfolio Makeover

Posted on September 24, 2007 in Blogging, Websites by Jeff Starr

Recently, I found myself drowning in an ocean of RSS feeds. Even after switching to Google Reader, which definitely speeds up the process of plowing through posts, I was wasting too much time consuming subscribed content. Thus, in an effort to find balance between saving time and staying current, I executed the following five-step feed portfolio makeover:

  1. Drop lame feeds. Previously, I had subscribed to a number of feeds simply because they were recommended or mentioned in an article somewhere. Unfortunately, sound referrals and interesting commentary do not necessarily equate with strong syndicated content. I often found myself reading post after post about stuff that was not useful or even interesting. After some careful deliberation, I dropped around 25 of these lame feeds and moved on with my life.
  2. Consolidate similar feeds. After following my previous collection of feeds for awhile, I began to notice ridiculous amounts of redundancy. There is just no need to subscribe to multiple blogs covering the same material unless they blog from truly unique perspectives. After choosing one or two authority bloggers for each of my focus areas, I unsubscribed to the “echo” feeds and thus reduced my feed collection by at least 20.
  3. Eliminate overly aggressive feeds. I love to see fresh content from bloggers who post quality posts, especially when they only post once in awhile. It’s like getting a scooby snack or something and I just love it. Conversely, I hate to see overly ambitious bloggers bomb my reader with a jillion junk posts about the same old garbage — nothing new to say and no new ways of saying it. Needless to say, I kicked about 10 of these feed hogs straight to the curb.
  4. Subscribe to summary feeds. When it comes to staying current with world news, tech news, and other frequently reported topics, it is easy to flood your reader with unnecessary content. Fortunately, many of the most prolific news-related sites provide an alternate summary feed that consolidates and highlights the day’s or week’s worth of material into a single post. By trading full feeds for summary feeds, I greatly reduced the quantity of incoming feed content without sacrificing the quality of its information.
  5. Drop John Chow like a bad habit. Just kidding. Chow is great, but really, how many blogs about blogging and getting stinking rich do you really need? The point here is to craft yourself a diverse collection of enlightening, educational, and enriching feeds. Trade mindlessness and redundancy for thoughtfulness and original content. Drop the mind-numbing “list” sites and find sincere bloggers with experience and wisdom. I am continually fine-tuning my feed diet towards a diverse, eclectic, and original collection of insightful, high-quality content written by authoritative bloggers who aren’t pitching at me around every corner.

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

Get Organized, Save Time with the HTC 8525 Pocket PC

Posted on July 30, 2007 in Technology by Jeff Starr

The AT&T 8525 is the first UMTS/HSDPA smart phone to be offered in the United States. It has integrated Bluetooth 2.0, Wi-Fi, and supports AT&T’s new music, video, and location-based services. The Windows Mobile device also has push e-mail capabilities, a 2-megapixel camera, a spacious QWERTY keyboard, and good call quality. — CNET Editors’ Review of the AT&T 8525

[ Image: HTC 8525 ]
Perishable Press via AT&T 8525 (click image for more..)
Thusly inspired, I recently purchased an AT&T 8525 Pocket PC by HTC. The device now serves as my virtual satellite, keeping me connected to the internet, networked to the office, and prepared for serious business. With its many features and streamlined functionality, the AT&T 8525 enables me to operate in maximized fashion, increasing efficiency and improving productivity. This article presents a concise rundown of how each of the phone’s primary features helps me to succeed as I fight a hellish battle everyday.

Continue Reading

Cultivating a Successful Screenshot Archive

Posted on January 29, 2007 in Graphics, Websites by Jeff Starr

Let’s face it. Websites are as transient as the wind. Developers and designers spend countless hours producing sites that may exist online for mere months or even less before being restructured, redesigned or removed completely, forever disappearing into eternal nothingness — or, even worse, into the sterile void of a search engine database. Clearly not the best situation for designers looking to maintain a complete record of their online work.

Even for sites proactively encouraging their caching and archiving by the search engines, accurate and reliable online site preservation approaches the impossible. Unfortunately, search engines are extremely inconsistent when it comes to archiving websites. If you doubt that, try digging up one of your old sites and see how it looks as stored deep within the archives of say, Google or Yahoo. Search engine archives commonly omit associated CSS, JavaScript, and image files, rendering sites incomplete and useless as a design reference.

Local or offline site storage also is impractical, especially if your sites are database-driven and require a server to process content. Replicating the original server environment is usually a hassle, requiring database reconfiguration and URL path repairs. Further, databases frequently involve absolute URL’s, thereby rendering offline sites practically useless. Besides, many sites are often aesthetically redundant, consisting of hundreds of virtually identical, dynamically created pages. Such archived sites are waste of disk space, especially if their content is now obsolete or exists elsewhere online.

Rather than rely on the search engines or depend on impractical offline archiving methods, savvy web designers and developers should develop a concise, high-quality screenshot archive of all their work. A well-maintained screenshot archive is an invaluable design tool providing streamlined reference for future projects, source material, and portfolio development. Clearly, from a visual-design perspective, screenshot archiving is far more valuable, useful, and beneficial than traditional methods of storing antiquated or otherwise dismantled websites.

Continue Reading

Launch Multiple Programs with One Click

Posted on November 28, 2006 in Technology by Jeff Starr

Speed up your workflow by launching your favorite programs in one click using batch (.bat) files:

  1. Create a folder and add shortcuts to your favorite programs.
  2. Rename the shortcuts so that each consists of a single word.
  3. Create a text file and change the name to something.bat.
  4. Right-click on the .bat ("batch") file and select "Edit".
  5. Emulate the following template according to your specific programs.
rem   comments should begin with rem
rem   note: this file launches all of my favorite apps!
rem   note: replace the names below with your own..

@echo off

   start %SystemRoot%\system32\cmd.exe
   start firefox http://google.com/
   start dreamweaver
   start photoshop
   start winamp
   start notes.txt

@echo on

That’s all there is to it! Of course, there are many other neat things you can do with batch files, but we leave that for you to discover elsewhere. You may want to create additional batch files for various kinds of work. For example, you could create one batch file for web-development apps, another for graphic-design apps, and so on. All shortcuts and batch files may be placed in the same folder. Then simply customize shortcuts to your various batch files and use them to consolidate your quick launch and clean up your desktop!

WordPress on Crack: Tips for Faster Post Publishing

Posted on November 20, 2006 in Function, WordPress by Jeff Starr

Apparently, article posting is painfully slow on 2-ish versions of WordPress. Indeed, we finally got tired of waiting several minutes every time we published, saved, or edited a post.

After a bit of research, reading through countless complaints and suggested remedies, several key methods began to emerge. And, after taking the time to implement them, we have definitely enjoyed an substantial decrease in time required to publish, save, or edit posts.

Please note that everyone’s site is configured differently. These are the tricks that helped us to speed up publishing, but they may not have the same effect for everyone. The following methods were executed for this site, which is currently running WordPress 2.0.5 on Apache.

Delete rpc.pingomatic.com
Perhaps the most commonly recommended fix for slow posting: Remove "rpc.pingomatic.com" from the Admin » Options » Writing » Update Services panel. For some reason, pingomatic is really slow these days. Try using pingoat.comhttp://pingoat.com/goat/RPC2 ], ipings.com, or any variety of others 1 instead.
Delete all cached content
Another trick that helps improve posting speed is to delete the entire contents of the WordPress cache. It is entirely safe to delete everything in the wp-content/cache directory. In case you are paranoid, make a backup copy before doing so ;)
Remove the admin post preview panel
If you never use the "post-preview" window that appears near the end of your "Write Post" panel, go ahead and remove it. Doing so will save bandwidth, load time, processing time, etc. To eliminate such superfluousness, crack open your wp-admin/post.php file and delete precisely the following region of code (located near line #83 in WP 2.0.5), which may look slightly different in previous versions of WordPress:
<div id='preview' class='wrap'>
<h2 id="preview-post"><?php _e('Post Preview (updated when post is saved)'); ?> <small class="quickjump"><a href="#write-post"><?php _e('edit &uarr;'); ?></a></small></h2>
<iframe src="<?php echo wp_specialchars(apply_filters('preview_post_link', add_query_arg('preview', 'true', get_permalink($post->ID)))); ?>" width="100%" height="600" ></iframe>
</div>

References

Roll Your Own SEO Log

Posted on October 2, 2006 in Optimization by Jeff Starr

Introduction

Search engine optimization (SEO) is the business of every serious webmaster. The process of optimizing a website for the search engines involves much more than properly constructed document headers and anchor tags. Websites are like trees: their roots are the growing collection of content presented through the branching universe of the World Wide Web. Or something. The point is that optimizing a website requires nurturing the site itself while also ensuring proper exposure to the requisite elements of the internet.

The process of optimizing your first website may seem daunting. There are many aspects to consider and many websites with which to deal. Search engine registration, keyword development, and an evolving link campaign are all required for any home-grown, roll-your-own website optimization. Further, for each site you intend to optimize, there is a plethora of related data — site links, usernames, passwords, email addresses, etc. — that needs to be collected, organized, and updated. Therefore, it is essential to properly record and consistently maintain a carefully crafted SEO log.

Continue Reading

Customize WordPress Quicktags

Posted on September 18, 2006 in Function, WordPress by Jeff Starr

Note: This condensed tutorial assumes you are working with WordPress 2+ and are familiar with editing .php and/or .js files.

WordPress quicktags1 provide shortcuts for adding certain bits of code to your posts. The default set of quicktags includes some handy shortcut buttons for tags such as <strong>, <a>, and <img>, as well as a few others. While the default set of quicktag buttons is occasionally useful, a quick bit of quicktag customization can easily transform your personal set of quicktag buttons into a deadly arsenal of time-saving code shortcuts.

First, open the quicktags.js file, usually located in the wp-includes/js directory. Next, scroll down to around line #40 and look for the following chunk of code:

edButtons[edButtons.length] = 
new edButton('ed_strong'
,'b'
,'<strong>'
,'</strong>'
,'b'
);

edButtons[edButtons.length] = 
new edButton('ed_em'
,'i'
,'<em>'
,'</em>'
,'i'
);

Now, to assist in the editing process, copy and paste this next bit of code in between any two of the edButtons[] statements. As this will be used as reference only, ensure that remains commented out:

/*

THIS IS THE GENERAL FORMAT OF A QUICKTAG BUTTON:

function edButton(id, display, tagStart, tagEnd, access, open) {
	this.id = id;             // used to name the toolbar button
	this.display = display;   // label on button
	this.tagStart = tagStart; // open tag
	this.tagEnd = tagEnd;     // close tag
	this.access = access;     // access key
	this.open = open;         // set to -1 if tag does not need to be closed
}

*/

With that in place, it is time to add a new button. Choose a code element that you find yourself frequently adding to your posts. Let’s say that you are always linking to a content directory called "content". In that case, let’s add a quicktag button that will automatically create a link to the content directory:

edButtons[edButtons.length] = new edButton('ed_content-link'
,'content-link'
,'<a href="http://yourblog.com/path/content/" title="">'
,'</a>'
,''
);

After saving and uploading the edited quicktags.js file, adding a link to your content directory is as easy as pressing the "content-link" quicktag button!

The process of adding other tags is essentially the same. Play around a bit and see what you come up with. Hopefully, this is enough information to get you started. Remember to delete the reference example after you have finished adding/editing buttons. For newer versions of WordPress, the same block of reference code is included near the top of the quicktags.js file itself. For more information on customizing quicktags, check out the tutorial2 listed in the reference section below.

References