<ul><li><strong>woo_addblog</strong> - false</li><li><strong>woo_ads_rotate</strong> - true</li><li><strong>woo_ad_image_1</strong> - http://www.woothemes.com/ads/woothemes-125x125-1.gif</li><li><strong>woo_ad_image_2</strong> - http://www.woothemes.com/ads/woothemes-125x125-2.gif</li><li><strong>woo_ad_image_3</strong> - http://www.woothemes.com/ads/woothemes-125x125-3.gif</li><li><strong>woo_ad_image_4</strong> - http://www.woothemes.com/ads/woothemes-125x125-4.gif</li><li><strong>woo_ad_url_1</strong> - http://www.woothemes.com</li><li><strong>woo_ad_url_2</strong> - http://www.woothemes.com</li><li><strong>woo_ad_url_3</strong> - http://www.woothemes.com</li><li><strong>woo_ad_url_4</strong> - http://www.woothemes.com</li><li><strong>woo_alt_stylesheet</strong> - custom.css</li><li><strong>woo_auto_img</strong> - false</li><li><strong>woo_blogcat</strong> - </li><li><strong>woo_blog_cat_id</strong> - </li><li><strong>woo_catmenu</strong> - false</li><li><strong>woo_custom_css</strong> - hr {
        size=\"1\"
}</li><li><strong>woo_custom_favicon</strong> - </li><li><strong>woo_ex_featpages</strong> - true</li><li><strong>woo_featheight</strong> - </li><li><strong>woo_featpages</strong> - 80, 214, 75, 216, 1718</li><li><strong>woo_feedburner_url</strong> - </li><li><strong>woo_google_analytics</strong> - <script type=\"text/javascript\">
var gaJsHost = ((\"https:\" == document.location.protocol) ? \"https://ssl.\" : \"http://www.\");
document.write(unescape(\"%3Cscript src=\'\" + gaJsHost + \"google-analytics.com/ga.js\' type=\'text/javascript\'%3E%3C/script%3E\"));
</script>

<script type=\"text/javascript\">

  var _gaq = _gaq || [];
  _gaq.push([\'_setAccount\', \'UA-31128339-1\']);
  _gaq.push([\'_trackPageview\']);

  (function() {
    var ga = document.createElement(\'script\'); ga.type = \'text/javascript\'; ga.async = true;
    ga.src = (\'https:\' == document.location.protocol ? \'https://ssl\' : \'http://www\') + \'.google-analytics.com/ga.js\';
    var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
<script type=\"text/javascript\">
try {
var pageTracker = _gat._getTracker(\"UA-3395956-23\");
pageTracker._trackPageview();
} catch(err) {}</script></li><li><strong>woo_image_height</strong> - 250</li><li><strong>woo_image_width</strong> - 390</li><li><strong>woo_intro</strong> - Clayworks is dedicated to the promotion and development of the ceramic arts.</li><li><strong>woo_logo</strong> - </li><li><strong>woo_manual</strong> - http://www.woothemes.com/theme-documentation/over-easy/</li><li><strong>woo_menupages</strong> - 1688, 1745</li><li><strong>woo_resize</strong> - true</li><li><strong>woo_shortname</strong> - woo</li><li><strong>woo_themename</strong> - Over Easy</li><li><strong>woo_the_content</strong> - true</li></ul>