<?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>The Troll-Range &#187; Wordpress</title>
	<atom:link href="http://blog.trollgod.org.uk/tag/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.trollgod.org.uk</link>
	<description>Ghworg&#039;s wibblings and geek projects.</description>
	<lastBuildDate>Mon, 26 Apr 2010 19:31:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>My top 10 WordPress plugins</title>
		<link>http://blog.trollgod.org.uk/2009/05/my-top-15-wordpress-plugins/</link>
		<comments>http://blog.trollgod.org.uk/2009/05/my-top-15-wordpress-plugins/#comments</comments>
		<pubDate>Sat, 09 May 2009 05:00:30 +0000</pubDate>
		<dc:creator>Ghworg</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://blog.trollgod.org.uk/?p=153</guid>
		<description><![CDATA[<p>The following are a list of plugins I either use, have used or plan to use in the future to improve this blog.</p> <p>In no particular order:</p> <p>Contact Form 7 &#8211; Just another contact form plugin. Simple but flexible. By Takayuki Miyoshi.</p> <p>Putting your email address on the web these days is just an <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.trollgod.org.uk/2009/05/my-top-15-wordpress-plugins/">My top 10 WordPress plugins</a></span>]]></description>
			<content:encoded><![CDATA[<p>The following are a list of plugins I either use, have used or plan to use in the future to improve this blog.</p>
<p>In no particular order:</p>
<ol>
<li>
<p><a href="http://wordpress.org/extend/plugins/contact-form-7/">Contact Form 7</a> &#8211; Just another contact form plugin. Simple but flexible. By <a href="http://ideasilo.wordpress.com/">Takayuki Miyoshi</a>.</p>
<p><em>Putting your email address on the web these days is just an invitation to be spammed to death, but it is nice for your readers to be able to contact you privately.  This is a nice contact form for that purpose.</em></p>
</li>
<li>
<p>
<a href="http://wordpress.org/extend/plugins/source-code-syntax-highlighting-plugin-for-wordpress/">Dean&#8217;s Code Highlighter</a> &#8211; This plugin using <a href="http://qbnz.com/highlighter/">Geshi</a> to highlight source code in your posts. . By <a href="http://www.deanlee.cn/">Dean Lee</a>.</p>
<p><em>If you ever put up source code snippets in your blog entries, it is far nicer to have the syntax highlighted as it is in a modern editor or IDE.  This plugin provides that.</em></p>
</li>
<li>
<p><a href="http://wordpress.org/extend/plugins/delicious-for-wordpress/">del.icio.us for WordPress</a> &#8211; Displays your recently listened links. Based on <a href="http://cavemonkey50.com/code/pownce/">Pownce for WordPress</a> by <a href="http://cavemonkey50.com/">Cavemonkey50</a>. By <a href="http://rick.jinlabs.com/">Ricardo González</a>.</p>
<p><em>Does exactly what it says on the tin.</em></p>
</li>
<li>
<p><a href="http://wordpress.org/extend/plugins/google-sitemap-generator/">Google XML Sitemaps</a> &#8211; This plugin will generate a sitemaps.org compatible sitemap of your WordPress blog which is supported by Ask.com, Google, MSN Search and YAHOO. By <a href="http://www.arnebrachhold.de/">Arne Brachhold</a>.</p>
<p><em>Improve your search rankings by giving the search engines more information about your site, totally automatically.</em></p>
</li>
<li>
<p><a href="http://wordpress.org/extend/plugins/sociable/">Sociable</a> &#8211; Automatically add links on your posts, pages and RSS feed to your favorite social bookmarking sites. By <a href="http://yoast.com/">Joost de Valk</a>.</p>
<p><em>Want to make it easy for readers to link your site into various social bookmarking sites.  This plugin covers pretty much all of them, including some that no longer exist. <img src='http://blog.trollgod.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </em></p>
</li>
<li>
<p><a href="http://wordpress.org/extend/plugins/twitter-tools/">Twitter Tools</a> &#8211; A complete integration between your WordPress blog and Twitter. Bring your tweets into your blog and pass your blog posts to Twitter. By <a href="http://alexking.org/">Alex King</a>.</p>
<p><em><strong>The</strong> plugin you need if you want twitter in your blog or vice-versa.</em></p>
</li>
<li>
<p><a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super Cache</a> &#8211; Very fast caching plugin for WordPress. By <a href="http://ocaoimh.ie/">Donncha O Caoimh</a>.</p>
<p><em>An essential plugin you need if your site is to have any hope of surviving a slashdotting, or even if you just want to improve performance for the ten people who visit your blog.</em></p>
</li>
<li>
<p><a href="http://www.bad-behavior.ioerror.us/">Bad Behavior</a> &#8211; Deny automated spambots access to your PHP-based Web site. By <a href="http://www.homelandstupidity.us/">Michael Hampton</a>.</p>
<p><em>Prevent 90% of the spambots out there from even attempting to post comment spam.</em></p>
</li>
<li>
<p><a href="http://wordpress.org/extend/plugins/openid/">OpenID</a> &#8211; Allows the use of OpenID for account registration, authentication, and commenting. Also includes an OpenID provider which can turn WordPress author URLs into OpenIDs. By <a href="http://diso-project.org/">DiSo Development Team</a>.</p>
<p><em>OpenID is what I hope will become the standard for online authentication, every site should support it.</em></p>
</li>
<li>
<p><a href="http://wordpress.org/extend/plugins/ozh-who-sees-ads/">Who Sees Ads</a> &#8211; An advanced ad management plugin that lets you decide who will see your ads, depending on user defined conditions.  By <a href="http://planetozh.com/">Ozh</a>.</p>
<p><em>Want to place ads on your site but don&#8217;t want to bother your regulars (who will likely never click on them anyway), then give this plugin a try and set it to only show ads to visitors who came to your site from a search engine.</em></p>
</li>
</ol>
<p>Hope these are useful.  If you use some wonderful plugin I haven&#8217;t mentioned then please tell me.  Adding more and more plugins until something breaks is what I do. <img src='http://blog.trollgod.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trollgod.org.uk/2009/05/my-top-15-wordpress-plugins/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Maintaining a WordPress install with git</title>
		<link>http://blog.trollgod.org.uk/2009/04/maintaining-a-wordpress-install-with-git/</link>
		<comments>http://blog.trollgod.org.uk/2009/04/maintaining-a-wordpress-install-with-git/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 06:00:37 +0000</pubDate>
		<dc:creator>Ghworg</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[versioncontrol]]></category>

		<guid isPermaLink="false">http://blog.trollgod.org.uk/?p=200</guid>
		<description><![CDATA[<p>A while ago I started tracking WordPress updates using Subversion. Instead of downloading the official release from the WordPress website I checked out the code from the stable branch of their Subversion repo. This made upgrading as simple as running &#8220;svn up&#8221; and I didn&#8217;t lose any modifications I had made to the code.</p> <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.trollgod.org.uk/2009/04/maintaining-a-wordpress-install-with-git/">Maintaining a WordPress install with git</a></span>]]></description>
			<content:encoded><![CDATA[<p>A while ago I started tracking <a href="http://wordpress.org/">WordPress</a> updates using <a href="http://subversion.tigris.org/">Subversion</a>.  Instead of downloading the official release from the <a href="http://wordpress.org/download/">WordPress website</a> I checked out the code from the stable branch of their <a href="http://wordpress.org/download/svn/">Subversion repo</a>.  This made upgrading as simple as running &#8220;svn up&#8221; and I didn&#8217;t lose any modifications I had made to the code.</p>
<p>While this worked very well it does have one big drawback, it means I can&#8217;t put the themes and plugins I use into version control since they are inside the official svn checked out dirs.</p>
<p>Recently I&#8217;ve been switching to <a href="http://git.or.cz/index.html">git</a> and thought that switching the WordPress install to git would solve this problem.  My first attempt was using the git-svn tool to convert the upstream subversion repo to a local git one.  This would have enabled something very similar to what I was doing before with the &#8220;svn up&#8221; command, one git-svn command would have updated the code to the latest version.</p>
<p>The problem with that idea is that the WordPress repo contains over 10,000 revisions.  Duplicating that via git-svn would have taken days and all I really need is the current version.  I looked for a while to see if there was a way to limit the number of revisions copied but apparently there isn&#8217;t.</p>
<p>So, I fall back to searching the web and I came across <a href="http://ianloic.com/2008/09/06/tracking-wordpress-using-git/">Tracking WordPress using Git</a>, which is pretty close to what I wanted.  It is a little bit more work to do the updates that way but not that much.</p>
<p>What I need though is an internal dev version of the site on one branch, the live site on another and the upstream code on a third.  Then I need to push the live branch to my web host, and I also need to be able to pull any emergency fixes I make direct on the live site back into my local git repos.  Pushing changes with git is a little tricky since a push doesn&#8217;t update the checked out files, but I found a helpful blog entry <a href="http://joemaller.com/2008/11/25/a-web-focused-git-workflow/">A web focused git work-flow</a>, which gives me exactly what I want.</p>
<p>The one remaining problem I have is I don&#8217;t completely understand how git merges work.  The internal dev branch and the live branch have some differences I don&#8217;t want merged, paths etc.  Whenever I try to merge the branches though it invariably automatically changes one branch to exactly match the other and auto-commits.  I&#8217;m sure git can do this, merge some changes but not others without manual intervention each time but I haven&#8217;t worked out how yet.</p>
<p>Okay, after a bit more time working with this setup it seems the problem is bi-directional merges.  Merging from dev to live works great right up until the point I do a merge from live to dev, at which point git seems to forget that there is some stuff that I don&#8217;t want merged next time I go from dev to live.  Preventing the auto-commit makes this manageable though, to do this you (confusingly) need to specify &#8220;&#8211;no-commit &#8211;no-ff&#8221;.  You&#8217;d think the no-commit would be enough on its own but apparently not.</p>
<p>So in my local copy I have 3 branches:</p>
<ul>
<li>master, the extracted WordPress tarball</li>
<li>internal, my internal development/test site</li>
<li>external, copy of the live site</li>
</ul>
<p>I have the following settings set on my local git repo (private details redacted) to make pushing changes easier, I don&#8217;t have to remember any parameters for the git push command.</p>
<pre>
branch.internal.remote=origin
branch.internal.merge=refs/heads/internal
remote.external.url=ssh://$USER@$HOST/~/$GIT_PATH
remote.external.fetch=+refs/heads/*:refs/remotes/external/*
branch.external.merge=external
branch.external.remote=external
</pre>
<p>Then on my web host I have the bare git repo at $GIT_PATH that gets pushed to, and the actual live site.  Both of those only have the external branch.</p>
<p>To update the live site all I need to do is make the changes on my local copy of the external branch, then run &#8220;git push&#8221;.  This sends the changes up to the bare repo, which then automatically updates the live site.</p>
<p>Then when a new version WordPress gets released, what I will do is</p>
<ol>
<li>Switch to the master branch.</li>
<li>Delete everything except the git dir.</li>
<li>Unpack the new files to replace the deleted ones.</li>
<li>Commit those to git and it will work out what has changed for that release.</li>
<li>Change to the other branches in turn and git merge from the master branch.</li>
</ol>
<p>This should update me to the latest release without losing any of my local themes, plugins or mods.</p>
<p>I could go one step further and create &#8220;upstream&#8221; branches for each plugin I use in a similar manner to the main upstream WordPress branch.  That would allow me to mod the plugins, and still upgrade them easily.  I&#8217;m not going to do that though (yet) as I think it would be more trouble than it is worth.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trollgod.org.uk/2009/04/maintaining-a-wordpress-install-with-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
