<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.12-alpha" -->
<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/"
	>

<channel>
	<title>Jeffrey Friedl's Blog</title>
	<link>http://regex.info/blog</link>
	<description>Not a photo blog, but sometimes I play one on TV</description>
	<pubDate>Fri, 05 Sep 2008 21:00:03 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.12-alpha</generator>
	<language>en</language>
			<item>
		<title>WordPress &#8220;File-based Posts&#8221; Plugin (v1.04)</title>
		<link>http://regex.info/blog/other-writings/wordpress-file-based-posts-plugin/</link>
		<comments>http://regex.info/blog/other-writings/wordpress-file-based-posts-plugin/#comments</comments>
		<pubDate>Thu, 15 Sep 2005 05:17:42 +0000</pubDate>
		<dc:creator>Jeffrey Friedl</dc:creator>
		
		<category>General</category>

		<guid isPermaLink="false">http://regex.info/blog/other-writings/wordpress-file-based-posts-plugin/</guid>
		<description><![CDATA[




Current Version: 1.04
(version history)Download:
file-based-posts.php
<br style='display:block;margin:5px'/>

I much prefer to compose and edit text with my favorite text editor, rather than in a
&#60;textarea&#62; box on a web page. Thus, I created the 'file-based posts' plugin
for WordPress, which allows you to
maintain the body of a post in a file on the local web-server host. Changes
to the file are reflected immediately on the blog site.



Executive Summary
 


   Install this plugin (download here and install as
       &#8220;file-based-posts.php&#8221; in your wp-content/plugins
       directory).

   On the newly-available &#8220;File-Based Posts&#8221; tab of the [...]]]></description>
			<content:encoded><![CDATA[




<table border="1" style="border: 1px solid blue" cellspacing="0"
cellpadding="5"><tr valign="baseline"><td align="center">Current Version: <b>1.04</b>
<br/><small>(<a href="#h">version history</a>)</small></td><td>Download:
<a
href="http://regex.info/file-based-posts.php">file-based-posts.php</a></td></tr></table>
<p>

I much prefer to compose and edit text with <a
href="http://www.gnu.org/software/emacs/emacs.html" style="text-decoration:
none; color: black">my favorite text editor</a>, rather than in a
<tt>&lt;textarea&gt;</tt> box on a web page. Thus, I created the <a
href="http://regex.info/file-based-posts.php">'file-based posts' plugin</a>
for <a href="http://wordpress.org">WordPress</a>, which allows you to
maintain the body of a post in a file on the local web-server host. Changes
to the file are reflected immediately on the blog site.

</p>

<h3>Executive Summary</h3>
<style type="text/css">
li { margin-bottom: 10px }
</style>
<ol>

  <li> Install this plugin (download <a
       href="http://regex.info/file-based-posts.php">here</a> and install as
       &#8220;<b>file-based-posts.php</b>&#8221; in your <b>wp-content/plugins</b>
       directory).</li>

  <li> On the newly-available &#8220;File-Based Posts&#8221; tab of the &#8220;Options&#8221; blog
       admin page, configure the directory in which post files will go.
       (Be sure the web server can read files in that directory.)</li>

  <li> In that directory, create a file containing the body content of your next post, say
       &#8220;<b>my-next-post.html</b>&#8221;. (The filename must end with
       <b>.html</b>, and may not contain slashes nor
       whitespace.)</li>

  <li> With WordPress's &#8220;Write Post&#8221; browser-based interface, enter the post's
       title, date, draft/public, etc., as you normally would. However, instead of putting
       the full body content in the big <tt>&lt;textarea&gt;</tt> box, simply put
       <nobr>&#8220;<b>FILE: my-next-post.html</b>&#8221;</nobr> in that box.</li>

  <li> That's it. You may edit the &#8220;my-next-post.html&#8221; file any
       time; changes are pulled in the next time the post is viewed.</li>
       </ol>
<p> Start over from step #3 for your next post or page (using a unique filename, of course).</p>


<h3>More Details</h3>


<p> After first installing this plugin (see step one above), visit the
Options admin page (&#8220;File-Based Posts&#8221; tab) to configure this plugin's
base-directory parameter (the directory in which you'll create and maintain
post-related files). From then on, as you create content with WordPress's
&#8220;Write Post&#8221; and &#8220;Write Page&#8221; browser-based interface, you have the option
of typing the full content in the <tt>&lt;textarea&gt;</tt> box as before,
or, you can simply refer to the file which contains the content (the file
having been previously created by you with your favorite text editor).

</p><p>

For example, you can create a file &#8220;<b>my-next-post.html</b>&#8221;
(the filename must end with &#8220;<b>.html</b>&#8221;), and enter the body
content of your post. You then use the normal WordPress mechanism to create
a post, but instead of typing the post body content in the big
<tt>&lt;textarea&gt;</tt> box, you need enter only
&#8220;<b>FILE:</b>&#8221; followed by the filename
(&#8220;<b>my-next-post.html</b>&#8221;). For example,</p>

<div style="border: 1px blue solid; width: 50%; margin-left: 4em; margin-top: 10px">
<tt>FILE: my-next-post.html</tt>
<p>&nbsp;</p>
</div>

<p>Be sure to fill in the title, date, visibility, etc., on the normal
WordPress &#8220;Write Post&#8221; page. Only the body content is in the file.

</p>

<h4>Updating A Post</h4>

<p>You may update the file at any time; any changes are reflected online
the next time the post is viewed. If you wish to update the post's title,
date, categories, custom fields, etc. (anything <i>except</i> the body), do
so as with any WordPress post or page, via the browser-based admin
interface.</p>

<h4>The Post's &#8220;edit&#8221; Page</h4>

<p>If you view the post's &#8220;edit&#8221; page in WordPress, you'll see something like:</p>

<div style="border: 1px blue solid; margin-left: 4em; margin-top: 10px">
FILE: file-based-posts.html
<br/>
<br/>&lt;!--
<br/>**********************************************************************
<br/>***
<br/>***&nbsp;&nbsp;E&nbsp;d&nbsp;i&nbsp;t&nbsp;&nbsp;&nbsp;t&nbsp;h&nbsp;i&nbsp;s&nbsp;&nbsp;&nbsp;p&nbsp;o&nbsp;s&nbsp;t&nbsp;'&nbsp;s&nbsp;&nbsp;&nbsp;b&nbsp;o&nbsp;d&nbsp;y&nbsp;&nbsp;&nbsp;i&nbsp;n&nbsp;&nbsp;&nbsp;t&nbsp;h&nbsp;e&nbsp;&nbsp;&nbsp;a&nbsp;b&nbsp;o&nbsp;v&nbsp;e&nbsp;-&nbsp;n&nbsp;a&nbsp;m&nbsp;e&nbsp;d
<br/>***&nbsp;&nbsp;f&nbsp;i&nbsp;l&nbsp;e&nbsp;,&nbsp;&nbsp;&nbsp;n&nbsp;o&nbsp;t&nbsp;&nbsp;&nbsp;h&nbsp;e&nbsp;r&nbsp;e&nbsp;&nbsp;&nbsp;i&nbsp;n&nbsp;&nbsp;&nbsp;W&nbsp;o&nbsp;r&nbsp;d&nbsp;P&nbsp;r&nbsp;e&nbsp;s&nbsp;s&nbsp;.
<br/>***
<br/>***&nbsp;&nbsp;A&nbsp;n&nbsp;y&nbsp;&nbsp;&nbsp;c&nbsp;h&nbsp;a&nbsp;n&nbsp;g&nbsp;e&nbsp;&nbsp;&nbsp;m&nbsp;a&nbsp;d&nbsp;e&nbsp;&nbsp;&nbsp;h&nbsp;e&nbsp;r&nbsp;e&nbsp;&nbsp;&nbsp;w&nbsp;i&nbsp;l&nbsp;l&nbsp;&nbsp;&nbsp;n&nbsp;o&nbsp;t&nbsp;&nbsp;&nbsp;b&nbsp;e&nbsp;&nbsp;&nbsp;s&nbsp;a&nbsp;v&nbsp;e&nbsp;d&nbsp;.
<br/>***
<br/>***&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;-&nbsp;&nbsp;&nbsp;t&nbsp;h&nbsp;e&nbsp;&nbsp;&nbsp;'&nbsp;f&nbsp;i&nbsp;l&nbsp;e&nbsp;-&nbsp;b&nbsp;a&nbsp;s&nbsp;e&nbsp;d&nbsp;&nbsp;&nbsp;p&nbsp;o&nbsp;s&nbsp;t&nbsp;s&nbsp;'&nbsp;&nbsp;&nbsp;p&nbsp;l&nbsp;u&nbsp;g&nbsp;i&nbsp;n
<br/>**********************************************************************
<br/>--&gt;
<br/>
&lt;p&gt;This is my next post blah blah blah....
<p>&nbsp;</p>
</div>

<p>The first line is the &#8220;FILE:&#8221; line you entered when the post was
created, followed by a warning (inserted by this plugin) that any changes
to the body content via this interface will be lost, since the body content
is refreshed from the file, if needed, each time the post is viewed.</p>


<p>Following the warning, the body content most-recently-pulled from the file
is shown.</p>

<h4>Reverting A Post From File-Based Back To Normal</h4>

<p>If you wish to move control of a post's body content from the file back
to WordPress's database, simply view the post's &#8220;edit&#8221; page and remove the
&#8220;FILE:&#8221; line (and the warning that this plugin added). What's left is the
post content most recently pulled from the file, and that's what will stay
in the database. The lack of a leading &#8220;FILE:&#8221; line means that this post
has now been disassociated from this plugin and associated files. You can
then safely go ahead and delete the file, if you wish, as it will no longer
be used.</p>


<h4>Backdoor Testing</h4>

<p>
Any content of the file within</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&lt;nopost&gt;&nbsp;&nbsp;.&nbsp;.&nbsp;.&nbsp;.&nbsp;.&nbsp;&nbsp; &lt;/nopost&gt;</p>

<p>tags is removed before what remains is used for the post. This can be
useful for &#8220;backdoor&#8221; testing of a page prior to posting.</p>

<p>If you choose to make your base directory one that's part of your web
server's document tree, you can view files you've written (or are in the
process of writing) as normal static web pages. I like to do this to
preview a post before I bother to integrate it with WordPress. However, in
order to get a more true rendition of what it'll look like once in my blog,
I need to include the style sheet link. I include that link within
<b>&lt;nopost&gt;</b> ... <b>&lt;/nopost&gt;</b> tags so that the extra
link doesn't actually become part of the post once I do integrate it with
WordPress. (I don't want to just remove the link prior to posting, since
I'd like to keep it there for when I test later edits.)

</p>

<h3>File Includes</h3>

<p>[ <b>This documentation is correct and up to date, but the documentation has expanded
    more quickly than my ability to organize it well, so my apologies for
    the disorganized presentation</b> ]</p>

<p>
You can include the contents of other files in your post file with the
<pre>
   &lt;fbp_include: <i>filename</i>&gt;
</pre>

directive. (The file is read from the same directory as other
file-based-post files)

</p><p>

You can see an example of where I've used this feature on my &#8220;Word
Power&#8221; posts, such as this <a
href="http://regex.info/blog/2005-10-27/90">&#8220;Word Power&#8221; on
financial words</a>. The upper-right list of posts in the red box is via an
include. Each &#8220;Word Power&#8221; post contains the same
<b>&lt;fbp_include:&nbsp;rd-all.html&gt;</b> directive: when I post a new
&#8220;Word Power&#8221;, I update the <b>rd-all.html</b> file to reference
it, and voila, all previous posts with the include now show the new post.
Spiffy!

</p><p>

As a guard against an infinitely-recursive include, there is a limit to how
deep the include nesting can go (currently <img src='http://regex.info/blog/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> , which is wildly larger than
will ever be needed, I think.

</p>

<h4>&#8220;Include-once&#8221; Directive</h4>
<p>

I also use the include feature to include advertisements by Yahoo!. This is
what I put in the post where I want the ads to appear:

<pre>
   &lt;fbp_include <b>once</b>: ADS.html&gt;
</pre>

Note the location of the colon -- it's easy to get in the wrong spot.
</p>

<p>The <b>ADS.html</b> file contains the call to Yahoo! to insert the ads.
I have only one such call per post, but some pages (such as the blog home
page) can display multiple posts. Since I don't want multiple ad calls, I
use the <b>once</b> attribute to have only the first include actually
happen.

</p><p>

The &#8220;abort if already included&#8221 check happens only with a
&lt;fbp_include&gt; that has the <b>once</b> attribute. Even after
including the file this way, a subsequent include without the <b>once</b>
attribute does actually include the file, since it wasn't told to check.

</p>
<h4>Including one from among a group of files</h4>
<p>

Let's say that some posts want ads on the right (via Ads-Right.html), on
the left (Ads-Left.html), or as a banner (Ads-Top.html). Even if these
files are included into each post with the <b>once</b> attribute, you'll
still get multiple includes when these includes are mixed and matched on
one page, since the filenames being included are distinct.

</p><p>

To solve this problem, you must tell each &lt;fbp_include&gt; that the file
being included is part of a group. This is done with the <b>radio</b>
attribute (think &lt;input type='radio'&#038;gt). Here's how the three includes
might appear:

<pre>
  &lt;fbp_include once radio=ads: Ads-Left.html&gt;
  &lt;fbp_include once radio=ads: Ads-Right.html&gt;
  &lt;fbp_include once radio=ads: Ads-Top.html&gt;
</pre>

The <b>radio=ads</b> tells the plugin to consider the name, for counting
purposes, to be &#8220;ads&#8221;. Thus, only the first of the three will
actually be included.

</p><p>

The order of attributes (in this case <b>radio=ads</b> and <b>once</b>) is
not relevant.

</p>
<h4>Passing along variables with the include</h4>
<p>

An included file may contain references such as
<pre>
    &lt;fbp_var: <i>name</i>&gt;
</pre>
or
<pre>
    &lt;fbp_var default='<i>value</i>': <i>name</i>&gt;
</pre>

These insert the value of the named variable, which itself had been set via
something like:

<pre>
   &lt;fbp_include once <b>set background = 'white'</b>: ADS.html&gt;
</pre>
</p>

Note that no variables exist until you create them in a
<b>&lt;fbp_include&gt;</b> directive.

<p>

Here's a snippet from <b>ADS.html</b>:

<div style="border: 1px blue solid; width: 80%; margin-left: 4em; margin-top: 10px">
<pre>
&lt;script language="JavaScript"&gt;&lt;!--<small>
   :
   :
</small>ctxt_ad_bg = '<b>&lt;fbp_var default='CDCDCD': background&gt;</b>';<small>
   :
   :
</small>// --&gt;&lt;/script&gt;
</pre>
</div>

</p><p>

The &lt;fbp_var&gt; directive is replaced by the value of the
<b>background</b> variable, which was set to &#8220;white&#8221; in the
above &lt;fbp_include&gt; example. If that variable hadn't been set (such
as by the simple call <b>&lt;fbp_include&nbsp;once:&nbsp;ADS.html&gt;</b>),
the default value <b>CDCDCD</b> is used. The <i>default</i> default is an
empty string.

</p><p>

You can also indicate that if a variable hasn't been set, use the value of
another variable (or the first from among a list of variables which has a
value). This is done with the <b>fallback</b> attribute, which contains a
comma-separated list of variable names. As a simple (contrived) example,
consider an include to display an image. It expects that the <b>url</b> and
<b>caption</b> variables be set, and, optionally, an <b>alt</b> variable
(for the alt text):

<style>
  .var { background: #DCDCDC }
</style>

<pre>
  &lt;img src="<span class=var>&lt;fbp_var: url&gt;</span>" alt="<span class=var>&lt;fbp_var <b>fallback='caption,url'</b>: alt&gt;</span>"&gt;
  &lt;br/&gt;
  <span class=var>&lt;fbp_var: caption&gt;</span>
</pre>

In the request of for the <b>alt</b> variable, the
<b>fallback='caption,url'</b> indicates that if <b>alt</b> has not been
given a value, use the <b>caption</b> variable (if it has a value), or the
<b>url</b> variable (if it has one).

</p><p>

If the requested variable has no value, and none of the fallback variables
has a value, the default (via the <b>default</b> attribute) is used, or if
no default, an empty string.

</p><p>

Regardless of how the value is derived, you can use the <b>doublequoted</b>
attribute to cause any double quotes in the value to be replaced by
&amp;quot;, which allows the value to be used within a doublequoted HTML
attribute or JavaScript string. (The <b>alt</b> variable reference in the
example above really should use this. You can use <b>singlequoted</b>
to have all single quotes replaced by &amp;#39;.

</p><p>

See <a href="http://regex.info/blog/2005-10-30/93">this post</a> for an
example which uses a lot of this stuff (the incorporation of <a
href="http://yq.search.yahoo.com/publisher/index.html">Y!Q</a> into my blog
prose).

</p><p>

You may have multiple <b>set</b> components to an include:

<pre>
   &lt;fbp_include once <b>set background = 'white', set foreground = "red"</b>: ADS.html&gt;
</pre>

Don't forget to repeat the &#8220;<b>set</b>&#8221; keyword for each
variable. The comma between the settings is optional, but helps make it
read more easily.

</p><p>

Currently, there's no way to set a variable outside of an
&lt;fbp_include&gt; directive, nor a way to clear variables. I can add
these features if there's a need for them.

</p>
<h4>Other Include Options</h4>
<p>

If you use the <b>raw</b> attribute with an include, the read file is
injected directly, without any parsing. (&lt;nopost&gt;, other includes,
and variable references, for example, are not recognized.)

</p><p>

The <b>cooked</b> include attribute is similar to <b>raw</b>, except that
the text is cooked for html ('&amp;' is replaced by '&amp;amp;', etc.).

</p><p>

The <b>uncounted</b> include attribute indicates that the file is
unconditionally included, but not counted as having been included (so that
a subsequent include of the same file with the <b>once</b> attribute does
succeed). The <b>uncounted</b> attribute is particularly useful with
<b>cooked</b>. (See <a href="http://regex.info/blog/2005-10-30/93">this
post</a> for an example.)

</p>
<h3>Debugging</h3>
<p>

There's a simple debugging mechanism built into this plugin. On the options
page for this plugin (where the posts directory is configured), you can set
the ID of the post you wish to debug. When that number is set and you view
the post while logged in as someone allowed to edit the post, you'll see at
the top various messages.

</p><p>

For example, consider my post on <a
href="http://regex.info/blog/2005-10-22/88">raising a bilingual child</a>,
which is post #88 of my blog, after having entered
&#8220;<tt>88</tt>&#8221; as the ID on the options page, I see the
following:

</p>

<div style="margin-left: 4em; margin-top: 10px">

  <div class="post_container" style="width: 95%">
      <div class="post_header">
        <div class="post_title">How To Raise a Bilingual Child</div>

        <div class="post_timestamp">
          <span class="post_date">October 22nd, 2005</span>
          <span class="post_time">5:38pm</span>
          <span class="post_tz">JST</span>
        </div>
      </div><div class="post_guts">
     <p>
     <small>

    [file-based-posts: about to inspect post #88 data in WordPress database]
    <br/>[file-based-posts: data begins:  <span style='background-color: #C0C0FF'><tt>FILE:<font color=red>&middot;</font>bilingual.html<font color=red>\n</font><font color=red>\n</font>&lt;!--<font color=red>\n</font>***********************</tt></span>
    <br/>[file-based-posts: fbp_process_one_file(level is 1, file is "/jfriedl/blog/posts/bilingual.html")]
    <br/>[file-based-posts: read 8972 bytes]
    <br/>[file-based-posts: include of 'ADS.html', option string 'once']
    <br/>[file-based-posts: include of ADS.html, option '<b>once</b>' has value '<b>1</b>']
    <br/>[file-based-posts: fbp_process_one_file(level is 2, file is "/jfriedl/blog/posts/ADS.html")]
    <br/>[file-based-posts: read 409 bytes]
    <br/>[file-based-posts: new content for level 2 is 409 bytes]
    <br/>[file-based-posts: new content for level 1 is 9100 bytes]
    <br/>[file-based-posts: content has not changed; leaving WordPress database as is]
    </small>
    <hr/>
    </p>
    <div class="img_right"><img src="http://regex.info/i/asmile.jpg" width="93" height="132"/></div>

    <p>

    <a href="http://pic.regex.info/anthony">Anthony</a> turns three years old
    tomorrow. He&#8217;s been talking up a storm for quite some time, but he&#8217;s behind
    other kids his age. It&#8217;s not something we&#8217;re concerned about because, if
    he&#8217;s got, say, 70% of the language skills as his peers, he&#8217;s really got
    140% of the skills (70% English + 70% Japanese). I know of other kids who
    have three or four languages &#8212; a kid&#8217;s brain is just amazing.
    </p><p>
    <i>blah blah blah.....</i>
    </p>
    <br clear="all"/>
    </div></div>
</div>

<p>

If you set the debug ID to <tt>-1</tt> (minus one), debugging is turned on
for all posts.

</p>

<h3>Issues To Be Aware Of</h3>

<ul>
  <li><p>When configuring the directory for post-related files, be sure that
       such files are editable by you, and readable by the web server.</p></li>

  <li> <p>File updates are incorporated when the blog content is viewed (such
       as by a user with a browser, or via a full-content RSS feed being pulled).
       This provides for one small &#8220;gotcha&#8221; which you should be aware of: edits to
       a post file do not become visible to WordPress's &#8220;Blog Search&#8221; feature
       until the related post has been viewed. In practice this is a minor nit, as
       you'll normally immediately view the post yourself to confirm that the
       changes look okay.</p></li>

  <li> <p>The &#8220;<b>FILE: my-next-post.html</b>&#8221; used to refer to each
       post's filename becomes part of the post's content with respect to
       WordPress's &#8220;Search&#8221; feature. Thus, for example, a user searching
       for &#8220;file html&#8221; would see <b>all</b> your file-based posts and not
       understand why.</p></li>

  <li><p> If the &#8220;FILE:&#8221; line suddenly appears at the top of a post (when
       viewing your blog as a reader would), it means that the post's file
       was not accessible (either because it's been moved or removed, or
       perhaps due to changed permissions). In such cases, the content that
       had been most recently read from the file (and hence most-recently
       saved in WordPress's database) is displayed, albeit along with the
       &#8220;FILE:&#8221; line. (There is a good argument to be made that the &#8220;FILE:&#8221;
       line should not be shown in this failure mode, but I choose to show
       it simply as an easily-seen indication that there <i>is</i> a
       failure.)</p>

       <p>To help debug why you see the &#8220;FILE:&#8221;, see the <b>debugging</b> section above.

  <li><p> The <a href="http://regex.info/blog">author</a> is not particularly familiar
       with WordPress's (convoluted and under-documented) internals.</p></li>

</ul>

<h3><a name="h">Version History</a></h3>

<table cellpadding="5" cellspacing="0" border="1">

<tr><th>Version</th><th>Release Date</th><th>Changes</th></tr>

<tr valign="baseline"><td>1.04</td><td>11-Nov-2005</td><td>Changed uses of &amp;apos; to &amp;#39;, since it seems
that IE doesn't support &amp;apos. Sighh.</td></tr>

<tr valign="baseline"><td>1.03</td><td>30-Oct-2005</td><td>Added the <b>radio</b>, <b>raw</b>, <b>cooked</b>, and <b>uncounted</b> attributes to &lt;fbp_include&gt;
<br/>
Added the <b>fallback</b>, <b>singlequoted</b>, and <b>doublequoted</b> attributes to &lt;fbp_var&gt;.

</td></tr>

<tr valign="baseline"><td>1.02</td><td>29-Oct-2005</td><td>Added &lt;fbp_include&gt; and &lt;fbp_var&gt; directives.
<br/>
Allowed a debugging id of <tt>-1</tt> to mean &#8220;debug all posts&#8221;
</td></tr>

<tr valign="baseline"><td>1.01</td><td>24-Sep-2005</td><td>Made debugging messages invisible except to logged-in users who are allowed to edit the post. That way, random readers don't see your debugging cruft.
</td></tr>

<tr valign="baseline"><td>1.00</td><td>15-Sep-2005</td><td>Initial release</td></tr>
</table>




<p>Feedback appreciated, via a comment below, or via <a href="mailto:
jfriedl(AT)yahoo.com">email</a>.</p>


]]></content:encoded>
			<wfw:commentRss>http://regex.info/blog/other-writings/wordpress-file-based-posts-plugin/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
