<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
 <title>Andy Smart</title>
 <link href="http://andysmart.me/feed/" rel="self"/>
 <link href="http://andysmart.me/"/>
 <updated>2011-11-06T20:46:06+00:00</updated>
 <id>http://andysmart.me/</id>
 <author>
   <name>Andy Smart</name>
   <email>andy@andysmart.me</email>
 </author>


 <entry>
   <title>Ditching the CMS</title>
   <link href="http://andysmart.me/blog/ditching-the-cms"/>
   <updated>2011-10-05T00:00:00+01:00</updated>
   <id>http://andysmart.me/blog/ditching-the-cms</id>
   <content type="html">&lt;h2 id='my_portfolio_and_main_site_has_been_a_little_neglected_for_a_while_like_most_freelancers_client_work_always_takes_priority'&gt;My portfolio and main site has been a little neglected for a while, like most freelancers client work always takes priority.&lt;/h2&gt;

&lt;p&gt;During a break between two projects I seized the opportunity to look at my site, branding, copy and approach to work out where I wanted to take it. What you are seeing now is a result of that time.&lt;/p&gt;

&lt;p&gt;On the design front, I wanted a simple, content focused theme. I&amp;#8217;ve experimented with a bit more CSS3 than usual and it&amp;#8217;s fully responsive. Tweaking as I go.&lt;/p&gt;

&lt;h3 id='a_bit_of_history'&gt;A bit of history&lt;/h3&gt;

&lt;p&gt;My previous site, like a lot of sites, was based around a &lt;a href='http://wordpress.org' title='Wordpress'&gt;Wordpress&lt;/a&gt; CMS. Content management systems are great, they take the technical issues out of creating and publishing content and have allowed smaller businesses and publishers without an in-house web team to have a great online presence. Wordpress is easy to use and I&amp;#8217;ll still be recommending it for client projects going forward, however it&amp;#8217;s really unsuitable for me for a number of reasons:&lt;/p&gt;

&lt;h4 id='barriers'&gt;Barriers&lt;/h4&gt;

&lt;p&gt;Finding time to write new articles is hard for me, I&amp;#8217;m balancing client workloads, updates to my own apps on the store and a family life at the same time. I need as little barriers to create content as possible. When I create a new article, or update an existing page on my Wordpress blog I typically do the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fire up TextMate and get to work on the article, in plain text with a bit of HTML&lt;/li&gt;

&lt;li&gt;When I&amp;#8217;m done paste this into the Wordpress content area&lt;/li&gt;

&lt;li&gt;Set a few tags, and categories&lt;/li&gt;

&lt;li&gt;If I used images I&amp;#8217;ll insert these into the custom fields, after uploading them of course&lt;/li&gt;

&lt;li&gt;Preview&lt;/li&gt;

&lt;li&gt;Post&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If I wanted to do anything different with the layout of this post I&amp;#8217;d have to modify any templates that would be used, check for any glitches with the remaining templates and upload these via FTP.&lt;/p&gt;

&lt;p&gt;This is a pretty big workflow for me to simply publish my content in the way I see fit, especially as I&amp;#8217;d often like to experiment with text layout and styling on individual posts.&lt;/p&gt;

&lt;h4 id='bloat'&gt;Bloat&lt;/h4&gt;

&lt;p&gt;Wordpress comes packed with a tonne of features, most of which are awesome. However I use around 1% of these, I have no need for post scheduling nor an image gallery, and don&amp;#8217;t even get me started on WYSIWYG editors.&lt;/p&gt;

&lt;h4 id='source_control'&gt;Source Control&lt;/h4&gt;

&lt;p&gt;While my blog was always controlled via a Git repository, the database and it&amp;#8217;s content were not, I&amp;#8217;d love a system where &lt;em&gt;all&lt;/em&gt; of my content was under source control which I can access, update and deploy from any computer. I&amp;#8217;d love it even more if I could do the first two without the need for an Internet connection.&lt;/p&gt;

&lt;h4 id='speed'&gt;Speed&lt;/h4&gt;

&lt;p&gt;As Wordpress is backed by a database, there&amp;#8217;s a single point of failure. Yes there are a number of caching plugins but there&amp;#8217;s no replacement for serving static files that require no database interaction. And do I &lt;em&gt;really&lt;/em&gt; need a database?&lt;/p&gt;

&lt;h3 id='the_new_system'&gt;The New System&lt;/h3&gt;

&lt;p&gt;I&amp;#8217;d heard great things about &lt;a href='https://github.com/mojombo/jekyll/' title='Jekyll'&gt;Jekyll&lt;/a&gt; - the engine behind &lt;a href='http://github.com' title='GitHub'&gt;GitHub&lt;/a&gt;&amp;#8217;s pages system and set about familiarising myself with it.&lt;/p&gt;

&lt;p&gt;Jekyll is a &amp;#8220;blog aware static site generator&amp;#8221;, and while it&amp;#8217;s not suitable for anyone uncomfortable writing code and deploying sites, it&amp;#8217;s perfect for me.&lt;/p&gt;

&lt;p&gt;I won&amp;#8217;t go into detail about how exactly Jekyll works and it&amp;#8217;s setup but in essence you create articles using static &lt;a href='http://daringfireball.net/projects/markdown/syntax' title='Markdown'&gt;Markdown&lt;/a&gt; or even HTML if you choose, Jekyll then generates a completely static site from your files, taking permalinks from the title.&lt;/p&gt;

&lt;p&gt;You then create HTML templates and specify which template to use in each article&amp;#8217;s file.&lt;/p&gt;

&lt;p&gt;You can also specify variables in each file for use in the templates, looping through posts to display a &amp;#8220;blog&amp;#8221; page like you can see here and a whole load more.&lt;/p&gt;

&lt;h3 id='success'&gt;Success?&lt;/h3&gt;

&lt;p&gt;So far, it&amp;#8217;s working out great - I can update my blog using local system files, and push all of it up using a simple bash script, everything is stored in git for easy reverting and the site still &lt;em&gt;feels&lt;/em&gt; like it&amp;#8217;s powered by a CMS.&lt;/p&gt;</content>
 </entry>
 
 
</feed>
