<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Es Developed - Fresh Website and Graphic Design &#187; code</title> <atom:link href="http://esdev.net/tags/code/feed/" rel="self" type="application/rss+xml" /><link>http://esdev.net</link> <description>Weblog</description> <lastBuildDate>Mon, 07 Jun 2010 13:35:21 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Fugue Icon Set and Fugue Sprite CSS Framework</title><link>http://esdev.net/fugue-icon-set-and-fugue-sprite-css-framework/</link> <comments>http://esdev.net/fugue-icon-set-and-fugue-sprite-css-framework/#comments</comments> <pubDate>Mon, 09 Nov 2009 14:02:17 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[graphic design]]></category> <category><![CDATA[web design]]></category> <category><![CDATA[code]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[icons]]></category> <category><![CDATA[photoshop]]></category><guid
isPermaLink="false">http://esdev.net/?p=2976</guid> <description><![CDATA[
Fugue is a free icon set created by Yusuke Kamiyamane&#8211;free for personal and commercial projects.
Let&#8217;s look at Fugue and how you can quickly add icons from the set to your site via the Fugue CSS Sprite Framework.
Fugue &#8211; A Huge Icon Set
This icon set currently has over 2000 16&#215;16 pixel icons (in PNG format and [...]]]></description> <content:encoded><![CDATA[<p><img
class="aligncenter size-full wp-image-2979" title="fugue-icon-set-css-sprite-framework-hd" src="http://esdev.net/wp-content/uploads/2009/11/fugue-icon-set-css-sprite-framework-hd.jpg" alt="fugue-icon-set-css-sprite-framework-hd" width="560" height="300" /></p><p><a
href="http://www.pinvoke.com/">Fugue is a free icon set</a> created by Yusuke Kamiyamane&#8211;free for personal and commercial projects.</p><blockquote><p>Let&#8217;s look at Fugue and how you can quickly add icons from the set to your site via the Fugue CSS Sprite Framework.</p></blockquote><h3>Fugue &#8211; A Huge Icon Set</h3><p>This icon set currently has <a
title="View all current icons (PNG)" href="http://fugue-icons.googlecode.com/svn/trunk/all.png">over 2000 16&#215;16 pixel icons</a> (in PNG format and PSD) and more are constantly being added. With this many icons, there&#8217;s usually <em>at least</em> 1 or 2 suitable icons for whatever you&#8217;re wanting to represent. Each icon is available with or without a shadow.</p><p>This set would be great for any web app&#8211;it contains many interface and UI icons among others. For example, I used Fugue for my <a
href="http://esdev.net/free-openx-admin-icon-set-v20/">OpenX Admin Icon Set v2.0</a>.</p><h4>Customize Fugue Icons With the Devkit</h4><p>Yusuke has also graciously included Photoshop files (PSD&#8217;s) for every icon in the set; letting you tweak and combine icons if what&#8217;s there is not exactly what you want.</p><h4>License</h4><p>Fugue is available under a <a
href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 license</a>.</p><p>If you prefer not to provide attribution (or can&#8217;t), you can also buy a royalty-free license for $49.</p><p><span
id="more-2976"></span></p><h3>Fugue Sprite CSS Framework</h3><p>If you&#8217;re planning on using several icons from Fugue on your website, you might consider using <a
href="http://alisothegeek.com/2009/10/fugue-sprite-css/">Fugue Sprite CSS</a> from Alison at <a
href="http://alisothegeek.com">AlisoTheGeek.com</a>.</p><p><a
href="http://alisothegeek.com/2009/10/fugue-sprite-css/">The Fugue Sprite CSS framework</a> works on the same principle as any other CSS sprite technique&#8211;only easier and faster. Way easier, because you don&#8217;t have to do anything by hand.</p><h4>How To Use It</h4><p>To use it, just place the single sprite image in the same directory as the Sprite CSS file. To display an icon, <a
href="http://alisothegeek.com/wp-content/themes/aliso-thesis/fugue-sprite/">use the icon key</a> that&#8217;s provided, find the name of the icon, and use that name as the class for your styled element.</p><p><strong>Example</strong>: You want to display the leaf icon. Find the leaf icon in the list of icons in the key and copy the name of it (<em>fugue-leaf</em>). Include it in your CSS by adding a &#8216;<em>.</em>&#8216; in front of the icon name (<em>.fugue-leaf</em>). Fugue Sprite CSS takes care of the rest.</p><h4>Considerations</h4><p>Since the sprite framework contains all the icons from the Fugue set, the framework&#8217;s a bit large (684 KB total). But if you&#8217;re planning on using quite a few icons from the Fugue set, it&#8217;d be worth it.</p><h3>Give Fugue a Try</h3><p><a
href="http://www.pinvoke.com/">Give Fugue a try</a> if you haven&#8217;t.</p><p>If you&#8217;ve downloaded it in the past, chances are there are tons more icons added since.</p><p>And if you like the set, consider buying the royalty-free license.</p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/fugue-icon-set-and-fugue-sprite-css-framework/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Build WordPress Sites Fast With the Thematic Theme Framework</title><link>http://esdev.net/build-wordpress-sites-fast-with-the-thematic-theme-framework/</link> <comments>http://esdev.net/build-wordpress-sites-fast-with-the-thematic-theme-framework/#comments</comments> <pubDate>Tue, 29 Sep 2009 11:09:42 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[web design]]></category> <category><![CDATA[blogs]]></category> <category><![CDATA[code]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[tutorials]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://esdev.net/?p=2566</guid> <description><![CDATA[
Photo Credit: Vladitto via Shutterstock
Lately, I&#8217;ve been using Thematic&#8211;a framework for building WordPress themes faster.
Thematic gives you a solid, bare-bones theme with reset CSS styles, a very basic layout, no color and limited typography. A clean slate.
Don&#8217;t Touch That Theme!
To create your theme, you don&#8217;t actually edit any of Thematic&#8217;s theme files. Instead, you make [...]]]></description> <content:encoded><![CDATA[<p><img
class="size-full wp-image-2600 alignnone" title="thematic-framework-hd" src="http://esdev.net/wp-content/uploads/2009/09/thematic-framework-hd1.jpg" alt="thematic-framework-hd" width="560" height="300" /><br
/> <span
class="article_caption">Photo Credit: <a
href="http://www.shutterstock.com/pic-37677523/stock-photo-abstract-blue-geometric-ceiling-in-office-center.html">Vladitto</a> via <a
href="http://www.shutterstock.com">Shutterstock</a></span></p><p>Lately, I&#8217;ve been using <a
href="http://themeshaper.com/thematic/">Thematic</a>&#8211;a framework for building <a
href="http://wordpress.org">WordPress</a> themes faster.</p><p>Thematic gives you a solid, bare-bones theme with reset CSS styles, a very basic layout, no color and limited typography. <a
href="http://themeshaper.com/demo/thematic/">A clean slate</a>.</p><h3>Don&#8217;t Touch That Theme!</h3><p><a
href="http://www.shutterstock.com/pic-18524428/stock-vector-do-not-touch-sign.html"><img
class="alignleft size-full wp-image-2603" title="do-not-touch-sign" src="http://esdev.net/wp-content/uploads/2009/09/do-not-touch-sign.png" alt="do-not-touch-sign" width="200" height="273" /></a>To create your theme, you don&#8217;t actually edit any of Thematic&#8217;s theme files. Instead, you make changes using a separate child theme.</p><p>It&#8217;s really powerful since you&#8217;re not actually touching any part of Thematic. You just get a nice starting place, without worries about future Thematic updates overwriting your code edits.</p><p>You don&#8217;t have to rewrite a bunch of code all over again&#8211;you&#8217;re just adding the bits that you want to be <em>different</em>. This works very much like the custom styles on WordPress.com hosted blogs.</p><p>I&#8217;ve collected together <strong>40+ Thematic resources, tutorials and links</strong> to help you get up and running faster.</p><p><span
id="more-2566"></span></p><h3>Thematic and WordPress Child Theme Basics</h3><ul><li><a
href="http://themeshaper.com/thematic/">Official Thematic Website</a></li><li><a
href="http://themeshaper.com/wordpress-child-theme-basics/">WordPress Child Theme Basics</a></li><li><a
href="http://themeshaper.com/modular-css-wordpress-child-themes/">Modular CSS</a></li><li><a
href="http://themeshaper.com/wordpress-theme-template-directory-structure-tutorial/">Theme Template Directory Structure</a></li></ul><h4>Theme Hooks</h4><ul><li><a
href="http://themeshaper.com/thematic-0961-is-live/">Thematic 0.9.6.1 Is Live</a> (<em>Updated 2/10/2010</em>)<br
/> Details about newest version. Contains new hooks and filters for even more control.</li><li><a
href="http://themeshaper.com/action-hooks-wordpress-child-themes/">Using Action Hooks in WordPress Child Themes</a></li><li><a
href="http://themeshaper.com/thematic/guide/?page_id=10">Theme Hooks</a></li><li><a
href="http://extralogical.net/2007/06/wphooks/">Adding Custom WordPress Hooks</a></li><li><a
href="http://themeshaper.com/filters-wordpress-child-themes/">Using Filter Hooks in WordPress Child Themes</a></li><li><a
href="http://themeshaper.com/thematic/guide/?page_id=12">Theme Filters</a></li><li><a
href="http://wpcandy.com/articles/frameworks-child-themes-filters-and-hook.html">Frameworks, Child Themes, Filters and Hooks?</a></li><li><a
href="http://venutip.com/content/right-way-override-theme-functions">Overriding Parent Theme Functions in Child Themes</a></li></ul><p> <script type='text/javascript'>/*<![CDATA[*/var m3_u = (location.protocol=='https:'?'https://esdev.net/adserver/www/delivery/ajs.php':'http://esdev.net/adserver/www/delivery/ajs.php');
   var m3_r = Math.floor(Math.random()*99999999999);
   if (!document.MAX_used) document.MAX_used = ',';
   document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
   document.write ("?zoneid=7");
   document.write ('&amp;cb=' + m3_r);
   if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
   document.write ("&amp;loc=" + escape(window.location));
   if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
   if (document.context) document.write ("&context=" + escape(document.context));
   if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
   document.write ("'><\/scr"+"ipt>");
//]]&gt;/*]]>*/</script><noscript><a
href='http://esdev.net/adserver/www/delivery/ck.php?n=ad9e49&amp;cb=954d8c33a5640d398adedad60e59ece1' target='_blank'><img
src='http://esdev.net/adserver/www/delivery/avw.php?zoneid=7&amp;cb=954d8c33a5640d398adedad60e59ece1&amp;n=ad9e49' border='0' alt='' /></a></noscript></p><h3>Thematic Tutorials</h3><ul><li><a
href="http://www.cozmoslabs.com/2008/08/11/10-design-tips-for-your-custom-wordpress-theme-built-with-thematic/">10 Design Tips For Your Custom WordPress Theme Built With Thematic</a></li><li><a
href="http://themeshaper.com/functions-php-wordpress-child-themes/">Edit Your Theme With <em>Functions.php</em></a><br
/> Tons of fun by adding functions to edit your theme.</li><li><a
href="http://themeshaper.com/custom-page-template-redesign-blog/">How I Used a Custom Page Template to Redesign My Blog the Smart Way</a><br
/> Step-by-step creating a new child theme.</li><li><a
href="http://justintadlock.com/archives/2008/08/24/replacing-wordpress-content-with-an-excerpt-without-editing-theme-files">Replacing WordPress Content With an Excerpt in a Thematic Child Theme</a><br
/> How to replace <em>the_content()</em> with <em>the_excerpt()</em>&#8211;without touching your theme files.</li><li><a
href="http://www.cozmoslabs.com/2009/06/26/thematic-featured-posts/">Add &#8220;Featured Posts&#8221; to Your Thematic Child Theme</a></li><li><a
href="http://www.cozmoslabs.com/2008/09/07/use-wordpress-as-a-cms-with-thematic-part1/">Use WordPress as a CMS With Thematic: Part 1</a></li><li><a
href="http://www.cozmoslabs.com/2009/05/28/add-a-header-image-to-thematic-the-easy-way/">Add a Header Image to Thematic the Easy Way</a></li><li><a
href="http://www.cozmoslabs.com/2009/04/15/add-a-search-box-to-the-thematic-menu/">Add a Search Box to the Thematic Menu</a></li><li><a
href="http://papertreedesign.com/adding-theme-options-to-wordpress-child-themes/">Adding Theme Options to WordPress Themes</a><br
/> Creating theme option pages to your WordPress theme.</li><li><a
href="http://themeshaper.com/forums/">ThemeShaper Forums</a><br
/> If you get stuck, the Thematic Forums is the place to go for help.</li></ul><h3>Editing Parts of Your Theme With Thematic</h3><p>There is a whole series of tutorials on the Thematic website for edit particular parts of your WordPress theme:</p><ul><li><a
href="http://themeshaper.com/thematic-0961-is-live/">Thematic 0.9.6.1 Is  Live</a> (<em>Updated 2/10/2010</em>)<br
/> Details about newest Thematic version. Contains new hooks and filters for even  more control.</li><li><a
href="http://themeshaper.com/wordpress-themes-templates-tutorial/">WordPress Themes Template Tutorial Series</a></li><li><a
href="http://themeshaper.com/wordpress-theme-index-template-tutorial/">Working With the Index Template</a></li><li><a
href="http://themeshaper.com/thematic/guide/?page_id=64">Editing Your Thematic CSS</a></li><li><a
href="http://themeshaper.com/wordpress-theme-header-template-tutorial/">Editing the Header Template</a></li><li><a
href="http://themeshaper.com/wordpress-theme-sidebar-template/">Editing the Sidebar Template</a></li><li><a
href="http://themeshaper.com/wordpress-theme-single-post-post-attachment-404-templates-tutorial/">Editing the Single Post, Post Attachment and 404 Templates</a></li></ul><h3>Thematic Cheat Sheets</h3><ul><li><a
href="http://bluemandala.com/thematic/thematic-structure.html">Thematic Structure Cheat Sheet</a><br
/> A visual look at all of Thematic&#8217;s main elements&#8211;div&#8217;s, theme actions, hooks and widget areas. Very, very useful.</li><li><a
href="http://www.altamentedecorativo.com/?page_id=534">Widget-Ready Areas</a><br
/> Images of widget-ready areas for each major template and section of Thematic.</li></ul><h3>Thematic Child Themes</h3><p>There are already some nicely-designed Thematic child themes.</p><p><a
href="http://themeshaper.com/acamas-theme-clarity-elegance-power/">Acamas</a><br
/> <a
href="http://themeshaper.com/acamas-theme-clarity-elegance-power/"><img
class="alignnone size-thumbnail wp-image-2582" title="acamas-screen" src="http://esdev.net/wp-content/uploads/2009/09/acamas-screen-250x250.jpg" alt="acamas-screen" width="250" height="250" /></a></p><p><a
href="http://www.chris-wallace.com/2009/07/17/simplecartjs-a-free-wp-e-commerce-thematic-child-theme/">SimpleCart (js)</a> &#8211; E-commerce theme<br
/> <a
href="http://www.chris-wallace.com/2009/07/17/simplecartjs-a-free-wp-e-commerce-thematic-child-theme/"><img
class="alignnone size-thumbnail wp-image-2584" title="simplecart-e-commerce-theme-screen" src="http://esdev.net/wp-content/uploads/2009/09/simplecart-560x396-screen-250x250.png" alt="simplecart-e-commerce-theme-screen" width="250" height="250" /></a></p><p><a
href="http://design-notes.info/download/free-wordpress-theme-audry-release/">Audry</a><br
/> <a
href="http://design-notes.info/download/free-wordpress-theme-audry-release/"><img
class="alignnone size-full wp-image-2586" title="audry-screen" src="http://esdev.net/wp-content/uploads/2009/09/thumb-audry-screen.png" alt="audry-screen" width="159" height="117" /></a></p><p><a
href="http://www.smashingmagazine.com/2009/05/04/download-gallery-a-free-wordpress-theme/">Gallery</a><br
/> <a
href="http://www.smashingmagazine.com/2009/05/04/download-gallery-a-free-wordpress-theme/"><img
class="alignnone size-thumbnail wp-image-2587" title="gallery-theme-screen" src="http://esdev.net/wp-content/uploads/2009/09/gallery-theme-screen-250x250.jpg" alt="gallery-theme-screen" width="250" height="250" /></a></p><p><a
href="http://www.bendler.tv/?p=525">Aether</a><br
/> <a
href="http://www.bendler.tv/?p=525"><img
class="alignnone size-thumbnail wp-image-2588" title="aether-screen" src="http://esdev.net/wp-content/uploads/2009/09/aether_header-screen-250x250.png" alt="aether-screen" width="250" height="250" /></a></p><p><a
href="http://ableparris.com/2009/03/15/sugar-cane-a-sweet-wordpress-child-theme/">Sugar Cane</a><br
/> <a
href="http://ableparris.com/2009/03/15/sugar-cane-a-sweet-wordpress-child-theme/"><img
class="alignnone size-thumbnail wp-image-2589" title="sugar-cane-screen" src="http://esdev.net/wp-content/uploads/2009/09/sugar-cane-screen-250x250.jpg" alt="sugar-cane-screen" width="250" height="250" /></a></p><p><strong>Update:</strong> <a
href="http://www.matteostagi.it/eng/3hourstheme-a-tutorial-child-theme-for-thematic">3HoursTheme</a> (by Matteo Stagi. Also includes tutorials to help you to use the theme)<br
/> <a
href="http://www.matteostagi.it/eng/3hourstheme-a-tutorial-child-theme-for-thematic"><img
class="alignnone size-thumbnail wp-image-2619" title="3hourstheme-screen" src="http://esdev.net/wp-content/uploads/2009/09/3hourstheme_home-250x250.jpg" alt="3hourstheme-screen" width="250" height="250" /></a></p><h4><a
href="http://www.cozmoslabs.com/wordpress-themes/">Cosmos Labs</a></h4><p>I can&#8217;t include Thematic themes without mentioning Cosmos Labs. They have released several nice child themes. Here are a few.</p><p><a
href="http://www.cozmoslabs.com/2008/10/25/byty-free-child-theme-built-thematic/">Byty</a><br
/> <a
href="http://www.cozmoslabs.com/2008/10/25/byty-free-child-theme-built-thematic/"><img
class="alignnone size-thumbnail wp-image-2590" title="byty-screen" src="http://esdev.net/wp-content/uploads/2009/09/byty-screen-250x250.jpg" alt="byty-screen" width="250" height="250" /></a></p><p><a
href="http://www.cozmoslabs.com/2009/06/02/street-wordpress-theme/">Street</a><br
/> <a
href="http://www.cozmoslabs.com/2009/06/02/street-wordpress-theme/"><img
class="alignnone size-thumbnail wp-image-2591" title="street_theme" src="http://esdev.net/wp-content/uploads/2009/09/street_theme-250x250.gif" alt="street_theme" width="250" height="250" /></a></p><p><a
href="http://www.cozmoslabs.com/2009/07/20/early-morning-child-theme/">Early Morning</a><br
/> <a
href="http://www.cozmoslabs.com/2009/07/20/early-morning-child-theme/"><img
class="alignnone size-thumbnail wp-image-2592" title="early-morning-screen" src="http://esdev.net/wp-content/uploads/2009/09/early-morning-screen-250x250.jpg" alt="early-morning-screen" width="250" height="250" /></a></p><p><a
href="http://www.cozmoslabs.com/2009/04/07/green-anyone-try-commune-thematic-child-theme/">Commune</a><br
/> <a
href="http://www.cozmoslabs.com/2009/04/07/green-anyone-try-commune-thematic-child-theme/"><img
class="alignnone size-thumbnail wp-image-2593" title="commune_thumb-screen" src="http://esdev.net/wp-content/uploads/2009/09/commune_thumb-screen-250x200.jpg" alt="commune_thumb-screen" width="250" height="200" /></a></p><p><a
href="http://www.reflectionmedia.ro/2009/01/crystalline-a-crystal-sharp-child-theme-for-thematic/">Crystalline</a><br
/> <a
href="http://www.reflectionmedia.ro/2009/01/crystalline-a-crystal-sharp-child-theme-for-thematic/"><img
class="alignnone size-thumbnail wp-image-2594" title="crystalline_thumb-screen" src="http://esdev.net/wp-content/uploads/2009/09/crystalline_thumb-screen-250x176.jpg" alt="crystalline_thumb-screen" width="250" height="176" /></a></p><h4>Element Templates</h4><p>These are not full child themes, but themes for specific parts of a WordPress site that can be used along with another child theme.</p><ul><li><a
href="http://www.cozmoslabs.com/2009/07/31/awesome-thematic-templates/">Login and User Registration Page Templates For Thematic</a></li><li><a
href="http://www.cozmoslabs.com/2008/12/17/replacing-the-thematic-menu-with-a-dropdown-list-of-categories/">Replacing the Thematic Menu With a DropDown List of Categories</a></li></ul><p>Hopefully these links will give you a good place to start using Thematic.</p><h3>What Do You Use?</h3><p>Do you use Thematic? Do you use some other WordPress framework? Tell us in the comments.</p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/build-wordpress-sites-fast-with-the-thematic-theme-framework/feed/</wfw:commentRss> <slash:comments>17</slash:comments> </item> <item><title>Letting Non-Admins View CyStats Stats in WordPress</title><link>http://esdev.net/letting-non-admins-view-cystats-stats-in-wordpress/</link> <comments>http://esdev.net/letting-non-admins-view-cystats-stats-in-wordpress/#comments</comments> <pubDate>Mon, 21 Sep 2009 17:23:50 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[web design]]></category> <category><![CDATA[blogs]]></category> <category><![CDATA[code]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[tutorials]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://esdev.net/?p=2510</guid> <description><![CDATA[The CyStats plugin is a great statistics plugin for WordPress. It has a ton of nice features, is easy to scan and displays all relevant stats (sans RSS feed stats) right from the WordPress backend.
The only problem I have is that it&#8217;s only viewable to registered WordPress users with an admin role. Editors, Authors and [...]]]></description> <content:encoded><![CDATA[<p>The <a
href="http://wordpress.org/extend/plugins/cystats/">CyStats plugin</a> is a great statistics plugin for WordPress. It has a ton of nice features, is easy to scan and displays all relevant stats (sans RSS feed stats) right from the WordPress backend.</p><blockquote><p>The only problem I have is that it&#8217;s only viewable to registered WordPress users with an admin role. Editors, Authors and Contributors can access the WordPress backend, but can&#8217;t view the stats.</p></blockquote><p>You <em>could</em> always install a bloated role manager plugin just so you can allow others to view CyStats. But this is overkill unless you need to adjust roles for some other reason.</p><p>Here&#8217;s a quick way to <a
href="http://wordpress.org/support/topic/234434">allow non-admin users to view your CyStats stats</a>:</p><ol><li>In WordPress, go to <em>Plugins</em> &gt; <em>Editor</em></li><li>Select <em>CyStats</em> from the upper right dropdown list</li><li>Choose <em>cystats/includes/admin.php</em> from the list of plugin files on the right.<br
/> Alternatively, FTP to the <em>wp-content/plugins/cystats/includes/</em> dir and edit the <em>admin.php</em> file.</li><li>Notice there are several &#8216;<em>8</em>&#8217;s (or possibly &#8216;<em>9</em>&#8217;s or &#8216;<em>10</em>&#8217;s). These are the numbers for the <a
title="WordPress user roles explained" href="http://codex.wordpress.org/Roles_and_Capabilities#level_0">WordPress user levels/roles</a>. 8-10 are admins, 7-5 are editors, etc.:<pre><code>/**
 * Builds admin panem menu for Plugin
 */
if(!function_exists('cystats_create_admin_menu')){
	function cystats_create_admin_menu() {
		if (function_exists('add_options_page')) {
			add_options_page('CyStats Options Page', 'CyStats ', 8, 'cystats-options', 'cystats_admin_options');
		}
		if (function_exists('add_menu_page')) {
			add_menu_page('CyStats Statistics Plugin', 'CyStats', 8, __FILE__, 'cystats_admin_index');
		}
		if (function_exists('add_submenu_page')) {
			add_submenu_page(__FILE__, htmlspecialchars(__('CyStats: Index','cystats')), htmlspecialchars(__('Index','cystats')), 8, __FILE__, 'cystats_admin_index');
			add_submenu_page(__FILE__, htmlspecialchars(__('CyStats: Blog','cystats')), htmlspecialchars(__('Blog','cystats')), 8, 'cystats-blog', 'cystats_admin_blog');
			add_submenu_page(__FILE__, htmlspecialchars(__('CyStats: Clients','cystats')), htmlspecialchars(__('Clients','cystats')), 8, 'cystats-clients', 'cystats_admin_clients');
			add_submenu_page(__FILE__, htmlspecialchars(__('CyStats: Referer','cystats')), htmlspecialchars(__('Referer','cystats')), 8, 'cystats-referer', 'cystats_admin_referer');
			add_submenu_page(__FILE__, htmlspecialchars(__('CyStats: Robots &amp; Tools','cystats')), htmlspecialchars(__('Robots/Tools','cystats')), 8, 'cystats-robots', 'cystats_admin_robots');
			add_submenu_page(__FILE__, htmlspecialchars(__('CyStats: Pages','cystats')), htmlspecialchars(__('Pages','cystats')), 8, 'cystats-pages', 'cystats_admin_pages');
			add_submenu_page(__FILE__, htmlspecialchars(__('CyStats: Time','cystats')), htmlspecialchars(__('Time','cystats')), 8, 'cystats-time', 'cystats_admin_time');
			add_submenu_page(__FILE__, htmlspecialchars(__('CyStats: Options','cystats')),htmlspecialchars(__('Options','cystats')), 8, 'cystats-options', 'cystats_admin_options');
		}
	}
}</code></pre></li><li>If you want editors (as well as admins) to be able to view the stats, change the <em>8</em>, <em>9</em> or 10 throughout the includes/admin.php file to the number of the user level your want (ie 7, 6 or 5 for editors).</li><li>If you only want the <em>admin</em> to be able to edit the CyStats options/settings (recommended), don&#8217;t change the final 8 (or 9 or 10). It looks like this:<pre><code>add_submenu_page(__FILE__, htmlspecialchars(__('CyStats: Options','cystats')),htmlspecialchars(__('Options','cystats')), 8, 'cystats-options', 'cystats_admin_options');</code></pre></li></ol><p>That&#8217;s it! No editing the database.</p><p
class="article_caption"><strong>Note</strong>: You&#8217;ll probably need to make these changes again when you update the CyStats plugin, so this isn&#8217;t a perfect solution, but the CyStats plugin isn&#8217;t updated too often.</p><p>Enjoy.<br
/> <script type='text/javascript'>/*<![CDATA[*/var m3_u = (location.protocol=='https:'?'https://esdev.net/adserver/www/delivery/ajs.php':'http://esdev.net/adserver/www/delivery/ajs.php');
   var m3_r = Math.floor(Math.random()*99999999999);
   if (!document.MAX_used) document.MAX_used = ',';
   document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
   document.write ("?zoneid=7");
   document.write ('&amp;cb=' + m3_r);
   if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
   document.write ("&amp;loc=" + escape(window.location));
   if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
   if (document.context) document.write ("&context=" + escape(document.context));
   if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
   document.write ("'><\/scr"+"ipt>");
//]]&gt;/*]]>*/</script><noscript><a
href='http://esdev.net/adserver/www/delivery/ck.php?n=eb0269&amp;cb=fdad7072c090e012757663eed9c1111b' target='_blank'><img
src='http://esdev.net/adserver/www/delivery/avw.php?zoneid=7&amp;cb=fdad7072c090e012757663eed9c1111b&amp;n=eb0269' border='0' alt='' /></a></noscript></p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/letting-non-admins-view-cystats-stats-in-wordpress/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Cheat Sheets For Web Designers</title><link>http://esdev.net/cheat-sheets-for-web-designers/</link> <comments>http://esdev.net/cheat-sheets-for-web-designers/#comments</comments> <pubDate>Mon, 14 Sep 2009 11:03:42 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[freebies]]></category> <category><![CDATA[web design]]></category> <category><![CDATA[code]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[HTML]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[PHP]]></category><guid
isPermaLink="false">http://esdev.net/?p=2459</guid> <description><![CDATA[
Remember the mottoes you learned when you were a kid: &#8220;Winners don&#8217;t do drugs&#8221;, and &#8220;Cheaters never win&#8221;?
Well, a little cheating never hurt anyone… when it comes to using cheat sheets, that is.
TechPosters has a colossal collection of cheat sheets for just about every program, coding language or OS that uses code or keyboard shortcuts.
Since [...]]]></description> <content:encoded><![CDATA[<p><img
class="aligncenter size-full wp-image-2464" title="cheat-sheets-for-web-designers-hd" src="http://esdev.net/wp-content/uploads/2009/09/cheat-sheets-for-web-designers-hd.jpg" alt="cheat-sheets-for-web-designers-hd" width="560" height="130" /></p><p>Remember the mottoes you learned when you were a kid: &#8220;Winners don&#8217;t do drugs&#8221;, and &#8220;Cheaters never win&#8221;?</p><p>Well, a little cheating never hurt anyone… when it comes to using cheat sheets, that is.</p><p><a
href="http://posters.msug.vn.ua">TechPosters has a colossal collection of cheat sheets</a> for just about every program, coding language or OS that uses code or keyboard shortcuts.</p><blockquote><p>Since there&#8217;s such a huge list of cheat sheets, let&#8217;s look at some of the useful cheat sheets for web designers.</p></blockquote><h3>HTML</h3><ul><li><a
href="http://posters.msug.vn.ua/2009/08/24/HTML5QuickReferenceGuide.aspx">HTML 5 Quick Reference Guide</a></li><li><a
href="http://posters.msug.vn.ua/2009/07/07/HTML5CheatSheet.aspx">HTML 5 Cheat Sheet</a></li><li><a
href="http://posters.msug.vn.ua/2009/01/23/XHTMLCheatSheetV103.aspx">XHTML Cheat Sheet v 1.03</a></li><li><a
href="http://posters.msug.vn.ua/2009/03/23/XHTML11HTML401ExtensibleHypertextMarkupLanguage.aspx">XHTML 1.1 and HTML 4.01 Extensible Hypertext Markup Language</a></li><li><a
href="http://posters.msug.vn.ua/2009/01/23/HTMLHelpSheet.aspx">HTML Help Sheet (HTML 4 and XHTML)</a></li><li><a
href="http://posters.msug.vn.ua/2009/03/06/FORMTAGS.aspx">Form Tags</a></li><li><a
href="http://posters.msug.vn.ua/2009/03/05/CharacterEntityReferencesInHTML4AndXHTML10.aspx">Character Entity References in XHTML 1.0 and HTML 4</a></li><li><a
href="http://posters.msug.vn.ua/2009/03/05/HTMLSpecialEntityCodes.aspx">HTML &#8211; Special Entity Codes</a></li><li><a
href="http://posters.msug.vn.ua/2009/01/23/HTMLCommonTags.aspx">HTML Common Tags</a></li></ul><p><span
class="article_caption"><strong>Note</strong>: If you&#8217;re looking for more resources for UTF-8 special entities, check out my earlier post, <a
href="http://esdev.net/most-used-xhtml-character-entities/"><em>Most Used XHTML Character Entities</em></a>.</span></p><p><span
id="more-2459"></span></p><h3>CSS</h3><ul><li><a
href="http://posters.msug.vn.ua/2009/08/24/CCS3QuickReferenceGuide.aspx">CSS3 Quick Reference Guide</a></li><li>Core CSS <a
href="http://posters.msug.vn.ua/2009/03/07/CoreCSSPartI.aspx">Part 1</a> (by Molly E Holzschlag and published by DZone), <a
href="http://posters.msug.vn.ua/2009/03/07/CoreCSSPartII.aspx">Part 2</a>, and <a
href="http://posters.msug.vn.ua/2009/03/07/CoreCSSPartIII.aspx">Part 3</a></li><li><a
href="http://posters.msug.vn.ua/2009/04/01/CSSProperties.aspx">CSS Properties</a></li><li><a
href="http://posters.msug.vn.ua/2009/03/23/CSS2CascadingStyleSheets.aspx">CSS2 Cascading Style Sheets</a></li><li><a
href="http://posters.msug.vn.ua/2009/03/05/CSSShorthandGuide.aspx">CSS Shorthand Guide</a></li><li><a
href="http://posters.msug.vn.ua/2009/01/25/CSSShorthandCheatSheet.aspx">CSS Shorthand Cheat Sheet by Example</a></li><li><a
href="http://posters.msug.vn.ua/2009/03/05/CSSPropertyIndex.aspx">CSS Property Index</a></li><li><a
href="http://posters.msug.vn.ua/2009/03/05/CSSCheatSheetV2.aspx">CSS Cheat Sheet v2</a></li><li><a
href="http://posters.msug.vn.ua/2009/01/25/CSS2QuickReferenceGuide.aspx">CSS2 Quick Reference Guide</a></li><li><a
href="http://posters.msug.vn.ua/2009/01/23/RGBColourCodes.aspx">RGB Colour Codes</a></li></ul><h3>jQuery</h3><ul><li><a
href="http://posters.msug.vn.ua/2009/03/23/jQuerySelectors.aspx">jQuery Selectors (DZone)</a></li><li><a
href="http://posters.msug.vn.ua/2009/03/05/jTouchJQueryCheatSheetForIpods.aspx">jTouch &#8211; jQuery Cheat Sheets For iPods and iPhones</a></li><li><a
href="http://posters.msug.vn.ua/2009/03/05/jQuery12CheatSheet2.aspx">jQuery 1.2 Cheat Sheet 2</a></li><li><a
href="http://posters.msug.vn.ua/2009/03/05/jQuery12.aspx">jQuery 1.2</a></li></ul><p>There are a ton of other cheat sheets for javascript in general, as well as other frameworks like EXT JS, Prototype and an entire category for <a
href="http://posters.msug.vn.ua/CategoryView,category,Mootools.aspx">Mootools</a>.</p><p>These can be found in the general <a
href="http://posters.msug.vn.ua/CategoryView,category,JavaScript.aspx"><em>Javascript Cheat Sheet</em> category</a>.</p><h3><a
href="http://posters.msug.vn.ua/CategoryView,category,PHP.aspx">PHP</a></h3><ul><li><a
href="http://posters.msug.vn.ua/2009/03/07/PHP.aspx">PHP Cheat Sheet (DZone)</a></li><li><a
href="http://posters.msug.vn.ua/2009/03/06/symfonyPHP5FrameworkAdminGeneratorCheatSheet.aspx">Symfony PHP5 Framework &#8211; Admin Generator Cheat Sheet</a></li></ul><h3>Plus Many, Many More</h3><p>There are also tons of other web design cheat sheets for <a
href="http://posters.msug.vn.ua/CategoryView,category,MySQL.aspx">MySQL</a>, <a
href="http://posters.msug.vn.ua/CategoryView,category,ASPNET.aspx">ASP.NET</a>, <a
href="http://posters.msug.vn.ua/CategoryView,category,Flash.aspx">Flash</a>, <a
href="http://posters.msug.vn.ua/CategoryView,category,Silverlight.aspx">Silverlight</a>, <a
href="http://posters.msug.vn.ua/CategoryView,category,XML.aspx">XML</a> and more.</p><p>Another nice thing about the <a
href="http://posters.msug.vn.ua">TechPosters site</a> is that you can subscribe to RSS feeds for each category and know when new cheat sheets are added.</p><h3>Share</h3><p>Do you use any great cheat sheets for web design that are not included here? Where do you get your cheat sheets from?</p><p>Share your thoughts in the comments.</p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/cheat-sheets-for-web-designers/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Removing Pages From Navigation in WordPress</title><link>http://esdev.net/removing-pages-from-navigation-in-wordpress/</link> <comments>http://esdev.net/removing-pages-from-navigation-in-wordpress/#comments</comments> <pubDate>Mon, 03 Aug 2009 14:54:25 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[web design]]></category> <category><![CDATA[CMS]]></category> <category><![CDATA[code]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://esdev.net/?p=2154</guid> <description><![CDATA[
When you&#8217;re building a website in WordPress and using it as a CMS, you&#8217;re going to have pages that you don&#8217;t want showing in your main site navigation/menu.
How do you keep those pages from showing up in your navigation?
Include and Exclude Specific Pages
There are several methods, but most of them require hard coding the menu [...]]]></description> <content:encoded><![CDATA[<p><img
class="aligncenter size-full wp-image-2163" title="remove-pages-from-nav-hd" src="http://esdev.net/wp-content/uploads/2009/08/remove-pages-from-nav-hd.png" alt="remove-pages-from-nav-hd" width="560" height="130" /></p><p>When you&#8217;re building a website in WordPress and using it as a CMS, you&#8217;re going to have pages that you don&#8217;t want showing in your main site navigation/menu.</p><p>How do you keep those pages from showing up in your navigation?</p><h3>Include and Exclude Specific Pages</h3><p>There are several methods, but most of them require hard coding the menu to either <a
href="http://www.kimwoodbridge.com/how-to-exclude-pages-from-the-wordpress-navigation-bar/"><em>exclude</em> specific pages from the navigation</a>…</p><p>Or <em>including</em> only certain pages like so:</p><pre><code>&lt;?php wp_list_pages('include=1,2,3,6,19' ); ?&gt;</code></pre><p>These methods work, but are impractical (at least for client work) because they&#8217;re not flexible enough.</p><p>What happens when you add more pages to the site, or want to add/remove pages in the nav?</p><p>Also, could you explain how to make the needed code edits to your clients? I don&#8217;t think so.</p><h3>Use a Plugin</h3><p>The fastest, most flexible and easiest to use method is to just use a plugin.</p><p><img
class="alignleft size-full wp-image-2155" title="exclude-pages-plugin-screen" src="http://esdev.net/wp-content/uploads/2009/08/exclude-pages-screen.png" alt="exclude-pages-plugin-screen" width="310" height="130" />My choice is the <a
href="http://wordpress.org/extend/plugins/exclude-pages/">Exclude Pages plugin</a> from Simon Wheatley.</p><p>After you activate it, Exclude Pages gives you a new option on the write panel for each page—&#8217;<em>Include this page in user menus</em>&#8216;.</p><p>The option is checked by default on all the new pages you create, so if you don&#8217;t want the page to show up in the navigation, simply uncheck the box before publishing, and it never shows.</p><p>It also removes pages that have already been published.</p><p>The Exclude Pages plugin is great because clients (and you) can easily choose which pages to include in the site&#8217;s navigation. Unticking a box is a whole lot easier to explain than editing code.</p><h3>Use Bookmarks For Your Navigation</h3><p>Another option is to use WordPress&#8217; built-in links to create site navigation.</p><p>Justin Tadlock offers an interesting take on <a
href="http://justintadlock.com/archives/2009/01/06/easy-navigation-menus-in-wordpress">using links (blogroll/bookmarks) to create navigation</a>.</p><p>This is a pretty creative approach, and it makes logical use of your blogroll.</p><p>The only downside I see is that, you&#8217;ll have to rework your theme to incorporation this technique—it&#8217;s not a quick, drop-in solution.</p><p>Do you have any other suggestions for removing pages from your WordPress navigation? Share with us in the comments.</p><p> <script type='text/javascript'>/*<![CDATA[*/var m3_u = (location.protocol=='https:'?'https://esdev.net/adserver/www/delivery/ajs.php':'http://esdev.net/adserver/www/delivery/ajs.php');
   var m3_r = Math.floor(Math.random()*99999999999);
   if (!document.MAX_used) document.MAX_used = ',';
   document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
   document.write ("?zoneid=7");
   document.write ('&amp;cb=' + m3_r);
   if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
   document.write ("&amp;loc=" + escape(window.location));
   if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
   if (document.context) document.write ("&context=" + escape(document.context));
   if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
   document.write ("'><\/scr"+"ipt>");
//]]&gt;/*]]>*/</script><noscript><a
href='http://esdev.net/adserver/www/delivery/ck.php?n=bb80b9&amp;cb=7c654bd58708f7af870da814c4296815' target='_blank'><img
src='http://esdev.net/adserver/www/delivery/avw.php?zoneid=7&amp;cb=7c654bd58708f7af870da814c4296815&amp;n=bb80b9' border='0' alt='' /></a></noscript></p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/removing-pages-from-navigation-in-wordpress/feed/</wfw:commentRss> <slash:comments>18</slash:comments> </item> <item><title>Fatal Error on Upgrade to WordPress 2.8.2</title><link>http://esdev.net/fatal-error-on-upgrade-to-wordpress-2-8-2/</link> <comments>http://esdev.net/fatal-error-on-upgrade-to-wordpress-2-8-2/#comments</comments> <pubDate>Mon, 20 Jul 2009 16:42:23 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[web design]]></category> <category><![CDATA[code]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[tutorials]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://esdev.net/?p=2066</guid> <description><![CDATA[For those of you who have tried updating to WordPress 2.8.2, which was released today, you may have gotten an unexpected error:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2355395 bytes) in /public_html/wp-includes/http.php on line xxx
If you look at the file mentioned in the error message, you won&#8217;t find anything worthy [...]]]></description> <content:encoded><![CDATA[<p>For those of you who have tried updating to WordPress 2.8.2, which was released today, you may have gotten an unexpected error:</p><p><code>Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2355395 bytes) in /public_html/wp-includes/http.php on line xxx</code></p><p>If you look at the file mentioned in the error message, you won&#8217;t find anything worthy of changing. I believe the line number mentioned is simply the line where WordPress ran out of memory.</p><p>Fortunately, I found the <a
href="http://wordpress.org/support/topic/291769">answer in a thread on the WordPress Forums</a> (which should be one of the 1st places you go when looking for WP-related answers).</p><p>The error is memory related, so increase your available memory (after backing your site up, of course). Edit your <em>wp-config.php</em> file and add the following line right after the opening <em>php</em> statement:</p><p><code>define('WP_MEMORY_LIMIT', '64M');</code></p><p>Save the file and try the upgrade again. Unless you have something else wrong with your site/WP setup, the upgrade should now work perfectly.</p><p> <script type='text/javascript'>/*<![CDATA[*/var m3_u = (location.protocol=='https:'?'https://esdev.net/adserver/www/delivery/ajs.php':'http://esdev.net/adserver/www/delivery/ajs.php');
   var m3_r = Math.floor(Math.random()*99999999999);
   if (!document.MAX_used) document.MAX_used = ',';
   document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
   document.write ("?zoneid=7");
   document.write ('&amp;cb=' + m3_r);
   if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
   document.write ("&amp;loc=" + escape(window.location));
   if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
   if (document.context) document.write ("&context=" + escape(document.context));
   if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
   document.write ("'><\/scr"+"ipt>");
//]]&gt;/*]]>*/</script><noscript><a
href='http://esdev.net/adserver/www/delivery/ck.php?n=f54744&amp;cb=2ab68b1c56a491ec14ea7c6ab1656937' target='_blank'><img
src='http://esdev.net/adserver/www/delivery/avw.php?zoneid=7&amp;cb=2ab68b1c56a491ec14ea7c6ab1656937&amp;n=f54744' border='0' alt='' /></a></noscript></p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/fatal-error-on-upgrade-to-wordpress-2-8-2/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>HTML 5 Gets More Attention</title><link>http://esdev.net/html-5-gets-more-attention/</link> <comments>http://esdev.net/html-5-gets-more-attention/#comments</comments> <pubDate>Mon, 06 Jul 2009 15:24:44 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[web design]]></category> <category><![CDATA[code]]></category> <category><![CDATA[HTML]]></category><guid
isPermaLink="false">http://esdev.net/?p=2022</guid> <description><![CDATA[With the announcement from the W3C last week that work on the XHTML 2 spec will be drying up after the end of this year, a lot more interest is being shown for HTML 5.
&#60;my2cents&#62;
Personally, I&#8217;m glad. Not glad that XHTML 2 is going to go the way of the dodo, but I think that [...]]]></description> <content:encoded><![CDATA[<p>With the announcement from the W3C last week that <a
href="http://www.w3.org/News/2009#item119">work on the XHTML 2 spec will be drying up after the end of this year</a>, a lot more interest is being shown for HTML 5.</p><pre>&lt;my2cents&gt;</pre><p>Personally, I&#8217;m glad. Not glad that XHTML 2 is going to go the way of the dodo, but I think that having 2 standards would have been a bit defeating.</p><h3>BlueRay vs HD DVD vs XHTML 2 vs HTML 5</h3><p>Remember the BlueRay vs HD-DVD fiasco? There were 2 specs being developed and disc manufacturers were having to either choose to support one or the other, or add extra expense and support both. Then disc manufacturers have to choose either or both techs. Madness.</p><p>So, I am not saying that I think HTML 5 is better than XHTML 2, but that I&#8217;m glad a decision has been made and one spec has been chosen.</p><p>With the additional resources that HTML 5 will be getting, its future looks much brighter. Not to mention browser makers and web designers have one less thing to worry about.</p><pre>&lt;/my2cents&gt;</pre><h3>Start Using HTML 5 Now</h3><p>There are some web apps (okay, Google Wave) that are beginning to use HTML 5 already.</p><p>Now, roll up your sleeves and <a
href="http://www.sitepoint.com/article/html-5-snapshot-2009/">start using HTML 5 now</a> (an interesting article with code examples from SitePoint). This article even explains how to make it work with Internet Explorer &#8212; yes, IE.</p><p>More info on <a
href="http://www.w3.org/2009/06/xhtml-faq.html">the future of XHTML 2 (W3C)</a>.</p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/html-5-gets-more-attention/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>eeSiteKit &#8211; Build an ExpressionEngine Site Faster</title><link>http://esdev.net/eesitekit-build-an-expressionengine-site-faster/</link> <comments>http://esdev.net/eesitekit-build-an-expressionengine-site-faster/#comments</comments> <pubDate>Mon, 22 Jun 2009 11:00:51 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[web design]]></category> <category><![CDATA[CMS]]></category> <category><![CDATA[code]]></category> <category><![CDATA[ExpressionEngine]]></category><guid
isPermaLink="false">http://esdev.net/?p=1980</guid> <description><![CDATA[
eeSiteKit is a framework to help you build ExpressionEngine-based CMS websites faster.
You&#8217;re provided a set of commonly used pre-coded functions, folders, and preset templating system (for categories, navigation, etc) for use with ExpressionEngine.
No EE Hacking
eeSiteKit however doesn&#8217;t use any custom PHP custom queries or hacks that break EE core functionality, so future versions of EE [...]]]></description> <content:encoded><![CDATA[<p><img
class="aligncenter size-full wp-image-1992" title="eesitekit-hd" src="http://esdev.net/wp-content/uploads/2009/06/eesitekit-hd.jpg" alt="eesitekit-hd" width="560" height="130" /></p><p><a
href="http://eesitekit.com/">eeSiteKit</a> is a framework to help you build <a
href="http://expressionengine.com">ExpressionEngine</a>-based CMS websites faster.</p><p>You&#8217;re provided a set of commonly used pre-coded functions, folders, and preset templating system (for categories, navigation, etc) for use with ExpressionEngine.</p><h3>No EE Hacking</h3><p>eeSiteKit however doesn&#8217;t use any custom PHP custom queries or hacks that break EE core functionality, so future versions of EE shouldn&#8217;t break your site. eeSiteKit is actively maintained, so if something does conflict a bit in future versions of EE, there will be updates and fixes provided quickly.</p><h3>Style Your Site As Normal</h3><p>Besides this, eeSiteKit also offers a light XHTML/CSS framework for laying out and customing page structure and styling quickly.</p><h3>SEO Options For Your EE Site</h3><p>eeSiteKit also includes many <a
href="http://eesitekit.com/overview/features/">SEO-friendly options</a> for page and category URLs and structure.</p><h3>eeSiteKit Features</h3><p><span
id="more-1980"></span><br
/> Here are just some of eeSiteKit&#8217;s features:</p><ul><li>Compatible with ExpressionEngine 1.6.7 (Commercial, Personal and Core versions) as well as EE Multiple Site Manager</li><li>No add-ons required</li><li>Clean, logical, text-only, nested-page URLs (SEO friendly, works with the optional <em>index.php</em> or renamed <em>index.php</em>)</li><li>SEO friendly dynamic page titles</li><li>Landing pages are optional with each weblog (site sections)</li><li>Dynamic page navigation (including sub navigation, dropdown menus, breadcrumbs, etc)</li><li>Categories friendly (use EE&#8217;s category system but mask EE&#8217;s default category numbers, for example)</li><li>Dynamic category headings</li><li>Simple &#8220;keyword&#8221; search form code</li><li>Dynamically configured search results page</li><li>Simple blog-style comments and &#8220;tell-a-friend&#8221; forms</li><li>Well-organized template structure make editing and maintenance easy</li><li>Printer-friendly HTML template for easy printing of any page</li><li>Dynamically generated site map</li><li>404 page templates with configurable alerts</li><li>EE Pages module integration for easy control over pages and page URLs</li><li>Renders valid and standards-compliant code (W3C XHTML 1.0 Transitional, CSS 2.1, and Accessibility: 508-A and WCAG-1)</li></ul><p><a
href="http://eesitekit.com/overview/features/">Full list of features</a></p><h3>More Info</h3><p>For a full overview of all eeSiteKit, check out the <a
href="http://eesitekit.com/overview/">Overview section</a>.</p><p>You can also take a <a
href="http://eesitekit.com/overview/faq/">look at the FAQ</a> if you have other questions.</p><p>It seems that eeSiteKit will add a bit more loading and more queries than an EE site built the traditional way, but this may be worth it for all the functionality you gain.</p><p>I haven&#8217;t gotten a chance to look at eeSiteKit yet, but it looks like a great EE framework that will definitely speed up site development and easy website maintenance as well.</p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/eesitekit-build-an-expressionengine-site-faster/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>24 Must-Have Online Tools For Web Designers</title><link>http://esdev.net/24-must-have-online-tools-for-web-designers/</link> <comments>http://esdev.net/24-must-have-online-tools-for-web-designers/#comments</comments> <pubDate>Mon, 15 Jun 2009 11:00:09 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[online tools]]></category> <category><![CDATA[web design]]></category> <category><![CDATA[browsers]]></category> <category><![CDATA[code]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[email]]></category> <category><![CDATA[typography]]></category><guid
isPermaLink="false">http://esdev.net/?p=1922</guid> <description><![CDATA[
Due to the popularity of last week&#8217;s list of programs and services for freelancers, we&#8217;re bringing you 24 must-have online tools specifically for web designers.
Testing
Xenocode Browser SandboxRun and test your sites in IE6, IE7, IE8, Firefox 2 and 3, Safari, Google Chrome and Opera without having to actually install the browsers on your system.
This unfortunately [...]]]></description> <content:encoded><![CDATA[<p><img
class="aligncenter size-full wp-image-1945" title="24-must-have-online-tools-web-designers-hd" src="http://esdev.net/wp-content/uploads/2009/06/24-must-haves-web-designers-hd.png" alt="24-must-have-online-tools-web-designers-hd" width="560" height="130" /></p><p>Due to the popularity of last week&#8217;s <a
href="http://esdev.net/15-must-have-programs-and-services-for-freelancers/">list of programs and services for freelancers</a>, we&#8217;re bringing you 24 must-have online tools specifically for web designers.</p><h3>Testing</h3><h4><a
href="http://www.xenocode.com/browsers/">Xenocode Browser Sandbox</a></h4><h4><a
href="http://www.xenocode.com/browsers/"><img
class="aligncenter size-full wp-image-1947" title="xenocode-browser-sandbox-hd" src="http://esdev.net/wp-content/uploads/2009/06/xenocode-hd.jpg" alt="xenocode-browser-sandbox-hd" width="560" height="130" /></a></h4><p>Run and test your sites in IE6, IE7, IE8, Firefox 2 and 3, Safari, Google Chrome and Opera without having to actually install the browsers on your system.</p><p>This unfortunately seems to only work on Windows.</p><h4><a
href="http://browsershots.org/">BrowserShots</a></h4><p>View screenshots of your render webpages in multiple browsers and operating systems. You can even test different screen resolutions.</p><h4><a
href="http://tantek.com/favelets/">Favelets</a></h4><p>Validate and test your sites using this collection of favelets. Validate microformats, HTML and CSS. Test your pages at different screen sizes (iPhone, Blackberry, etc) and lots more.</p><h4><a
href="http://aremysitesup.com/">Are My Sites Up?</a> (Website Monitoring)</h4><p
style="text-align: center;"><a
href="http://aremysitesup.com/"><img
class="aligncenter size-full wp-image-1948" title="are-my-sites-up-hd" src="http://esdev.net/wp-content/uploads/2009/06/are-my-sites-up-hd.png" alt="are-my-sites-up-hd" width="560" height="130" /></a></p><p>Get alerts when you or your clients&#8217; sites go down or experience hiccups. Alerts can even be sent to your mobile phone.</p><h3>Page Code Generation</h3><h4><a
href="http://gridr.atomeye.com/">gridr buildrrr</a></h4><h4><a
href="http://gridr.atomeye.com/"><img
class="aligncenter size-full wp-image-1949" title="gridr-hd" src="http://esdev.net/wp-content/uploads/2009/06/gridr-hd.png" alt="gridr-hd" width="560" height="130" /></a></h4><p>Create CSS grid-based layouts easily with gridr buildrrr.</p><h4><a
href="http://projectdeploy.org/">Project Deploy</a></h4><p>Project Deploy makes it faster to get a site up and running by letting you select the type of information you want. Deploy then generates common folders, standard HTML and CSS files and even jQuery&#8211;all in a zip file for easy download.</p><h3>Web Form Generators</h3><h4><a
href="http://www.icebrrg.com/">Icebrrg</a></h4><h4><a
href="http://www.icebrrg.com/"><img
class="aligncenter size-full wp-image-1950" title="icebrrg-hd" src="http://esdev.net/wp-content/uploads/2009/06/icebrrg-hd.jpg" alt="icebrrg-hd" width="560" height="130" /></a></h4><p>Icebrrg lets you easily create all kinds of forms and embed them on your site. There are paid plans, but the free version still allows 3 forms and up to 100 per month.</p><h4><a
href="http://wufoo.com/">WuFoo</a></h4><p>WuFoo makes creating forms a piece of cake. Adding forms to your site is simple as well with a great web-based user interface.</p><h4><a
href="http://www.webformfactory.com/">Web Form Factory</a></h4><p>Another great web form tool. You can create forms linked to a database or to generate emails.</p><h3>Typography</h3><h4><a
href="http://www.typechart.com/">Typechart</a> (CSS Typography)</h4><p
style="text-align: center;"><a
href="http://www.typechart.com/"><img
class="aligncenter size-full wp-image-1951" title="typechart-hd" src="http://esdev.net/wp-content/uploads/2009/06/typechart-hd.png" alt="typechart-hd" width="560" height="130" /></a></p><p>Browse, compare and grab the CSS code.</p><h4><a
href="http://pxtoem.com">PXtoEm.com</a></h4><p>Convert pixels to ems quickly. The generator even creates the CSS all for you.</p><h4><a
href="http://www.sifrgenerator.com/">sIFR Generator</a></h4><p>Even if you don&#8217;t have Adobe Flash installed on your system, you can convert font files (TTF) and create your own Flash files (SWF) for use with sIFR.</p><h3>Web Code</h3><h4><a
href="http://www.digitalmediaminute.com/reference/entity/index.php">XHTML Character Entity Reference</a></h4><p>Find UTF-8 character entities for XHTML.</p><p>View other <a
href="http://esdev.net/most-used-xhtml-character-entities/">XHTML character entities resources</a>.</p><h4><a
href="http://ecoder.gmeditor.com/">ecoder</a> (Web-Based Code Editor)</h4><p
style="text-align: center;"><a
href="http://ecoder.gmeditor.com/"><img
class="aligncenter size-full wp-image-1952" title="ecoder-hd" src="http://esdev.net/wp-content/uploads/2009/06/ecoder-hd.png" alt="ecoder-hd" width="560" height="130" /></a></p><p>Ecoder makes it easier to write and edit code. All your coding can be done right in your browser.</p><p>Ecoder sports a beautiful UI, plus real-time code syntax highlighting and line numbering. You can also edit multiple documents at once.</p><p>As far as I&#8217;m concerned, this one beats out Mozilla Bespin (especially as far as ease of use goes).</p><h4><a
href="http://builtwith.com/">BuiltWith</a></h4><p>Check websites and see what technologies are being used. See what your favorite websites are running on&#8211;databases, CMS, hosting, etc.</p><h3>Other Online Tools</h3><h4><a
href="http://permissions-calculator.org">Unix Permissions Calculator</a></h4><h4><a
href="http://permissions-calculator.org/"><img
class="aligncenter size-full wp-image-1953" title="unix-permissions-hd" src="http://esdev.net/wp-content/uploads/2009/06/unix-permissions-hd.png" alt="unix-permissions-hd" width="560" height="130" /></a></h4><p>No more trying to remember Unix permissions codes when updating file permissions.</p><h4><a
href="http://slimtimmer.com">SlimTimmer</a></h4><p>Keep track of the time you spend on projects.</p><p>The interface is extremely simple and easy to use. You can also manually add time and filter by date, client and other options.</p><h4><a
href="http://media-convert.com/">Media Convert</a></h4><p>Convert just about any type of file into just about any format that exists. Just upload and Media Convert takes care of the rest.</p><h4><a
href="http://www.dmaresponsibility.org/PPG/">Privacy Policy Generator</a></h4><p>Easily create privacy policies for sites by just filling out and simple, quick form.</p><h4><a
href="http://charts.hohli.com/">Hohli</a> (Online Charts Builder)</h4><p>We wrote about Hohli earlier. This is a great tool for generating embeddable charts and graphs. Choose the type of chart, size, data and colors&#8211;Hohli does the rest.</p><h4><a
href="http://validifier.com/">Validifier</a> (Flash Embed Code Generator)</h4><p>A lot of the code generated by sites for embedding Flash content is not valid markup. Validifier turns Flash embed code into valid XHTML (using the <em>object</em> tag).</p><h4><a
href="http://www.genfavicon.com/">Genfavicon</a></h4><h4><a
href="http://www.genfavicon.com/"><img
class="aligncenter size-full wp-image-1954" title="genfavicon-hd" src="http://esdev.net/wp-content/uploads/2009/06/genfavicon-hd.png" alt="genfavicon-hd" width="560" height="130" /></a></h4><p>Generate favicons from GIF, JPG or PNG files in just 3 easy steps.</p><h4><a
href="http://favicon-generator.org">Favicon Generator</a></h4><p>Create favicons (ICO) for Internet Explorer from images (GIF, JPG, PNG).</p><h4><a
href="http://spritegen.website-performance.org">CSS Sprite Generator</a></h4><p>Improve your site&#8217;s performance. Upload images and the CSS Sprite Generator will create the code for your CSS sprites.</p><h3>What Online Tools Do You Use?</h3><p>Be sure to check out our <a
href="http://esdev.net/15-must-have-programs-and-services-for-freelancers/">15 Must-Have Programs and Services For Freelancers</a> for other great tools.</p><p>There are tons of online tools for web designers out there. Which ones do you use? Tell us in the comments.</p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/24-must-have-online-tools-for-web-designers/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Most Used XHTML Character Entities</title><link>http://esdev.net/most-used-xhtml-character-entities/</link> <comments>http://esdev.net/most-used-xhtml-character-entities/#comments</comments> <pubDate>Mon, 01 Jun 2009 11:00:09 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[web design]]></category> <category><![CDATA[code]]></category> <category><![CDATA[HTML]]></category> <category><![CDATA[typography]]></category><guid
isPermaLink="false">http://esdev.net/?p=1839</guid> <description><![CDATA[Many symbols have very different meanings in XHTML, even though they may look very similar to one another.
Some common mistakes are using &#8230; (3 periods) instead of the &#38;hellip; entity. Or using an x (letter x) instead of &#38;times; (multiplication symbol).
While WordPress users can use the Insert custom character tool when writing posts, having a [...]]]></description> <content:encoded><![CDATA[<p>Many symbols have very different meanings in XHTML, even though they may look very similar to one another.</p><p>Some common mistakes are using &#8230; (3 periods) instead of the <kbd>&amp;hellip;</kbd> entity. Or using an <em>x</em> (letter <em>x</em>) instead of <kbd>&amp;times;</kbd> (multiplication symbol).</p><p>While WordPress users can use the <em>Insert custom character</em> tool when writing posts, having a nice resource of all the character entities when coding a site can be a big help. It can also help cut down on validation errors (ampersand woes, anyone?).</p><blockquote><p>Here are 4 nice resources listing most/all the XHTML character entities.</p></blockquote><h3><a
href="http://www.digitalmediaminute.com/reference/entity/index.php">XHTML Character Entity Reference (Digital Media Minute)</a></h3><p>Contains all 252 allowed HTML 4 / XHTML 1.0 character entities. Entities can be filtered to show only characters in specific categories such as shapes and arrows, mathematical symbols, international entities, etc.</p><p>The list can also be printed out easily for use as a cheat sheet.</p><h3><a
href="http://entitycode.com/">Entity Code</a></h3><p>Entity Code shows the most common / most used entities and can be filters also to show only certain types (math, currency, etc) of character enties. This makes browsing and finding the right entity easy.</p><h3><a
href="http://www.webstandards.org/learn/reference/charts/entities/">Character Entities in HTML and XHTML (Web Standards Project)</a></h3><p>The <a
href="http://www.webstandards.org">Web Standards Project</a> has a set of very <a
href="http://www.webstandards.org/learn/reference/charts/entities/">accurate and complete resources for character entities</a>.</p><h3><a
href="http://www.cookwood.com/html/extras/entities.html">HTML XHTML Entities (Cookwood)</a></h3><p>Very detailed list of XHTML 1.0 and HTML 4 characters. Includes descriptions of each symbol.</p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/most-used-xhtml-character-entities/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Make Your Own Firefox and IE Search Bar Plugin</title><link>http://esdev.net/make-your-own-firefox-and-ie-search-bar-plugin/</link> <comments>http://esdev.net/make-your-own-firefox-and-ie-search-bar-plugin/#comments</comments> <pubDate>Mon, 27 Apr 2009 11:05:36 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[online tools]]></category> <category><![CDATA[web design]]></category> <category><![CDATA[browsers]]></category> <category><![CDATA[code]]></category> <category><![CDATA[Firefox]]></category> <category><![CDATA[IE]]></category> <category><![CDATA[tutorials]]></category><guid
isPermaLink="false">http://esdev.net/?p=1575</guid> <description><![CDATA[
If you haven&#8217;t noticed, I recently added an Es Developed search plugin to the site.
Now you can search all the web and graphic design posts on the Es Developed Blog right from your search bar in Firefox and Internet Explorer 7+.
We&#8217;re going to learn how to create your own custom OpenSearch search engine plugin for [...]]]></description> <content:encoded><![CDATA[<p><img
class="aligncenter size-full wp-image-1634" title="custom-search-plugin-hd" src="http://esdev.net/wp-content/uploads/2009/04/custom-search-plugin-hd.png" alt="custom-search-plugin-hd" width="560" height="130" /><br
/> If you haven&#8217;t noticed, I recently added an Es Developed search plugin to the site.</p><p>Now you can search all the web and graphic design posts on the <a
href="http://esdev.net/blog">Es Developed Blog</a> right from your search bar in Firefox and Internet Explorer 7+.</p><blockquote><p>We&#8217;re going to learn how to create your own custom OpenSearch search engine plugin for your site.</p></blockquote><p>The search plugin will work in both Firefox 2+ (including Firefox 3) and Internet Explorer 7+ (including IE8).</p><h3>OpenSearch and Your Site or Blog</h3><p><a
href="http://www.opensearch.org/Home">OpenSearch</a> is a collection of simple formats for the sharing of search results, created by <a
href="http://a9.com/">A9.com</a>.</p><p>In the context of your browser&#8217;s search bar you can use OpenSearch to help visitors find information on your site or blog even when they&#8217;re not currently at your website.</p><p>An OpenSearch plugin will work in both Firefox and Internet Explorer 7+.</p><h3>Online Search Plugin Generator</h3><p><img
class="alignleft size-full wp-image-1643" title="mycroft-screen" src="http://esdev.net/wp-content/uploads/2009/04/mycroft-screen.png" alt="mycroft-screen" width="225" height="125" />One of the simplest and fastest ways to create your own search plugin is to use <a
href="http://mycroft.mozdev.org/submitos.html">MozDev.org&#8217;s Mycroft Project Search Plugin Generation Tool</a>.</p><p>The tool is a relatively short form you fill out and it does all the heavy lifting for you.</p><p><span
id="more-1575"></span></p><p>You supply:</p><ul><li>Icon for use in the search bar of the browser (can be your site&#8217;s favicon)</li><li>Your details (used to register the plugin to you in the <a
href="http://mycroft.mozdev.org/search-engines.html">Mycroft database</a>)</li><li>Plugin name and description</li><li>Search URL</li><li>Category (where to place your generated plugin on the Mycroft database), plugin language, etc</li></ul><p>It&#8217;s a good idea to tick the &#8216;<em>Show full instructions?</em>&#8216; box at the top of the form. This explains the type information to place into each field. Most of what you need is explained.</p><p>If you need more information about what to put in each field, take a look at <a
href="https://developer.mozilla.org/en/Creating_OpenSearch_plugins_for_Firefox">Creating OpenSearch Plugins in Firefox</a>.</p><p>The code for the search plugin is generated. You can either copy and paste the code into a blank XML file on your computer (recommended), or you can just install it in Firefox and test it first.</p><p>Once you&#8217;re sure it works, you can submit it to the Mozilla/<a
href="http://mycroft.mozdev.org/search-engines.html">Mycroft search plugin database</a> using the same form.</p><h3>Linking the Search Plugin</h3><p>Now that you have the search plugin generated, you will want to provide a link to it in your website.</p><p>The easiest way is to copy the generated code from the Mycroft Search Plugin Generator and paste it into an XML file on your harddrive. Then upload the file to your site and link to it in your <em>&lt;head&gt;</em>:</p><pre><code>&lt;link type="application/opensearchdescription+xml" rel="search" title="searchTitle" href="pluginURL/fileName.xml" /&gt;
</code></pre><p
class="code_caption">This line of code allows your custom search plugin to be autodiscovered by browsers that support OpenSearch. Be sure to change &#8217;searchTitle&#8217; and &#8216;pluginURL/fileName.xml&#8217; to the actual values you want for your plugin.</p><h4>Automatic Updates in Firefox 3.1+</h4><p>Beginning with Firefox 3.1, OpenSearch plugins can be automatically updated. To support this, you need to add another line to the <em>&lt;head&gt;</em> section of your site as well:</p><pre><code>&lt;Url type="application/opensearchdescription+xml" rel="self" template="pluginURL/fileName.xml" /&gt;</code></pre><p
class="code_caption">Notice also the &#8216;rel=&#8221;self&#8221;&#8216;. Be sure to change &#8216;pluginURL/fileName.xml&#8217; to the actual URL of your plugin.</p><p>More info about automatic search plugin updates can be found here:</p><p><a
href="https://developer.mozilla.org/en/Creating_OpenSearch_plugins_for_Firefox">Mozilla Developer Center (Creating OpenSearch Plugins For Firefox)</a></p><h3>Works in Firefox and IE</h3><p>Even though you&#8217;re going through all the steps here using Mozilla&#8217;s site, the resulting search bar plugin is in OpenSearch format, so Internet Explorer 7 and 8 can use it as well.</p><h3>See the Plugin in Action</h3><p><img
class="alignleft size-full wp-image-1629" title="add-search-bar-screen" src="http://esdev.net/wp-content/uploads/2009/04/add-search-bar-screen.png" alt="add-search-bar-screen" width="225" height="125" /></p><p>If you&#8217;re using Firefox or IE 7+, you can see the search plugin that I made for this site in action.</p><p>Click on the dropdown on your browser&#8217;s search bar and select <em>Add &#8220;Es Developed Blog&#8221;</em>.</p><p>Add the Es Developed Blog Search plugin and give it a try.</p><p>You can search through our collection of web and graphic design:</p><ul><li> Tutorials</li><li>Articles</li><li>Online tool and services recommendations, and</li><li>Design inspiration and resources</li></ul> ]]></content:encoded> <wfw:commentRss>http://esdev.net/make-your-own-firefox-and-ie-search-bar-plugin/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>View Processed Javascript in Firefox and Chrome &#8211; No Plugins Required</title><link>http://esdev.net/view-processed-javascript-in-firefox-and-chrome-no-plugins-required/</link> <comments>http://esdev.net/view-processed-javascript-in-firefox-and-chrome-no-plugins-required/#comments</comments> <pubDate>Mon, 13 Apr 2009 11:00:25 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[web design]]></category> <category><![CDATA[browsers]]></category> <category><![CDATA[code]]></category> <category><![CDATA[Firefox]]></category> <category><![CDATA[javascript]]></category><guid
isPermaLink="false">http://esdev.net/?p=1529</guid> <description><![CDATA[
Here are 2 quick tips for Firefox and Google Chrome users that let you view the processed source code generated by a javascript snippet. Neither tip requires any plugins.
Situation
You need to insert a link to a video, form, etc into your site using embed code provided by another website and the embed code is only [...]]]></description> <content:encoded><![CDATA[<p><img
class="aligncenter size-full wp-image-1547" title="view-processed-javascript-firefox-chrome-hd" src="http://esdev.net/wp-content/uploads/2009/04/view-processed-javascript-firefox-chrome-hd.jpg" alt="view-processed-javascript-firefox-chrome-hd" width="560" height="130" /></p><p>Here are 2 quick tips for Firefox and Google Chrome users that let you view the processed source code generated by a javascript snippet. Neither tip requires any plugins.</p><h3>Situation</h3><p>You need to insert a link to a video, form, etc into your site using embed code provided by another website and the embed code is only javascript.</p><h3>Problem</h3><p><img
class="alignright size-full wp-image-1550" title="embed-video-screen" src="http://esdev.net/wp-content/uploads/2009/04/embed-video-screen.jpg" alt="embed-video-screen" width="200" height="300" />While many sites and online services are getting better at providing standards-compliant code to paste into your site, sometimes you have to make adjustments to their code so that your pages validate.</p><p>This is easy to fix if it&#8217;s plain, viewable source code. However, if the code is just javascript that writes the (X)HTML code to the page when run (or the javascript is encrypting the code), you can&#8217;t see what to fix.</p><p>If you add the javascript code to your page, open the page in your browser and <em>View Source</em>, you still only see the javascript as it appears <em>before</em> it&#8217;s processed. That doesn&#8217;t help at all.</p><p><span
id="more-1529"></span></p><h3>Firefox Solution</h3><p>The fastest way to view the code created by the javascript is to use Firefox&#8217;s <em>View Selection Source</em> instead:</p><ol><li>Paste the provided javascript into an XHTML page</li><li>Open the page in Firefox</li><li>Select the portion of the webpage in the general area that contains the javascript with your mouse</li><li>Right-click and choose <em>View Selection Source</em></li></ol><p><img
class="alignright size-full wp-image-1554" title="view-selection-source-screen" src="http://esdev.net/wp-content/uploads/2009/04/view-selection-source-screen.png" alt="view-selection-source-screen" width="200" height="78" />You should now see the source code that the javascript code rendered.</p><p>Then, you can copy and paste the actual code from <em>View Selection Source</em> and make your changes.</p><h3>Google Chrome Solution</h3><p>I haven&#8217;t forgotten about Google Chrome Users. The above solution doesn&#8217;t work for Chrome because it doesn&#8217;t have a <em>View Selection Source</em> option. We have to go about it another way.</p><p>Depending on what the javascript is designed to do and how it goes about that, you may be able to simply save the page as a file on your drive and open it in your editor.</p><p>In my test, the original javascript appeared, but below it was the code the javascript generated. You&#8217;ll probably have to do more digging around in your code, but if you copied your javascript into an otherwise blank webpage, it won&#8217;t a big deal.</p><h3>No Plugins Required</h3><p>The beauty of the above tips is that you don&#8217;t have to have any plugins or extensions installed in your browser to make them work.</p><h3>Other Browsers</h3><p>Safari and Internet Explorer don&#8217;t seem to be able to view processed javascript code without the use of plugins. At least not that I know about.</p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/view-processed-javascript-in-firefox-and-chrome-no-plugins-required/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>CSS-Based Layouts: 10 Steps For Success</title><link>http://esdev.net/css-based-layouts-10-steps-for-success/</link> <comments>http://esdev.net/css-based-layouts-10-steps-for-success/#comments</comments> <pubDate>Mon, 30 Mar 2009 11:00:32 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[web design]]></category> <category><![CDATA[code]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[HTML]]></category><guid
isPermaLink="false">http://esdev.net/?p=1423</guid> <description><![CDATA[
I know the title sounds like I&#8217;m trying to pimp weight-loss drugs or a phenomenal exercise routine, but I assure you I&#8217;m not.
Today, I&#8217;ll share 10 secrets basic steps I take when coding a site in CSS—steps that will hopefully get you thinking about your coding process.
The following assumes that you already know how to [...]]]></description> <content:encoded><![CDATA[<p><img
class="aligncenter size-full wp-image-1455" title="css-layouts-10-steps-hd" src="http://esdev.net/wp-content/uploads/2009/03/css-layouts-10-steps-hd.jpg" alt="css-layouts-10-steps-hd" width="560" height="130" /><br
/> I know the title sounds like I&#8217;m trying to pimp weight-loss drugs or a phenomenal exercise routine, but I assure you I&#8217;m not.</p><blockquote><p>Today, I&#8217;ll share 10 <span
style="text-decoration: line-through;">secrets</span> basic steps I take when coding a site in CSS—steps that will hopefully get you thinking about <em>your</em> coding process.</p></blockquote><p>The following assumes that you already know how to code valid XHTML and CSS.</p><p>This is in no way the only way—this is just how I generally go about it.</p><p><strong>10 basic steps I follow when creating a CSS-based site:</strong></p><ol><li>Finalize your design</li><li>Finish your XHTML before touching your CSS</li><li>Validate your code</li><li>Start with typography</li><li>Structure the main page elements</li><li>Start big and work your way down</li><li>&#8220;Finish&#8221; work</li><li>Test in IE</li><li>Fix inevitable IE bugs</li><li>Optimize your code and do final testing</li></ol><p><span
id="more-1423"></span></p><h3>1. finalize your design</h3><p><img
class="alignleft size-full wp-image-1436" title="dimensions-icon" src="http://esdev.net/wp-content/uploads/2009/03/dimensions-icon.png" alt="dimensions-icon" width="128" height="128" />This is probably the most important step in order to be productive. If you&#8217;re working with a client, make sure you get them to sign off on the project before you start coding the site.</p><p>Even seemingly small changes (from your client&#8217;s point of view) to the  layout may impact your code in a big way.</p><p>I keep a copy of the approved PSD design open in Photoshop. This serves as my reference and lets me grab dimensions and colors.</p><p>I also draw out a rough sketch of the layout on paper so I can jot down element dimensions, hex colors, etc. It also helps me visualize the different div&#8217;s I&#8217;ll need for my layout when I&#8217;m writing my HTML.</p><h3>2. Finish your HTML before touching your CSS</h3><div
id="attachment_1444" class="wp-caption alignleft" style="width: 138px"><a
title="Image Source" href="http://www.sxc.hu/photo/980234"><img
class="size-full wp-image-1444" src="http://esdev.net/wp-content/uploads/2009/03/cart-before-horse.jpg" alt="Don't put this before a horse" width="128" height="128" /></a><p
class="wp-caption-text">Don&#39;t put this before your horse.</p></div><p>Make sure you have all the sections and major (X)HTML code in place before even touching (or thinking about touching) your stylesheet.</p><p>Just like building a house, you have to have a solid foundation laid first. Make sure all your major page sections are accounted for, along with appropriate headings, paragraphs, etc.</p><p>It&#8217;s generally a good idea to keep the HTML structure as simple as possible—avoiding unnecessary div&#8217;s, for example.</p><h3>3. Validate your code</h3><p><img
class="alignleft size-full wp-image-1441" title="html-validate-icon2" src="http://esdev.net/wp-content/uploads/2009/03/html-validate-icon2.png" alt="html-validate-icon2" width="128" height="128" />If you&#8217;re building a house, you not only have to have a foundation first&#8211;it has to be level. Lots of problems later on can be avoided if you take the time to ensure your foundation is good.</p><p>Take the time to make sure your (X)HTML is valid and there are no mistakes. This can save you unnecessary aggro when you start styling.</p><p>I use the <a
href="https://addons.mozilla.org/en-US/firefox/addon/60">Web Developer add-on for Firefox</a> to quickly validate local HTML files.</p><p>Only after I&#8217;ve completed this, do I start on my CSS layout and styling.</p><h3>4. Start with typography</h3><p><a
title="Image Source" href="http://www.sxc.hu/photo/1090426"><img
class="alignleft size-full wp-image-1443" src="http://esdev.net/wp-content/uploads/2009/03/typography-letter.jpg" alt="typography-letter" width="128" height="128" /></a>Now it&#8217;s time to dig into the CSS.</p><p>I find it useful to first focus on a site&#8217;s typography: fonts, colors, line height, link styles, list styles, etc when the page is nearly a blank slate. Instead of having a bunch of page layout and sections with background colors, I like to start with the typography before moving on to the page structure.</p><p>A CSS reset (<a
href="http://meyerweb.com/eric/tools/css/reset/">Eric Meyer&#8217;s Reset CSS</a>, <a
href="http://developer.yahoo.com/yui/reset/">YUI Reset CSS</a>) can be very useful in these situations. They save lots of time writing code to undo default browser settings.</p><p>I prefer to use a slightly modified version of the one that comes with <a
href="http://projectdeploy.org/">Deploy</a>. Save a copy somewhere of your modified version so you can work from it on future projects.</p><h3>5. Structure the main page elements</h3><p>There are certain main elements most pages have:</p><ul><li>Header</li><li>Main content</li><li>Sidebar(s)</li><li>Footer</li></ul><p><img
class="alignleft size-full wp-image-1452" title="page-elements-icon" src="http://esdev.net/wp-content/uploads/2009/03/page-elements-icon.png" alt="page-elements-icon" width="128" height="128" />I like to take care of these sections first; centering the whole page, giving main elements dimensions, floating sidebars, and the like.</p><p><strong><em>Important</em></strong>: As you work on your CSS styles and especially layout, test in Firefox, Safari or Opera and adjust accordingly to make sure things look right in one of <em>those</em> browsers.</p><p>It&#8217;s also good to check your progress as you go in IE6, but always remember that IE6 will almost always be wrong. You can avoid huge issues in IE6 by fixing those bugs as you go.</p><h3>6. Start big and work your way down</h3><p><a
title="Image Source" href="http://www.sxc.hu/photo/453289"><img
class="alignleft size-full wp-image-1445" title="nesting-dolls" src="http://esdev.net/wp-content/uploads/2009/03/nesting-dolls.jpg" alt="nesting-dolls" width="148" height="124" /></a>Once the major parts of the page are laid out and positioned properly, I work my way down; working on the layout and styling of sub-elements and sections.</p><p>For instance, your header may contain other elements such as a logo, navigation or search field. With the header already sorted, you can start styling the layout of these other elements.</p><h3>7. &#8220;Finish&#8221; work</h3><p><img
class="alignleft size-full wp-image-1457" title="details-icon" src="http://esdev.net/wp-content/uploads/2009/03/details-icon.png" alt="details-icon" width="128" height="128" />&#8220;Finish&#8221; work, in the construction trade, are the fine details and finishing touches that are done toward the end of the project; like trim and molding, paint and so on.</p><p>In web design, I consider finish work to be the finishing touches like: image-replacement (for headings, etc), hover effects for links or navigation, and fine-tuning margins, padding and the like.</p><p>It&#8217;s also a good time to re-validate your code; including your CSS.</p><h3>8. Test in IE</h3><p><img
class="alignleft size-full wp-image-1447" title="test-in-ie-icon" src="http://esdev.net/wp-content/uploads/2009/03/test-in-ie-icon.jpg" alt="test-in-ie-icon" width="128" height="128" />Testing your site in Safari and/or Firefox will make sure your site looks good in 99% of the major browsers—except Internet Explorer. So you will need to test in IE 6/7.</p><p>Again, it can often save you some headaches by checking your page in IE6 every once in a while as you go along. However, in this step, I go back through and check all the IE-related bugs and issues.</p><p>Personally, I test in Firefox and IE6 all through the process; from layout on.</p><h3>9. Fix inevitable IE bugs</h3><p><img
class="alignleft size-full wp-image-1437" title="bugs-icon" src="http://esdev.net/wp-content/uploads/2009/03/bugs-icon.png" alt="bugs-icon" width="128" height="128" />The more you work with IE 6 and 7, the more you will start being able to foresee issues and know how to correct layout bugs more easily. However, let me tell you, there will <em>always</em> be something you will have to fix in IE 6 or 7. So fix the bugs and you can move on.</p><p>Now, I fix IE6 bugs (dropped floats, wonky margins, etc) with some special rules in a separate stylesheet.</p><h3>10. Optimize your code and do final testing</h3><p><img
class="alignleft size-full wp-image-1448" title="optimize-icon" src="http://esdev.net/wp-content/uploads/2009/03/optimize-icon.png" alt="optimize-icon" width="128" height="128" />There are <a
href="http://esdev.net/quick-and-dirty-css-shorthand-tips/">many ways to optimize your CSS code</a> in order the cut down on size&#8211;now&#8217;s a good time to do that.</p><p>Occasionally, when optimizing though, you may get carried away and accidentally remove an important bit or place a rule where another cancels it out. Make sure your pages still display correctly and then re-validate everything.</p><h3>Use what works for you</h3><p>Whether you use the above steps or not, take the time and think about how you code.</p><ul><li>Do I have a set routine that keeps me organized and focused?</li><li>Is the way I code efficient, or could it do with some streamlining?</li><li>Am I needlessly rewriting code that I could (re)use as a starting point on other projects?</li></ul><p>If there&#8217;s something you can change, great. If what you&#8217;re doing works great as is, that&#8217;s great too.</p><ul><li>Can you setup or modify an existing CSS reset of your own and use it to cut down time?</li><li>Can you use standard names for elements and consistently use them in every project?</li><li>Can you create your own list of steps and follow it on your next project?</li></ul><p><em>Bottom line</em>: Use what works for you and the way you work. If what you currently do doesn&#8217;t work, think about what you can do to improve it.</p><h3>Conclusion</h3><p>Again, this is not the only way to code a CSS design—just the way I do it. There are lots of web designers who code differently and many who probably do a better job of it than me.</p><p>What do you think?:</p><ul><li>What steps do you take when coding a CSS-layout?</li><li>How would you order the above steps so it works best for you?</li></ul> ]]></content:encoded> <wfw:commentRss>http://esdev.net/css-based-layouts-10-steps-for-success/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>WordPress Error: You do not have sufficient permissions to access this page</title><link>http://esdev.net/wordpress-error-you-do-not-have-sufficient-permissions-to-access-this-page/</link> <comments>http://esdev.net/wordpress-error-you-do-not-have-sufficient-permissions-to-access-this-page/#comments</comments> <pubDate>Mon, 16 Mar 2009 11:00:56 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[web design]]></category> <category><![CDATA[code]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://esdev.net/?p=1312</guid> <description><![CDATA[I ran across a WordPress error after moving a database from a local install (XAMPPlite) to a live server.
You do not have sufficient permissions to access this page
Now this was a puzzle. The kind of puzzle you don&#8217;t enjoy getting when you know everything should be working fine.
The following is my unfortunate tale and, while [...]]]></description> <content:encoded><![CDATA[<p><img
class="aligncenter size-full wp-image-1336" title="wp-insufficient-permissions" src="http://esdev.net/wp-content/uploads/2009/03/wp-insufficient-permissions-hd.png" alt="wp-insufficient-permissions" width="560" height="130" />I ran across a WordPress error after moving a database from a local install (XAMPPlite) to a live server.</p><blockquote><p>You do not have sufficient permissions to access this page</p></blockquote><p>Now this was a puzzle. The kind of puzzle you don&#8217;t enjoy getting when you know everything <em>should</em> be working fine.</p><p>The following is my unfortunate tale and, while the 1st part may not specifically apply to the above error, it has a bearing on the solution, so bear with me.</p><h3>The Setup</h3><p>Here are the steps I took up to the point of getting this error:</p><ol><li>Using the tutorials found <a
href="http://www.webdesignerwall.com/tutorials/exporting-and-importing-wordpress/">here</a> and <a
href="http://www.jestro.com/web-design/convert-local-wordpress-xampp-installation-into-live-site/">here</a>, I exported my local MySQL database, created a new database on the server (using Plesk)</li><li>Replaced all mentions of <em>localhost</em> in my exported SQL file with the actual address of the live site</li><li>Imported the local database into the newly created one</li><li>Made some adjustments to the <em>wp_options</em> table and others to make sure the URLs and paths were correct</li><li>Then I uploaded my WordPress files and edited my <em>wp-config.php</em> file and added the correct database info</li></ol><p>At that point, it should&#8217;ve worked. But it didn&#8217;t. I couldn&#8217;t even get a single page to load.</p><p><span
id="more-1312"></span></p><h3>Case Matters (Apparently)</h3><p><img
class="alignleft size-full wp-image-1342" title="case-matters-p-vs-p" src="http://esdev.net/wp-content/uploads/2009/03/case-matters-p-vs-p.png" alt="case-matters-p-vs-p" width="210" height="130" />When setting up WordPress on my local install via XAMPPlite, I used <em>wp311guP_</em> (obviously not exactly what I had, for obvious reasons) as the table prefix for WordPress instead of the standard prefix, for security reasons.</p><p>Come to find out, the table prefix had gotten changed ever so slightly when the database was created and setup with WordPress.</p><p><strong>Example (again, not the actual values I used, obviously ;) ):</strong></p><p>The <em>original</em> table prefix I had set: <em>wp311guP_</em></p><p>Table prefix <em>as it was recorded</em> by MySQL: <em>wp311gup_</em></p><p><strong><em>Notice</em></strong>: For some reason the last letter was changed from a capital <em>P</em> to a lowercase <em>p</em>. I haven&#8217;t been able to find any WordPress or MySQL documentation that mentions this, though I haven&#8217;t searched too deeply.</p><h4>Tables? We Don&#8217;t Need No Stinking Tables</h4><p>WordPress couldn&#8217;t get connected correctly to the database because it was looking for tables with a prefix that didn&#8217;t exist. I changed the table prefix to the lowercase version in <em>wp-config.php</em> because this was easier and faster that going through and replacing all the capital letters in my WordPress database.</p><p>Once I made my changes I could view the front page. Huzzah!</p><p>But sadly when I entered my login info, I got:</p><p><em>&#8220;You do not have sufficient permissions to access this page&#8221;</em></p><h3>A Solution</h3><p>After searching on Google for an answer, I found a post on <a
href="http://beconfused.com/2007/08/28/how-to-solve-you-do-not-have-sufficient-permissions-to-access-this-page-in-wordpress/">beconfused.com</a>.</p><p>The jist of the post is that he ran into similar problems. His problems were a result of <em>manually</em> changing the table prefix for security reasons. To fix things, he had to go into his database and change some of the values to fix the permissions error he was getting when logging in.</p><p>This wasn&#8217;t exactly what had happened to me, and yet it was the same basic issue.</p><p><a
href="http://beconfused.com/2007/08/28/how-to-solve-you-do-not-have-sufficient-permissions-to-access-this-page-in-wordpress/">Looking through his post though</a>, I checked my own database for:</p><ul><li> <em>wp_user_level</em></li><li> <em>wp_capabilities</em></li></ul><p>I noticed that even though everywhere else the table prefix had been changed to <em>wp311gup_</em> (lowercase <em>p</em>), in those sections it was still my original <em>wp311guP_</em> (uppercase <em>P</em>).</p><p>Anyhow, I searched and changed all the  uppercase versions of the table prefix to the lowercase version and it fixed my WordPress login permissions error.</p><h3>other Possibilities</h3><p>My above issue might not be why you&#8217;re getting the WordPress permissions error. If you&#8217;re getting that error, here are some other possibilities.</p><h4>No <em>.htaccess</em> File?</h4><p>If you&#8217;re receiving an permissions error, you may also want to <a
href="http://wordpress.org/support/topic/207269?replies=2#post-864909">check that you have <em>.htaccess</em> in your main WordPress directory</a>. This can also sometimes cause you problems.</p><h4>Upgrading Problems?</h4><p>If you&#8217;re upgrading from a previous version of WordPress and you get the permissions error, you might <a
href="http://markjaquith.wordpress.com/2006/03/28/wordpress-error-you-do-not-have-sufficient-permissions-to-access-this-page/">look at this solution</a>.</p><h3>The Conclusion</h3><p>If you&#8217;re going to use a different table prefix than the default (which you should for security reasons), you might want to steer clear of using capital letters in it. They may well be converted to lowercase in the majority of MySQL tables, yet the login tables may leave the capital letter(s) in tact and cause you grief.</p><p>Also, the lowercase/uppercase issue may only rear its ugly head once you go to put the site live—I never had a noticeable problem when testing using XAMPPlite.</p><p>I&#8217;m curious: Has anyone else run into this issue with table prefix characters changing?</p><p>Anyone else use uppercase characters in their WordPress tables?</p><p>Has anyone found mention of issues with uppercase characters in MySQL table prefixes?</p><p> <script type='text/javascript'>/*<![CDATA[*/var m3_u = (location.protocol=='https:'?'https://esdev.net/adserver/www/delivery/ajs.php':'http://esdev.net/adserver/www/delivery/ajs.php');
   var m3_r = Math.floor(Math.random()*99999999999);
   if (!document.MAX_used) document.MAX_used = ',';
   document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
   document.write ("?zoneid=7");
   document.write ('&amp;cb=' + m3_r);
   if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
   document.write ("&amp;loc=" + escape(window.location));
   if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
   if (document.context) document.write ("&context=" + escape(document.context));
   if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
   document.write ("'><\/scr"+"ipt>");
//]]&gt;/*]]>*/</script><noscript><a
href='http://esdev.net/adserver/www/delivery/ck.php?n=cbb2ed&amp;cb=a16b54747e18b425910a5d45e9daa0c6' target='_blank'><img
src='http://esdev.net/adserver/www/delivery/avw.php?zoneid=7&amp;cb=a16b54747e18b425910a5d45e9daa0c6&amp;n=cbb2ed' border='0' alt='' /></a></noscript></p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/wordpress-error-you-do-not-have-sufficient-permissions-to-access-this-page/feed/</wfw:commentRss> <slash:comments>14</slash:comments> </item> <item><title>Sort Events by Date in WordPress Using Custom Fields</title><link>http://esdev.net/sort-events-by-date-in-wordpress-using-custom-fields/</link> <comments>http://esdev.net/sort-events-by-date-in-wordpress-using-custom-fields/#comments</comments> <pubDate>Mon, 02 Mar 2009 18:19:20 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[web design]]></category> <category><![CDATA[code]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://esdev.net/?p=1236</guid> <description><![CDATA[On a recent client project, I was needing a way to order events based, not on the actual published date of the post, but rather by the date of the event in WordPress.
The solution I (finally) found involves sorting the posts in the Events category based on the value of a certain custom field.
Before finding [...]]]></description> <content:encoded><![CDATA[<p>On a recent client project, I was needing a way to order events based, not on the actual published date of the post, but rather by the date of the event in WordPress.</p><blockquote><p>The solution I (finally) found involves sorting the posts in the Events category based on the value of a certain custom field.</p></blockquote><p>Before finding the <a
href="#solution">solution</a> though, I tried several different ways to get events to show up, ordered from newest to oldest., but nothing I came across worked completely.</p><p><a
href="#solution">Skip ahead to the solution…</a></p><h3>What Didn&#8217;t Work</h3><p>In order to save some people who are looking into doing something similar, I&#8217;ll tell you what <em>didn&#8217;t</em> work for me. Some of the things mentioned here might work for your project, but it didn&#8217;t work for me.</p><h4>WordPress Plugins</h4><p>I started out trying not to reinvent the wheel and just go with a WordPress plugin. However, I couldn&#8217;t find anything that fully met my needs.<br
/> <span
id="more-1236"></span></p><h5>Calendar Plugins</h5><p>I tried using several calendar and event plugins to get the job done. These might work for you, but I needed to have each event have its own post page. This was because each event had a registration form for the individual events.</p><p>Most of the WordPress plugins I found, either didn&#8217;t allow linking to actual posts—they only showed a summary. Many of them used a non-WordPress system to store the details about the event. Some just didn&#8217;t work at all and gave errors.</p><h5>Event Plugins</h5><p>I had similar issues with WordPress event plugins as I did with the calendar plugins. They had their own system of storing events (not as posts) and many of them where too rigid as far as options.</p><h5>Future Post Plugins</h5><p>I also tried using a future post plugin to make it appear that posts that were scheduled for a future date (say the date of the event) were actually published.</p><p>All the plugins I found apply this to <em>all</em> posts in all categories with no way to control it. So if you ever scheduled <em>any</em> post in any category to publish later, it would be published immediately—not just your future events.</p><h4>Other WordPress code</h4><p>In the meantime, I tried different code offered on sites to help with this and some would work partially, while others would not.</p><p>One &#8220;solution&#8221; was to schedule the post to be published on the date of the event and then use some PHP/WordPress code to show all the posts tagged as future posts in a certain category.</p><p>I was excited about this and it looked like it was exactly what I wanted.</p><p>The flaw with this plan is that while it will show the future scheduled posts and they will be all in the correct chronological order on a page pulling in posts, you can&#8217;t actually view individual post unless you&#8217;re logged in as administrator. People not logged in will get a 404 File Not Found message when trying to view the full post. This is just the way WordPress is designed and I couldn&#8217;t find any workaround for this.</p><h3 id="solution">The Solution, Already</h3><p>I know, a lot of build up for the solution. Well, here it is.</p><h4>Part 1: Flutter Plugin and Custom Fields</h4><p><img
class="alignleft size-full wp-image-1238" title="Flutter" src="http://esdev.net/wp-content/uploads/2009/03/flutter.png" alt="Flutter" width="180" height="90" />I was already using a great plugin called <a
href="http://flutter.freshout.us/">Flutter</a>, which lets you create custom write panels and work with custom fields and all in a much more user-friendly way.</p><p>I created an Events write panel in Flutter and made an <em>event_date</em> custom field. I used this to display the date of each event instead of the published date of the post on my main Events page.</p><p>Flutter&#8217;s documentation is pretty sparse, and I could not get the sort by custom field to work using the code examples on their site, so…</p><h4>Part 2: Order Using a Custom Function</h4><p>Since the custom fields made by Flutter are just regular WordPress custom fields, we don&#8217;t have to use Flutter&#8217;s code to order them.</p><p>I found a great post and bit of code on <a
href="http://www.think-press.com">Think Press</a>&#8216; site:</p><p><a
href="http://www.think-press.com/tips/order-posts-by-custom-key-revisited">Order Posts by Custom Key Revisited</a></p><p>Take a look at the above bit of PHP code and make these adjustments:</p><ol><li>Wrap the code provided in <em>PHP</em> tags (see comments if you&#8217;re unsure how to do this)</li><li>Copy and paste that code into your <em>functions.php</em> file in your WordPress theme.</li><li>Adjust the <em>if</em> statement to match your page or category to your needs</li><li>Change to the custom field you want  to sort by on this line (change <em>&#8216;Price&#8217;</em> to your custom field):<pre style="font-family: monospace;">$where.= "AND $wpdb-&gt;postmeta.meta_key = 'Price' ";</pre></li></ol><p>This worked like a charm. All the events are ordered from newest to oldest—based on the event date, not the publish date. This also works on any custom field; not just those used in Flutter.</p><p> <script type='text/javascript'>/*<![CDATA[*/var m3_u = (location.protocol=='https:'?'https://esdev.net/adserver/www/delivery/ajs.php':'http://esdev.net/adserver/www/delivery/ajs.php');
   var m3_r = Math.floor(Math.random()*99999999999);
   if (!document.MAX_used) document.MAX_used = ',';
   document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
   document.write ("?zoneid=7");
   document.write ('&amp;cb=' + m3_r);
   if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
   document.write ("&amp;loc=" + escape(window.location));
   if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
   if (document.context) document.write ("&context=" + escape(document.context));
   if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
   document.write ("'><\/scr"+"ipt>");
//]]&gt;/*]]>*/</script><noscript><a
href='http://esdev.net/adserver/www/delivery/ck.php?n=8657ef&amp;cb=0495753de5843812bbdd4837e0432c53' target='_blank'><img
src='http://esdev.net/adserver/www/delivery/avw.php?zoneid=7&amp;cb=0495753de5843812bbdd4837e0432c53&amp;n=8657ef' border='0' alt='' /></a></noscript></p><h3>Recap</h3><p>Here&#8217;s a recap of my basic process:</p><ul><li>Created an Events category in WordPress</li><li>Used <a
href="http://flutter.freshout.us/">Flutter</a> to set up custom fields for the event date, time, etc</li><li>Set a custom single post template for posts in the Events category (to show event registration code)</li><li>Set up my Events page to pull in those posts</li><li>Added the <a
href="http://www.think-press.com/tips/order-posts-by-custom-key-revisited">code found at Think Press</a>&#8216; site to my theme&#8217;s <em>functions.php</em> file</li><li>Replaced the post publish date with the custom field for the event&#8217;s date in my templates</li></ul><p>Some of the above steps may not apply to your project, but hopefully this will save you some time when needing to sort by custom field in WordPress and when working with creating events.</p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/sort-events-by-date-in-wordpress-using-custom-fields/feed/</wfw:commentRss> <slash:comments>38</slash:comments> </item> <item><title>Built-in jQuery Support in ExpressionEngine 2.0</title><link>http://esdev.net/built-in-jquery-support-in-expressionengine-20/</link> <comments>http://esdev.net/built-in-jquery-support-in-expressionengine-20/#comments</comments> <pubDate>Mon, 19 Jan 2009 12:00:19 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[web design]]></category> <category><![CDATA[CMS]]></category> <category><![CDATA[code]]></category> <category><![CDATA[ExpressionEngine]]></category> <category><![CDATA[javascript]]></category><guid
isPermaLink="false">http://esdev.net/?p=1011</guid> <description><![CDATA[
The good folks at EllisLab have just reported some good news about the progress of ExpressionEngine 2.0. It seems that ExpressionEngine 2.0 has just achieved feature freeze. This means no new features are likely to be added to EE 2.0 before its final release.
More interesting news is that a new addition that will be included [...]]]></description> <content:encoded><![CDATA[<p><img
class="aligncenter size-medium wp-image-1018" title="ee-jquery-support-hd" src="http://esdev.net/wp-content/uploads/2009/01/ee-jquery-support-hd.png" alt="" width="560" height="130" /></p><p>The <a
title="EllisLab.com" href="http://ellislab.com">good folks at EllisLab</a> have just reported some <a
href="http://expressionengine.com/blog/entry/2.0_progess_update_lockdown/">good news about the progress of ExpressionEngine 2.0</a>. It seems that <a
title="ExpressionEngine.com" href="http://www.expressionengine.com/index.php?affiliate=esdev&amp;page=/overview/">ExpressionEngine</a> 2.0 has just achieved feature freeze. This means no new features are likely to be added to EE 2.0 before its final release.</p><p>More interesting news is that a new addition that will be included in all versions of ExpressionEngine 2.0—built-in <a
href="http://jquery.com/">jQuery</a> support.</p><h3>Built-In jQuery Support</h3><p>These questions get asked a lot: “How do you link to javascript in ExpressionEngine?” and “<a
href="http://esdev.net/javascript-speeding-up-page-loads-in-expressionengine/">What is the best way to link to javascript in ExpressionEngine?</a>”</p><p>Many wonder which way is best to link to external javascript files: link as an EE template file or link as an external, javascript file (.js) outside of a template?</p><p>With this latest news it looks like these questions won&#8217;t be much of an issue anymore (at least for those who use the jQuery library).</p><p>The ExpressionEngine jQuery module will be available in both Core and Licensed versions.</p><p><span
id="more-1011"></span></p><p>Leslie Camacho states in a <a
href="http://expressionengine.com/blog/entry/2.0_progess_update_lockdown/">recent post on the ExpressionEngine blog</a>:</p><blockquote><p>“The jQuery module will allow people to use jQuery and its plugins in their templates without worrying about the location of the jQuery files. This way developers have access to jQuery in a secure way from just about anywhere in EE’s template engine.”</p></blockquote><h3>CodeIgniter and jQuery</h3><p>There was a <a
href="http://expressionengine.com/blog/entry/expressionengine_20_fully_codeignited/">previous post about the new jQuery abilities in EE 2.0</a>. Since ExpressionEngine 2.0 is built on <a
href="http://codeigniter.com/">CodeIgniter</a>, this is going to be great for creating javascript functions.</p><p>Example:</p><pre><code>// Effect: fade a div into view
$this-&gt;javascript-&gt;fade_in("div");

// Event: set up a click to show a submenu
$this-&gt;javascript-&gt;click("#button",
    $this-&gt;javascript-&gt;hide(".submenu");
);

// Plugin: using a jQuery plugin
$this-&gt;jquery-&gt;tablesorter();
</code></pre><p><span
class="code_caption"><cite>Code example from <a
href="http://expressionengine.com/blog/entry/expressionengine_20_fully_codeignited/">ExpressionEngine 2.0: fully CodeIgnited!</a></cite></span></p><p>Personally, I&#8217;m excited to see the new EE, and the news of the addition of the built-in jQuery module just whets my appetite even more. I can&#8217;t wait to see how this is actually implemented.</p><p>Do you use jQuery as your javascript library of choice when working with ExpressionEngine? How do you think the added jQuery support will affect the way you code in ExpressionEngine and CodeIgniter? <a
title="Leave a comment" href="#postacomment">Tell us about it in our comments</a>.</p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/built-in-jquery-support-in-expressionengine-20/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Quick and Dirty: Speeding Up Page Load Times</title><link>http://esdev.net/quick-and-dirty-speeding-up-page-load-times/</link> <comments>http://esdev.net/quick-and-dirty-speeding-up-page-load-times/#comments</comments> <pubDate>Mon, 05 Jan 2009 15:54:37 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[web design]]></category> <category><![CDATA[code]]></category><guid
isPermaLink="false">http://esdev.net/?p=911</guid> <description><![CDATA[Photo by Ruud
In our previous Quick and Dirty posts, we looked at speeding up and optimizing various aspects of webpage code, whether this is CSS, PHP or just shortening the amount of time it takes to generate XHTML code.
Now in this final installment, we&#8217;re going to look at a way to optimize page load times [...]]]></description> <content:encoded><![CDATA[<p><img
class="aligncenter size-medium wp-image-914" title="qdt-speed-load-time-hd" src="http://esdev.net/wp-content/uploads/2009/01/qdt-speed-load-time-hd.jpg" alt="" width="560" height="130" /><span
class="article_caption"><a
href="http://www.flickr.com/photos/74249376@N00/349256308/">Photo by Ruud</a></span></p><p>In our previous Quick and Dirty posts, we looked at speeding up and optimizing various aspects of webpage code, whether this is <a
href="http://esdev.net/quick-and-dirty-css-shorthand-tips/">CSS</a>, <a
href="http://esdev.net/quick-and-dirty-optimizing-php-for-fun-and-profit/">PHP</a> or just <a
href="http://esdev.net/quick-and-dirty-lightning-fast-page-setup/">shortening the amount of time it takes to generate XHTML code</a>.</p><p>Now in this final installment, we&#8217;re going to look at a way to optimize page load times in general.</p><h3>Speeding Up Page Load Time</h3><p>There are many ways to improve the amount of time it takes for webpages to load. We&#8217;ve looked at <a
href="http://esdev.net/quick-and-dirty-css-shorthand-tips/">using CSS shorthand to reduce the file size of stylesheets</a> and how to <a
href="http://esdev.net/quick-and-dirty-optimizing-php-for-fun-and-profit/">write more efficient PHP code</a>. Combining these tips will help, but there&#8217;s a lot more that can be done to speed up your page loads.</p><h4 id="page-nav"><a
href="http://developer.yahoo.com/performance/rules.html">Yahoo&#8217;s Best Practices for Speeding Up Your Web Site</a></h4><p>Yahoo&#8217;s list of 34 best practices (broken into 7 categories) to make your website lightning fast:</p><ul><li>Minimizing HTTP requests</li><li>Use a content delivery network</li><li>Add cache control</li><li>Gzip components</li><li>Put stylesheets near the top of your code</li><li>Put scripts at the bottom</li><li>Avoid CSS expressions</li><li>Make javascript and CSS external</li><li>and more&#8230;</li></ul><p><span
id="more-911"></span></p><h4><a
href="http://www.die.net/musings/page_load_time/">Optimzing Page Load Time</a></h4><p>Contains an in-depth look at how to speed up not only the time your website takes to load, but also tips to speed up your browser so it can load pages you view quicker.</p><h4><a
href="http://developer.yahoo.com/yslow/">Speed Up Your Pages With YSlow</a></h4><p><a
href="http://developer.yahoo.com/yslow/">YSlow</a> is a Firefox extention that works with <a
href="http://www.getfirebug.com/">Firebug</a> to analyze your webpages and show why they are running slow.</p><h3>Did I Miss Any?</h3><p>Did I miss any great tips for speeding up your page loads? Tell us about it in our comments.</p><h3>The Quick and Dirty Series</h3><ul><li><a
href="http://esdev.net/quick-and-dirty-css-shorthand-tips/">CSS Shorthand Tips</a></li><li><a
href="http://esdev.net/quick-and-dirty-lightning-fast-page-setup/">Lightning Fast Page Setup</a></li><li><a
href="http://esdev.net/quick-and-dirty-optimizing-php-for-fun-and-profit/">Optimizing PHP Code (For Fun and Profit)</a></li><li>Speeding Up Page Load Time</li></ul><p><a
href="http://esdev.net/feed/">Subscribe to our RSS feed</a> and keep up-to-date on all of our great web and graphic design articles.</p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/quick-and-dirty-speeding-up-page-load-times/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Quick and Dirty: Optimizing PHP (For Fun and Profit)</title><link>http://esdev.net/quick-and-dirty-optimizing-php-for-fun-and-profit/</link> <comments>http://esdev.net/quick-and-dirty-optimizing-php-for-fun-and-profit/#comments</comments> <pubDate>Mon, 29 Dec 2008 12:00:42 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[web design]]></category> <category><![CDATA[code]]></category> <category><![CDATA[PHP]]></category><guid
isPermaLink="false">http://esdev.net/?p=884</guid> <description><![CDATA[
In the previous 2 weeks, we&#8217;ve looked at how to use CSS shorthand to reduce the size of your stylesheets, and how to speed up the development of HTML pages.
In this week&#8217;s quick and dirty set of tips, we&#8217;re going to look briefly at optimizing PHP code.
Increasing Site Performance In PHP
Unlike optimizing your CSS code, [...]]]></description> <content:encoded><![CDATA[<p><img
class="aligncenter size-medium wp-image-896" title="php-op-hd" src="http://esdev.net/wp-content/uploads/2008/12/php-op-hd.jpg" alt="" width="560" height="130" /></p><p>In the previous 2 weeks, we&#8217;ve looked at how to <a
href="http://esdev.net/quick-and-dirty-css-shorthand-tips/">use CSS shorthand to reduce the size of your stylesheets</a>, and <a
href="http://esdev.net/quick-and-dirty-lightning-fast-page-setup/">how to speed up the development of HTML pages</a>.</p><p>In this week&#8217;s quick and dirty set of tips, we&#8217;re going to look briefly at optimizing PHP code.</p><h3>Increasing Site Performance In PHP</h3><p>Unlike optimizing your CSS code, usually your main goal in optimizing PHP code is not to cut down on file size, but rather speed up the loading and performance of your pages.</p><p>Knowing the most efficient ways to get what you want accomplished in PHP can give your pages a boost as far as processing and loading speed.</p><p>Here are 3 tips to help you optimize your PHP code and make your pages load faster:</p><ol><li>If a method can be static, declare it static. Speed improvement is by a factor of 4.</li><li><em>echo</em> is faster than <em>print</em>.</li><li>Use echo&#8217;s multiple parameters instead of string concatenation.</li></ol><p
class="caption">Source: <a
href="http://reinholdweber.com/?p=3"><cite>Reinhold Weber</cite></a></p><p><a
href="http://reinholdweber.com/?p=3">Read all 40 PHP optimization tips</a></p><h3>Is It Worth Optimizing My Code?</h3><p>If you follow the above optimizations, just how much will these speed up your site?<br
/> <span
id="more-884"></span><br
/> When optimizing any type of code, it&#8217;s important to keep in mind that the time spent optimizing your code may be better spent if it&#8217;s only going to improve performance slightly.</p><p>Some of the tips listed above may not improve performance or speed enough to be worth the time invested in optimizing you PHP.</p><p><a
href="http://www.devolio.com">Devolio</a> has a great post (with graphs and charts and statistics) showing <a
href="http://www.devolio.com/blog/archives/314-Practical-and-impractical-PHP-Optimizations.html">which PHP optimization tips work, and how much impact these have on loading and performance speed</a>.</p><p><a
href="http://www.devolio.com/blog/archives/314-Practical-and-impractical-PHP-Optimizations.html">Practical (and Impractical) PHP Optimizations</a></p><p>As with optimizing in general, moderation is important. I don&#8217;t believe all the 40 optimization tips should be used, but there are several that can greatly improve your pages performance.</p><h3>More Quick and Dirty Tips</h3><ul><li><a
href="http://esdev.net/quick-and-dirty-css-shorthand-tips/">CSS Shorthand Tips</a></li><li><a
href="http://esdev.net/quick-and-dirty-lightning-fast-page-setup/">Lightning Fast Page Setup</a></li><li>Optimizing PHP Code (For Fun and Profit)</li></ul><p><a
href="http://esdev.net/feed/">Subscribe to our RSS feed</a> and look for new installments of Quick and Dirty Tips.</p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/quick-and-dirty-optimizing-php-for-fun-and-profit/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Quick and Dirty: Lightning Fast Page Setup</title><link>http://esdev.net/quick-and-dirty-lightning-fast-page-setup/</link> <comments>http://esdev.net/quick-and-dirty-lightning-fast-page-setup/#comments</comments> <pubDate>Mon, 22 Dec 2008 18:01:49 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[online tools]]></category> <category><![CDATA[web design]]></category> <category><![CDATA[code]]></category><guid
isPermaLink="false">http://esdev.net/?p=864</guid> <description><![CDATA[
Last week we learned how to save time and file size by using CSS shorthand in our CSS code. This week we&#8217;re looking at a tool to speed up creating your XHTML pages and files.
Each time you get ready to begin a site, you have to add certain things to each page:Document Type Declaration (DTD [...]]]></description> <content:encoded><![CDATA[<p><img
class="aligncenter size-medium wp-image-868" title="qdt-deploy-hd" src="http://esdev.net/wp-content/uploads/2008/12/qdt-deploy-hd.jpg" alt="" width="560" height="130" /></p><p>Last week we learned how to <a
href="http://esdev.net/quick-and-dirty-css-shorthand-tips/">save time and file size by using CSS shorthand</a> in our CSS code. This week we&#8217;re looking at a tool to speed up creating your XHTML pages and files.</p><p>Each time you get ready to begin a site, you have to add certain things to each page:</p><ul><li>Document Type Declaration (DTD &#8211; XHTML Strict, Transitional, etc)</li><li>Page encoding (UTF-8, etc)</li><li>Link your stylesheets (CSS)</li><li>Import/link your javascript library or choice</li></ul><p>You may also add folders in your work directory for:</p><ul><li>PHP includes</li><li>Images</li><li>Flash</li><li>etc</li></ul><p>All of these things are pretty standard. Even those these things are pretty straightforward, making a new file, or copying and pasting from a previous project can take up valuable time better spent on the meat of the site code.</p><h3>Generate Code With Deploy</h3><p>I&#8217;ve been using an online tool called <a
href="http://projectdeploy.org/">Deploy</a>. This gives you a dead-easy way of choosing your DOCTYPE, linking CSS, importing the jQuery library (and common plugins) and creating common file folders.</p><p>It then generates the code in a nice ZIP for easy download. You can also bookmark the page and regenerate the code again without having to choose the options all over again.</p><p><a
href="http://projectdeploy.org/">Project Deploy</a> is a great time-saving tool for any web designer.</p><h3>Other Quick and Dirty Tips</h3><ul><li><a
href="http://esdev.net/quick-and-dirty-css-shorthand-tips/">CSS Shorthand Tips</a></li><li>Lightning Fast Page Setup</li></ul><p><a
href="http://esdev.net/feed/">Subscribe to our RSS feed</a> and look for a new installment of Quick and Dirty Tips.</p> ]]></content:encoded> <wfw:commentRss>http://esdev.net/quick-and-dirty-lightning-fast-page-setup/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Quick and Dirty: CSS Shorthand Tips</title><link>http://esdev.net/quick-and-dirty-css-shorthand-tips/</link> <comments>http://esdev.net/quick-and-dirty-css-shorthand-tips/#comments</comments> <pubDate>Mon, 15 Dec 2008 12:01:09 +0000</pubDate> <dc:creator>Shawn</dc:creator> <category><![CDATA[web design]]></category> <category><![CDATA[code]]></category> <category><![CDATA[CSS]]></category><guid
isPermaLink="false">http://esdev.net/?p=825</guid> <description><![CDATA[
I&#8217;ve decided to provide some quick and dirty tips and code snippets over the next few weeks that are useful for beginners and good reminders for us that have been building websites for a while.
This first set of quick and dirty tips involves 4 CSS shorthand tips for shortening the amount of code you have [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: center;"><img
class="size-medium wp-image-855 aligncenter" title="qdt-css-shorthand-hd" src="http://esdev.net/wp-content/uploads/2008/12/qdt-css-shorthand-hd.jpg" alt="Quick and Dirty: CSS Shorthand" width="560" height="130" /></p><p>I&#8217;ve decided to provide some quick and dirty tips and code snippets over the next few weeks that are useful for beginners and good reminders for us that have been building websites for a while.</p><p>This first set of quick and dirty tips involves 4 CSS shorthand tips for shortening the amount of code you have to use, thus reducing the file size of your stylesheets:</p><ol><li>CSS colors</li><li>Remove units for zero values</li><li>Background colors and properties</li><li>Margins and padding</li></ol><h3>CSS Colors</h3><p>The most accurate way to define colors in CSS is to use the hexadecimal values. For example:</p><ul><li>#FFFFFF = white</li><li>#000000 = black</li><li>#CCFFFF = light blue</li></ul><p>We could just leave it at that, but if you use these values over and over again, it gets monotonous and adds extra bloat to your code that you don&#8217;t need.</p><p>Instead of using the 6 characters that make up a color in hex, we can shorten it to only 3 characters like so:</p><ul><li>#FFF = white</li><li>#000 = black</li><li>#CFF = light blue</li></ul><p>As you see, the hex values change, but the colors stay the same. To shorten the hex values, think of the color values as 3 pairs of characters (which is what they really are).</p><p><span
id="more-825"></span><br
/> <img
class="alignright size-medium wp-image-826" title="qtips-css-hex-pairs" src="http://esdev.net/wp-content/uploads/2008/12/qtips-css-hex-pairs.png" alt="CSS hex colors are divided into 3 pairs" width="300" height="36" /></p><p>If both letters/numbers in each pair are the same, you only need to use 1 of them. Do this for each pair and you will get a hex color that&#8217;s only 3 characters long (plus the #).</p><p>Note: This only works when <em>both</em> values in <em>every</em> hex pair are the same. The following examples can <em>not</em> be shortened:</p><ul><li>#3C3C3C</li><li>#3F3A2C</li><li>#CCFFF1</li></ul><h3>Zero = Zero</h3><p>This is one that&#8217;s overlooked by a lot of beginners. Zero is zero—no matter if you&#8217;re talking pixels, ems or percentages (0px, 0em, 0% = 0). There&#8217;s no need to include anything after a 0 (zero) value.</p><p>It&#8217;s all the same, so there&#8217;s no need to add the type of measure you&#8217;re using to zero values. This is a tiny thing maybe, but over a stylesheet, it can really reduce the file size.</p><h3>Defining Background Colors and Properties</h3><p>In CSS, you can define a rule for the background color of an element or class like this:</p><pre><code>#some-element { background-color: #FFF; }</code></pre><p>This works, but you can shorten this to simply:</p><pre><code>#some-element { background: #FFF; }</code></pre><p>You can also define other background properties such as a background image (and associated properties) all at once like so:</p><pre><code>#some-element { background: #FFF url(../images/go.png) 100% 100% no-repeat; }</code></pre><p
class="code_caption">This sets the background color to white (#FFF), assigns a background image (go.png), anchors it to the bottom right of the element (100% and 100%) and makes sure the background image doesn&#8217;t repeat.</p><h3>Margins and Padding</h3><p>The code to set margins and padding can be shortened in CSS as well.</p><p>Imagine we have an element that needs a margin on the right and bottom of 10px, while the top and left sides have no margin applied to them. We could setup a rule like this:</p><pre><code>
#callout {
	margin-top: 0;
	margin-right: 10px;
	margin-bottom: 10px;
	margin-left: 0;
	}
</code></pre><p>This gets the job done, but it&#8217;s terribly long-winded. We can shorten this dramatically by entering the values of each side as 1 set of 4 numbers:</p><pre><code>#callout { margin: 0 10px 10px 0; }</code></pre><p>Much shorter, eh? We removed all the separate definitions for each side and combined them into one string.</p><p>This works by thinking of each side like a clock. The order of numbers is clockwise: top, right, bottom, left. Each side&#8217;s value is separated by a space.<br
/> <a
href="http://www.flickr.com/photos/74249376@N00/349256308/"><img
class="size-medium wp-image-850 aligncenter" title="Clock photo by Ruud" src="http://esdev.net/wp-content/uploads/2008/12/clock.jpg" alt="Clock photo by Ruud" width="300" height="215" /><br
/> </a></p><p>We can also shorten margins and padding in other ways in some situations. If all the sides have the same amount of margin, you can use just one value:</p><pre><code>#callout { margin: 10px; }</code></pre><p
class="code_caption">In this example, all sides will get a 10px margin applied.</p><p>If the top and bottom margins are the same and the right and left sides are the same, you only need 2 values:</p><pre><code>#callout { margin: 10px 5px; }</code></pre><p
class="code_caption">Here, the top and bottom get 10px margins and the right and left sides get 5px.</p><p>Finally:</p><pre><code>#callout { margin: 10px 5px 20px; }</code></pre><p
class="code_caption">Here, the top gets 10px, the right and left get 5px and the bottom gets 20px. In this example, the final (4th) value doesn&#8217;t need to be defined as long as it&#8217;s the same as the right side &#8211; in this case 5px.</p><p>These shorthand tips apply to defining padding as well.</p><p>I hope you enjoyed these quick CSS shorthand tips. There are more ways to shorten your code, but this will get you started.</p><p>Look next week for more quick and dirty tips. <a
href="http://esdev.net/feed/">Subscribe to our RSS feed</a> to keep updated.</p><h3>Other Quick and Dirty Tips</h3><ul><li>CSS Shorthand Tips</li><li><a
href="http://esdev.net/quick-and-dirty-lightning-fast-page-setup/">Lightning Fast Page Setup</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://esdev.net/quick-and-dirty-css-shorthand-tips/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (user agent is rejected)
Database Caching 155/187 queries in 0.315 seconds using disk

Served from: esdev.net @ 2010-07-30 14:38:57 -->