<?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>BigSmoke &#187; plugin</title>
	<atom:link href="http://blog.bigsmoke.us/tag/plugin/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.bigsmoke.us</link>
	<description>Smokes your problems, coughs fresh air.</description>
	<lastBuildDate>Sat, 04 Feb 2012 18:03:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Taking control of the wpautop filter</title>
		<link>http://blog.bigsmoke.us/2010/12/09/wpautop</link>
		<comments>http://blog.bigsmoke.us/2010/12/09/wpautop#comments</comments>
		<pubDate>Wed, 08 Dec 2010 22:14:59 +0000</pubDate>
		<dc:creator>Rowan Rodrik</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wpautop]]></category>
		<category><![CDATA[wpautop-control]]></category>

		<guid isPermaLink="false">http://blog.bigsmoke.us/?p=1108</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>WordPress does automatic paragraph formatting using the <a href="http://codex.wordpress.org/Function_Reference/wpautop"><tt>wpautop</tt></a> filter, some PHP code <a href="http://ma.tt/scripts/autop/">originally developed</a> by Matt Mullenweg. For most of the time that this blog has existed, I&#8217;ve disabled the <tt>wpautop</tt> filter  using the following two lines in my theme&#8217;s <tt>functions.php</tt> file:</p>

<pre class="php">remove_filter<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'the_content'</span>, <span style="color: #ff0000;">'wpautop'</span><span style="color: #66cc66;">&#41;</span>;
remove_filter<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'the_excerpt'</span>, <span style="color: #ff0000;">'wpautop'</span><span style="color: #66cc66;">&#41;</span>;</pre>

<p>I&#8217;m <a href="http://www.studiograsshopper.ch/code-snippets/wordpress-editor-disabling-wpautop/">not</a> the only one to do this. But, I&#8217;m tired of having to manually type <tt>&lt;p&gt;</tt>s for every paragraph in every post that I write.</p>

<p>I&#8217;d like to be able have it back on, but preferably a bit smarter so that you don&#8217;t get all that crap (also common on bulletin boards with empty paragraphs around undetected block-level elements, especially if these are non-standard, related to plugins.</p>

<p>At the very least I want to be able to turn it off for when it does annoy me, on these moments that I don&#8217;t want auto-anything. Also, I need this if I don&#8217;t want to break the nearly 300 posts that I formatted manually. So, I want to use a custom field to turn the filter on or off.</p>

<p>I found an <a href="http://wordpress.org/support/topic/202980">unpublished plugin</a> (unpublished in the sense that the source isn&#8217;t hosted somewhere proper such as <tt>wordpress.org/extend/plugins/</tt>) which does some of what I want in a somewhat messy unmaintained manner. After years of just entering those damn <tt>&lt;p&gt;</tt>s (and over a year since this draft was in the making), I decided to do my own plugin for post-by-post (<em>and</em> global) control of the <tt>wpautop</tt> filter. It&#8217;s called wpautop-control:</p>

<pre class="php"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #808080; font-style: italic;">/*
Plugin Name: wpautop-control
Plugin URI: http://blog.bigsmoke.us/tag/wpautop-control/
Description: This plugin allows you fine control of when and when not to enable the wpautop filter on posts.
Author: Rowan Rodrik van der Molen
Author URI: http://blog.bigsmoke.us/
Version: 1.0
*/</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> is_admin<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
  add_action<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'admin_menu'</span>, <span style="color: #ff0000;">'wpautop_control_menu'</span><span style="color: #66cc66;">&#41;</span>;
  add_action<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'admin_init'</span>, <span style="color: #ff0000;">'wpautop_control_settings'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
  <span style="color: #000000; font-weight: bold;">function</span> wpautop_control_menu<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    add_submenu_page<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'options-general.php'</span>, <span style="color: #ff0000;">'wpautop-control'</span>, <span style="color: #ff0000;">'wpautop control'</span>, <span style="color: #ff0000;">'manage_options'</span>, <span style="color: #ff0000;">'wpautop-control-menu'</span>, <span style="color: #ff0000;">'wpautop_control_options'</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">function</span> wpautop_control_options<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>!current_user_can<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'manage_options'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>  <span style="color: #66cc66;">&#123;</span>
      wp_die<span style="color: #66cc66;">&#40;</span> __<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'You do not have sufficient permissions to access this page.'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">?&gt;</span>
  &lt;div <span style="color: #000000; font-weight: bold;">class</span>=<span style="color: #ff0000;">&quot;wrap&quot;</span>&gt;
    &lt;h2&gt;wpautop control options&lt;/h2&gt;
&nbsp;
    &lt;form method=<span style="color: #ff0000;">&quot;post&quot;</span> action=<span style="color: #ff0000;">&quot;options.php&quot;</span>&gt;
      <span style="color: #000000; font-weight: bold;">&lt;?php</span> settings_fields<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'wpautop-control'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
      &lt;table <span style="color: #000000; font-weight: bold;">class</span>=<span style="color: #ff0000;">&quot;form-table&quot;</span>&gt;
        &lt;tr valign=<span style="color: #ff0000;">&quot;top&quot;</span>&gt;
          &lt;th scope=<span style="color: #ff0000;">&quot;row&quot;</span>&gt;wpautop filter on by <span style="color: #000000; font-weight: bold;">default</span>?&lt;/th&gt;
          &lt;td&gt;
            &lt;label&gt;&lt;input type=<span style="color: #ff0000;">&quot;radio&quot;</span> name=<span style="color: #ff0000;">&quot;wpautop_on_by_default&quot;</span> value=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> get_option<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'wpautop_on_by_default'</span><span style="color: #66cc66;">&#41;</span> == <span style="color: #ff0000;">'1'</span> <span style="color: #66cc66;">&#41;</span> <a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">'checked=&quot;1&quot;'</span> ?&gt;&gt; yes&lt;/label&gt;
            &lt;label&gt;&lt;input type=<span style="color: #ff0000;">&quot;radio&quot;</span> name=<span style="color: #ff0000;">&quot;wpautop_on_by_default&quot;</span> value=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> get_option<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'wpautop_on_by_default'</span><span style="color: #66cc66;">&#41;</span> == <span style="color: #ff0000;">'0'</span> <span style="color: #66cc66;">&#41;</span> <a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">'checked=&quot;1&quot;'</span> ?&gt;&gt; no&lt;/label&gt;
          &lt;/td&gt;
      &lt;/table&gt;
&nbsp;
      &lt;p <span style="color: #000000; font-weight: bold;">class</span>=<span style="color: #ff0000;">&quot;submit&quot;</span>&gt;
      &lt;input type=<span style="color: #ff0000;">&quot;submit&quot;</span> <span style="color: #000000; font-weight: bold;">class</span>=<span style="color: #ff0000;">&quot;button-primary&quot;</span> value=<span style="color: #ff0000;">&quot;Save Changes&quot;</span> /&gt;
      &lt;/p&gt;
    &lt;/form&gt;
  &lt;/div&gt;
  <span style="color: #000000; font-weight: bold;">&lt;?php</span>
  <span style="color: #66cc66;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">function</span> wpautop_control_settings<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    register_setting<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'wpautop-control'</span>, <span style="color: #ff0000;">'wpautop_on_by_default'</span>, <span style="color: #ff0000;">'intval'</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
<span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #808080; font-style: italic;">// ! is_admin()</span>
  add_filter<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'the_content'</span>, <span style="color: #ff0000;">'wpautop_control_filter'</span>, <span style="color: #cc66cc;">9</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
  <span style="color: #000000; font-weight: bold;">function</span> wpautop_control_filter<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$content</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <a href="http://www.php.net/global"><span style="color: #000066;">global</span></a> <span style="color: #0000ff;">$post</span>;
&nbsp;
    <span style="color: #808080; font-style: italic;">// Get the keys and values of the custom fields:</span>
    <span style="color: #0000ff;">$post_wpautop_value</span> = get_post_meta<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$post</span>-&gt;<span style="color: #006600;">ID</span>, <span style="color: #ff0000;">'wpautop'</span>, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #0000ff;">$default_wpautop_value</span> = get_option<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'wpautop_on_by_default'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #0000ff;">$remove_filter</span> = <span style="color: #000000; font-weight: bold;">false</span>;
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <a href="http://www.php.net/empty"><span style="color: #000066;">empty</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$post_wpautop_value</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>
      <span style="color: #0000ff;">$remove_filter</span> = ! <span style="color: #0000ff;">$default_wpautop_value</span>;
    <span style="color: #b1b100;">elseif</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$post_wpautop_value</span> == <span style="color: #ff0000;">'true'</span><span style="color: #66cc66;">&#41;</span>
      <span style="color: #0000ff;">$remove_filter</span> = <span style="color: #000000; font-weight: bold;">false</span>;
    <span style="color: #b1b100;">elseif</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$post_wpautop_value</span> == <span style="color: #ff0000;">'false'</span><span style="color: #66cc66;">&#41;</span>
      <span style="color: #0000ff;">$remove_filter</span> = <span style="color: #000000; font-weight: bold;">true</span>;
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$remove_filter</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
      remove_filter<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'the_content'</span>, <span style="color: #ff0000;">'wpautop'</span><span style="color: #66cc66;">&#41;</span>;
      remove_filter<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'the_excerpt'</span>, <span style="color: #ff0000;">'wpautop'</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$content</span>;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre>

<p>(I&#8217;ve requested the plugin to be <a href="http://wordpress.org/extend/plugins/wpautop-control/">added</a> to the <a href="http://wordpress.org/extend/plugins/">WordPress plugin repository</a>, so that it won&#8217;t have to be reinvented another 20 times in the next year or so.) <img src='http://blog.bigsmoke.us/wp-factory/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>

<p>After installing the plugin, you can choose whether to enable or disable wpautop by default. Then, for every post where you want to deviate from the default, you can set the wpautop custom field to ‘true’ or ‘false’.</p>

<p>I want the new default to be to enable the filter, but since all my old posts have been manually formatted, I want all these to have the wpautop field added and set to ‘false’.</p>

<p>Adding the appropriate custom field values to all existing posts is easy thanks to MySQL&#8217;s <tt><a href="http://dev.mysql.com/doc/refman/5.1/en/insert-select.html">INSERT … SELECT</a></tt> syntax:</p>

<pre class="mysql"><span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> wp_postmeta <span style="color: #66cc66;">&#40;</span>post_id, meta_key, meta_value<span style="color: #66cc66;">&#41;</span>
     <span style="color: #993333; font-weight: bold;">SELECT</span> wp_posts.ID, <span style="color: #ff0000;">'wpautop'</span>, <span style="color: #ff0000;">'false'</span>
       <span style="color: #993333; font-weight: bold;">FROM</span> wp_posts
      <span style="color: #993333; font-weight: bold;">WHERE</span> post_type = <span style="color: #ff0000;">'post'</span>;</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.bigsmoke.us/2010/12/09/wpautop/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress pretty pagination plugin</title>
		<link>http://blog.bigsmoke.us/2010/02/13/wp-page-numbers</link>
		<comments>http://blog.bigsmoke.us/2010/02/13/wp-page-numbers#comments</comments>
		<pubDate>Sat, 13 Feb 2010 20:00:08 +0000</pubDate>
		<dc:creator>Rowan Rodrik</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[pagination]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.bigsmoke.us/?p=1154</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>During the recent redesign of my blog, I decided that I wanted to have pretty pagination with numbers instead of the WordPress default <cite>Older/Newer Posts</cite> links. The plugin I decided to use was <a href="http://www.jenst.se/2008/03/29/wp-page-numbers">WP Page Numbers</a> by Jens Törnell.</p>

<p>This is how the pagination for page one of my home looks now:</p>

<p style="margin-left: 2em;"><img src="http://blog.bigsmoke.us/uploads/2010/02/wp-page-numbers-page1.png" alt="WP Page Numbers on page 1" title="WP Page Numbers on page 1" width="208" height="23" class="alignnone size-full wp-image-1242" /><p>

<p>For page six you can see more of what the plugin can do:</p>

<p style="margin-left: 2em;"><img src="http://blog.bigsmoke.us/uploads/2010/02/wp-page-numbers-page6.png" alt="WP Page Numbers on page 6" title="WP Page Numbers on page 6" width="314" height="23" class="alignnone size-full wp-image-1243" /></p>

<p>And finally…</p>

<p style="margin-left: 2em;"><img src="http://blog.bigsmoke.us/uploads/2010/02/wp-page-numbers-page20.png" alt="WP Page Numbers on page 20" title="WP Page Numbers on page 20" width="248" height="23" class="alignnone size-full wp-image-1244" /></p>

<p>Do I have twenty pages of posts already?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bigsmoke.us/2010/02/13/wp-page-numbers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AJAX comment preview for WordPress</title>
		<link>http://blog.bigsmoke.us/2010/01/30/ajax-comment-preview-for-wordpress</link>
		<comments>http://blog.bigsmoke.us/2010/01/30/ajax-comment-preview-for-wordpress#comments</comments>
		<pubDate>Sat, 30 Jan 2010 01:06:20 +0000</pubDate>
		<dc:creator>Rowan Rodrik</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.bigsmoke.us/?p=1056</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>Yesterday night, after <a href="http://blog.bigsmoke.us/2010/01/30/svn-merge-tracking">mucking around</a> with my Subversion repo for this blog for way too long, I finally stopped annoying the designer of my new theme and uploaded it, one and a half year after the <a href="http://blog.bigsmoke.us/2008/07/13/new-theme">last major redesign</a>. Anyway, while implementing the new design for the comment list , I decided it was time to have comment previews.</p>

<p>At some time, I had already installed (but not activated) the <a href="http://wordpress.org/extend/plugins/live-comment-preview/">Live Comment Preview</a> plugin, but that&#8217;s client-side only. I removed it because I want the comment to show as it would after being piped through all the hooks and filters that comments normally get piped through. Enter the <a href="http://wordpress.org/extend/plugins/ajax-comment-preview/">AJAX Comment Preview</a> plugin:</p>

<blockquote>
<p>Other preview plugins don&#8217;t know what sort of changes WordPress will make to a visitor&#8217;s comment, but this plugin uses AJAX and other buzzwords to send each previewed comment through WordPress&#8217; inner voodoo.</p>
<p>The result? With the click of a button, your site&#8217;s visitors can preview their comments exactly as they will appear when they submit them for realies.</p>
</blockquote>

<p>You just gotta love their phrasing. <img src='http://blog.bigsmoke.us/wp-factory/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Enjoy the new preview feature.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigsmoke.us/2010/01/30/ajax-comment-preview-for-wordpress/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finding a decent GeSHi plugin for WordPress</title>
		<link>http://blog.bigsmoke.us/2009/04/13/wordpress-geshi-plugin</link>
		<comments>http://blog.bigsmoke.us/2009/04/13/wordpress-geshi-plugin#comments</comments>
		<pubDate>Mon, 13 Apr 2009 14:03:59 +0000</pubDate>
		<dc:creator>Rowan Rodrik</dc:creator>
				<category><![CDATA[BigSmoke.US]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[BBCode]]></category>
		<category><![CDATA[GeSHi]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.bigsmoke.us/?p=310</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>I like <a href="http://qbnz.com/highlighter/">GeSHi</a> (enough even to have written a <a href="http://geshi.svn.sourceforge.net/viewvc/geshi/trunk/geshi-1.0.X/src/geshi/bnf.php">language file</a> for it). For ages now, I&#8217;ve used a WordPress plugin by Dan Peverill. But for as long as I&#8217;ve been using the plugin, I&#8217;ve been looking to get rid of it.</p>

<p>Dan Peverill&#8217;s GeSHI plugin sucks for two reasons:</p>
<ol>
  <li>It&#8217;s no longer being maintained. It doesn&#8217;t even seem to justify a page on Dan&#8217;s website anymore (for which reason I&#8217;m not going to give him any link-juice).</li>
  <li>It breaks HTML. With the plugin enabled I can no longer use the <tt>&lt;code&gt;</tt> tag to mark in-line elements as being <em>code</em>. Frankly, this is annoying and I find myself typing <tt>&lt;tt&gt;</tt> often when I mean <tt>&lt;code&gt;</tt>.</li>
</ol>

<p>A search for <a href="http://wordpress.org/extend/plugins/tags/geshi">WordPress plugins tagged <q>GeSHi</q></a> reveals a number of results:  <a href="http://wordpress.org/extend/plugins/sniplets/">Sniplets</a>, <a href="http://wordpress.org/extend/plugins/codecolorer/">CodeColorer</a>, <a href="http://wordpress.org/extend/plugins/devformatter/">Developer Formatter</a>, and <a href="http://wordpress.org/extend/plugins/wp-synhighlight/">WP-SynHighlight</a>. <a href="http://wordpress.org/extend/plugins/wp-syntax/">WP-Syntax</a> is a plugin that is missing from the tag search.</p>

<p><strong>Sniplets</strong> seems much too generic to my taste. I just want a GeSHi highlighter, period.</p>

<p><strong>CodeColorer</strong> says it does what I want, but if I ever want to use the TinyMCE editor again, I won&#8217;t be able to with this plugin. Shouldn&#8217;t be too much of a problem, but still&#8230;</p>

<p><strong>Developer Formatter</strong> is very thoroughly written and even sports a TinyMCE plug-in for copying/pasting the code. It is pretty big, though, and, as a rule, I tend to avoid plug-ins that complicate the database schema. I also don&#8217;t really see how these extra tables are an advantage feature-wise.</p>

<p><strong>WP-SynHighlight</strong> uses a custom BBCode-style tag, <tt>&#x5B;codesyntax]</tt> I like this (if you&#8217;re going to use pointy brackets, at least keep out of the HTML namespace), though I don&#8217;t like the attempt at a generic name; what&#8217;s wrong with calling the tag <tt>[geshi]</tt>? Seriously&#8230; I&#8217;m sure I&#8217;m going to forget this name billions of times if I&#8217;ll use this plug-in.</p>

<p><strong>WP-Syntax</strong> uses the <tt>&lt;pre&gt;</tt> tag with a few custom attributes. This at least is better than the <strong>officially inline</strong> <tt>&lt;code&gt;</tt> tag that my current plugin uses, because most of the time that I&#8217;d use a <tt>&lt;pre&gt;</tt> tag I really do want syntax highlighting. Just wondering: will it also allow my to use it normally for that other rare occasion? Sadly, the plugin <em>will</em> doubtlessly wreak havoc with the visual (TinyMCE) editor.</p>

<p>So, which plugin will I choose? I am somehow inclined to want a plugin that <em>can</em> play nice with the visual editor because I keep telling myself how much nicer it would be to switch to the visual editor for all my posting. (That this will be difficult because I disabled WP&#8217;s &#8216;<tt>wpautop</tt>&#8216; filter to rid myself of its eagerness is a story for some later time.) This requirement rules out CodeColorer and WP-Syntax.</p>

<p>That leaves Developer Formatter and WP-SynHighlight. Both seem to fit my purpose. Developer Formatter sports a nice TinyMCE plugin for inserting code, but I don&#8217;t think that switching to TinyMCE will suddenly and unexpectedly make me afraid of typing. Besides, I really don&#8217;t want the extra tables in my database without a very good reason, so, for now, I will try <a href="http://wordpress.org/extend/plugins/wp-synhighlight/">WP-SynHighlight</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigsmoke.us/2009/04/13/wordpress-geshi-plugin/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New theme</title>
		<link>http://blog.bigsmoke.us/2008/07/13/new-theme</link>
		<comments>http://blog.bigsmoke.us/2008/07/13/new-theme#comments</comments>
		<pubDate>Sun, 13 Jul 2008 15:26:45 +0000</pubDate>
		<dc:creator>Rowan Rodrik</dc:creator>
				<category><![CDATA[BigSmoke.US]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Gravatar]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.bigsmoke.us/?p=87</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>
After upgrading to WordPress 2.5.x, I had to fall back on a stock theme because my old customization of the <a href="http://www.plaintxt.org/themes/sandbox/">Sandbox</a> theme no longer worked with the upgrade. But, then, it was time to redo my theme anyway. So here you&#8217;re looking at the first version of my new theme. I might have let it stabilize some more before putting it on-line, but who cares? My reader maybe? Let&#8217;s just hope he or she doesn&#8217;t use IE. <img src='http://blog.bigsmoke.us/wp-factory/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>

<a title="The header with a single post below" href='http://blog.bigsmoke.us/uploads/2008/07/new-theme-cap1.jpg' rel='lightbox[theme]'><img src="http://blog.bigsmoke.us/uploads/2008/07/new-theme-cap1-300x193.jpg" alt="Screencap of my new WP theme" title="New WordPress theme for BigSmoke" width="300" height="193" class="alignright size-medium wp-image-89" /></a>

<a title="The oversized footer with all the site-wide navigation" href='http://blog.bigsmoke.us/uploads/2008/07/new-theme-cap4.jpg' rel='lightbox[theme]'><img src="http://blog.bigsmoke.us/uploads/2008/07/new-theme-cap4-300x201.jpg" alt="Screencap of my new WP theme" title="New WordPress theme for BigSmoke" width="300" height="201" class="alignright size-medium wp-image-92" /></a>

<a title="The box of relations below a single post with links to all kinds of lists at the left and some direct links to chronologically related posts" rel='lightbox[theme]' href='http://blog.bigsmoke.us/uploads/2008/07/new-theme-cap3.jpg'><img src="http://blog.bigsmoke.us/uploads/2008/07/new-theme-cap3-300x112.jpg" alt="Screencap of my new WP theme" title="New WordPress theme for BigSmoke" width="300" height="112" class="alignright size-medium wp-image-91" /></a>

<a title="This is how lists of posts look" href='http://blog.bigsmoke.us/uploads/2008/07/new-theme-cap5.jpg' rel='lightbox[theme]'><img src="http://blog.bigsmoke.us/uploads/2008/07/new-theme-cap5-300x207.jpg" alt="Screencap of my new WP theme" title="New WordPress theme for BigSmoke" width="300" height="207" class="alignright size-medium wp-image-93" /></a>

<a title="The bottom part of a single post with some comments below" href='http://blog.bigsmoke.us/uploads/2008/07/new-theme-cap2.jpg' rel='lightbox[theme]'><img src="http://blog.bigsmoke.us/uploads/2008/07/new-theme-cap2-300x193.jpg" alt="Screencap of my new WP theme" title="New WordPress theme for BigSmoke" width="300" height="193" class="alignright size-medium wp-image-90" /></a>

<h2>Vertical navigation</h2>

<p>Ever since the first time that I saw a blog which featured vertical navigation instead of the typical columns, I&#8217;ve wanted to implement this for myself. Well, finally&#8230;</p>

<p>Site-wide elements use the complete width of the page. The page content is centered in the middle at 87.5%.  The identity stuff in the header and the navigation in the footer sits against a back blackground while the content area has the proven black on white for easy reading. I hope that the strong color-contrast as well as the clear difference in with between site-wide elements and page content makes it easy to keep focused on either reading or navigating without distractions.</p>

<h2>&#8230; and a talkative footer</h2>

<p>With this theme, I didn&#8217;t want another footer which consist of the odd logo and some loose copyright statements. I wanted a footer which you can actually read, even understand. And who cares if it takes up a little space? It&#8217;s at the bottom of the page.</p>

<h2>Related posts</h2>

<p>I&#8217;ve written an (unpublished, unpolished) plug-in which can generate a list of posts that are chronologically related. Traditionally, most blogs have a next/previous post link at the top and bottom of each post. This works very well if you limit your blog to one subject (which is really a very good idea anyway), but if, like mine, your blog is a little bit messy, you could say that someone who stumbled here searching for an article about <a href="/tag/subversion">Subversion</a> is not necessarily interested in the next post if this is a <a href="http://blog.bigsmoke.us/2007/07/29/linde-smiling-the-most-amazing-smile">photo of my baby niece</a>.</p>


<p>Hence the chronologically related posts plugin. With this plugin I can say wether I want a link to the first, previous and next post in the blog, within the same category, or matching a given number of tags. (The tag matching isn&#8217;t implemented yet, though. Also, matching on meta fields would be a kick-ass ass way to support explicit sequences.)</p>

<p>I put the list generated by this plug-in on top of a blue background besides the various context links of the post.</p>

<h2>Issues left</h2>

<p>I hope to have the first major revision of my theme ready soon. Here&#8217;s a list of some issues that I might address:</p>

<ul>
<li>The CSS renders a bit psychedelically in MSIE 6 (only version I tested) at the moment. Sigh&#8230; Let&#8217;s just hope that IE 7 will give better results. Then I&#8217;ll gladly drop the IE 6 support.</li>
<li>When viewing a category, the tag cloud in the navigation panel at the bottom only shows tags for that category. This has to do with the use with me calling the <tt>st_tag_cloud()</tt> from within the category template.</li>
<li>Some of the elements that I just showed to you don&#8217;t really look that good and most elements that I <em>didn&#8217;t</em> can be said to be &#8230; hideously ugly. <img src='http://blog.bigsmoke.us/wp-factory/wp-includes/images/smilies/icon_confused.gif' alt=':-?' class='wp-smiley' />  Some highlights: the header (should really be a few cool images), the comment form, and the Next/Previous Page links.</li>
</ul>

<h2>Comment!</h2>

<p>I&#8217;d almost forget all about the clean, new look of the comment list. And, if you register a <a href="http://www.gravatar.com/">Gravatar</a>, your comments will be accompanied by your avatar. Try it. Please!</p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigsmoke.us/2008/07/13/new-theme/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Allowing dots in WordPress post slugs</title>
		<link>http://blog.bigsmoke.us/2007/05/30/dots-in-wordpress-post-slugs</link>
		<comments>http://blog.bigsmoke.us/2007/05/30/dots-in-wordpress-post-slugs#comments</comments>
		<pubDate>Tue, 29 May 2007 23:42:10 +0000</pubDate>
		<dc:creator>Rowan Rodrik</dc:creator>
				<category><![CDATA[BigSmoke.US]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[URL]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.bigsmoke.us/2007/05/30/dots-in-wordpress-post-slugs</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>I was once again annoyed by the fact that WordPress doesn&#8217;t allow dots in post slugs. Luckily, this time I hadn&#8217;t published the post with a botched URL yet. (I don&#8217;t like changing permalinks because they&#8217;re meant to be permanent; <a href="http://www.w3.org/Provider/Style/URI">cool URLs don&#8217;t change</a>.) A quick <a href="http://www.google.com/search?q=wordpress+dots+in+slugs">googling</a> pointed me to a <a href="http://wordpress.org/support/topic/91025">post</a> in the WordPress support forum with a reference to the <a href="http://txfx.net/code/wordpress/periods-in-titles/">Periods in Titles WordPress plugin</a>.</p>

<p>The plugin works great and allowed me to post <a href="/2007/05/30/jeroen-dekker.com">http:///2007/05/30/jeroen-dekker.com</a> with dots and without problems.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigsmoke.us/2007/05/30/dots-in-wordpress-post-slugs/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

