<?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>Ellis Web Development &#187; wordpress</title>
	<atom:link href="http://ellisweb.net/category/misc/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://ellisweb.net</link>
	<description>Thoughts, Articles &#38; Links on Programming &#38; Technology by Yaakov Ellis</description>
	<lastBuildDate>Tue, 15 Nov 2011 14:43:02 +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>Using SyntaxHighlighter to Format Code in WordPress</title>
		<link>http://ellisweb.net/2008/08/using-syntaxhighlighter-to-format-code-in-wordpress/</link>
		<comments>http://ellisweb.net/2008/08/using-syntaxhighlighter-to-format-code-in-wordpress/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 08:04:15 +0000</pubDate>
		<dc:creator>Yaakov Ellis</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[formatting]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[syntax]]></category>
		<category><![CDATA[syntaxhighlighter]]></category>

		<guid isPermaLink="false">http://ellisweb.net/?p=228</guid>
		<description><![CDATA[Based on a question in the StackOverflow beta site, I did some quick research into what are the best ways to perform syntax highlighting on code that is posted on blogs. Among the methods that were suggested (by myself or others): Hack together your own display logic to format it as you see fit Use [...]]]></description>
			<content:encoded><![CDATA[<p>Based on a <a href="http://beta.stackoverflow.com/questions/9051/what-is-best-blogging-host-for-programmerscode-formatting">question</a> in the StackOverflow beta site, I did some quick research into what are the best ways to perform syntax highlighting on code that is posted on blogs. Among the methods that were suggested (by myself or others):</p>
<ol>
<li>Hack together your own display logic to format it as you see fit</li>
<li>Use the <a href="http://code.google.com/p/syntaxhighlighter/">SyntaxHighlighter</a> JavaScript library</li>
<li>Use <a href="http://windowslivewriter.spaces.live.com/">Windows Live Writer</a> with the <a href="http://gallery.live.com/liveItemDetail.aspx?li=1f57bd9b-a692-4593-9e9e-e2962d9c0eee&amp;bt=9&amp;pl=8">Insert Code</a> plugin (I discuss that <a href="http://ellisweb.net/2007/11/trying-out-windows-live-writer/">here</a>)</li>
<li>For WordPress, use the <a href="http://wordpress.org/extend/plugins/wp-syntax/">WP-Syntax</a> plugin</li>
</ol>
<p>Coincidentally, I had heard Scott Hanselman talking about how he does code formatting just a couple of days ago, in <a href="http://hanselminutes.com/default.aspx?showID=143">Hanselminutes #125</a>, where he described how he posted code on his blog by putting it inside &lt;pre&gt;&lt;/pre&gt; tags, adding specific name and class attributes, and letting some JavaScript library do the formatting work. So I went to his blog, opened up a post with some code, and found my way to the <a href="http://code.google.com/p/syntaxhighlighter/">SyntaxHighlighter</a> JavaScript library. This is a very nifty library that handles formatting very nicely for a number of popular programming and scripting languages, and seemed to have a very easy implementation. So I decided to implement it for formatting code on my site.<br />
<span id="more-228"></span></p>
<p><strong>Installing SyntaxHighlighter</strong></p>
<p>The basic steps that you have to follow are:</p>
<ol>
<li>Download the <a href="http://code.google.com/p/syntaxhighlighter/downloads/list">files</a></li>
<li>Upload the core JavaScript files, any JavaScript files related to languages that you would want to format, the swf and css files to somewhere on your server</li>
<li>Add references in your code to the different files</li>
</ol>
<p>A very good and more detailed guide on how you can do this with your template can be found in this <a href="http://fahdshariff.blogspot.com/2008/07/syntax-highlighting-code-in-webpages.html">blog post</a> by Fahd Sharif.</p>
<p><strong>Displaying Code</strong></p>
<p>Once you have the script, swf and css references integrated with your theme, you can post code using the following convention:</p>
<pre class="html" name="code">&lt;pre name="code" class="langName"&gt;
Type your code here
&lt;/pre&gt;</pre>
<p>If you are doing this in WordPress, you will need to use the HTML editor to insert this. Language name reference is <a href="http://code.google.com/p/syntaxhighlighter/wiki/Languages">here</a>.</p>
<p>Here is what is looks like in action:</p>
<pre class="c#" name="code">public static class StringExtension {
  // Extension method to return first letter of a string
  public static string GetFirstLetter(this string str) {
    string val = (str.Length &gt; 0) ? str.SubString(0,1) : "";
    return val;
  }
}</pre>
<p><strong>Fixing TinyMCE</strong></p>
<p>After I first got this implemented in my theme, I had some problems getting it to work on actual blog posts. I would go to HTML mode in the editor, put in the &lt;pre name=&#8221;code&#8221; class=&#8221;lang&#8221;&gt;&#8230;&lt;/pre&gt; syntax, go back to the Visual editor and finish my post, preview it, and no formatting would be applied. After checking the HTML source being output, I noticed that the <em>name=&#8221;code&#8221; </em>attribute of the <em>pre </em>tag was not being output. After some more investigation, I discovered that this attribute was being stripped by the TinyMCE editor when I switched from HTML to Visual editing modes.</p>
<p>It turns out that TinyMCE has its own built-in HTML validation that it employs when text is loaded into the Visual editor. Included in this is the ability to strip out attributes that are for whatever reason not &#8220;approved&#8221;. Tag:Name seems to be one of those.</p>
<p>One potential workaround would be to only use the HTML editor. Though I could do this, I like the Visual editor better when writing.</p>
<p>The alternative is to change the list of approved attributes for the <em>pre</em> tag so that <em>name</em> will no longer be stripped. After researching this a bit (references: <a href="http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/extended_valid_elements">1</a>, <a href="http://wordpress.org/support/topic/180502?replies=2#post-775393">2</a>, <a href="http://wordpress.org/support/topic/156276?replies=17#post-774445">3</a>), I did the following:</p>
<ol>
<li>Open up /wp-includes/js/tinymce/tiny_mce_config.php</li>
<li>Go to approximately line 298</li>
<li>Make the following edit (what you are doing here is giving tinyMCE an explicit list of attributes that are acceptable for the <em>pre</em> tag):</li>
</ol>
<pre class="php:firstline[298]" name="code">// Original: $content .= $ext_plugins . 'tinyMCE.init({' . $mce_options . '});';
$content .= $ext_plugins . 'tinyMCE.init({extended_valid_elements : "pre[id|class|title|style|dir|lang|name|onclick|onkeypress]",' . $mce_options . '});';</pre>
<ol>
<li>Upload the new file</li>
<li>Clear your browser cache</li>
<li>Delete the /wp-content/uploads/js folder from the server</li>
<li>Do a hard-refresh of your editor page in WordPress</li>
</ol>
<p>You should now be able to toggle back and forth between HTML and Visual editor modes in WordPress without losing the pre:name attribute necessary for SyntaxHighlighter to work. You will have to repeat this whenever you upgrade WordPress.</p>
<p><strong>Why Not Just Use the Plugin</strong></p>
<p>WordPress junkies at this point are muttering to themselves: why go to all this trouble? There is already a <a href="http://wordpress.org/extend/plugins/syntaxhighlighter/">plugin</a> that implements SyntaxHighlighter functionality and spares you all of this hard work. Here are the reasons why I chose to do this the hard way:</p>
<ol>
<li>The plugin ditches the &lt;pre&gt; syntax for a custom syntax that looks like this: [sourcecode language="lang"]CODE GOES HERE[/sourcecode]. While this eliminates the pre:name stripping issue that I mentioned before, it introduces something that in my opinion is much worse: tinyMCE now gets rid of any spatial formatting that you are using. I like to indent my code when necessary. If I am typing in the <em>pre</em> tag, tinyMCE respects all of my spacing, and does not strip any of it out (that is the whole purpose of <a href="http://www.w3schools.com/TAGS/tag_pre.asp"><em>pre</em></a>. Thus, I can save all of my indenting and spacing without any difficulties. If you are using a custom bracketed tag like the plugin does, tinyMCE strips a good deal of indenting and spacing, leaving code that just looks ugly.</li>
<li>The aforementioned code formatting issues carry over to the RSS feed as well. This way just works better.</li>
<li>The plugin includes all language JavaScript files. I don&#8217;t need to print Ruby code right now &#8211; why should I have to include the JS for it with my page?</li>
<li>Doing the implementation yourself gives greater flexibility in terms of using the <a href="http://code.google.com/p/syntaxhighlighter/w/list">different configuration options</a> that are available with SyntaxHighlighter.</li>
<li>It is more fun this way</li>
</ol>
<p><strong>Update:</strong> Engfer <a href="http://www.engfers.com/2008/10/16/how-to-allow-stripped-element-attributes-in-wordpress-tinymce-editor/">lambasts me</a> for editing wordpress core files that will be overwritten whenever wordpress is upgraded. Instead, he created a wordpress plugin that will allow you to override and define the allowable attributes for any elements parsed by TinyMCE. It is available for download <a href="http://www.engfers.com/plugins/tinymce-valid-elements/">here</a> and is definitely a better way to go than manually editing files. Thanks!
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fellisweb.net%2F2008%2F08%2Fusing-syntaxhighlighter-to-format-code-in-wordpress%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fellisweb.net%2F2008%2F08%2Fusing-syntaxhighlighter-to-format-code-in-wordpress%2F&amp;source=yaakov&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://ellisweb.net/2008/08/using-syntaxhighlighter-to-format-code-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Trying out Windows Live Writer</title>
		<link>http://ellisweb.net/2007/11/trying-out-windows-live-writer/</link>
		<comments>http://ellisweb.net/2007/11/trying-out-windows-live-writer/#comments</comments>
		<pubDate>Wed, 14 Nov 2007 09:55:01 +0000</pubDate>
		<dc:creator>Yaakov Ellis</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[windows live writer]]></category>
		<category><![CDATA[word processing]]></category>

		<guid isPermaLink="false">http://ellisweb.net/2007/11/trying-out-windows-live-writer/</guid>
		<description><![CDATA[In honor of its officially coming out of beta, I decided to download and try out Windows Live Writer. Some of the features that attracted me are the ability to use one interface to publish on a number of different blogs at the same time, through a desktop client, without having to log in and [...]]]></description>
			<content:encoded><![CDATA[<p>In honor of its officially <a href="http://windowslivewriter.spaces.live.com/blog/cns!D85741BB5E0BE8AA!1442.entry">coming out of beta</a>, I decided to download and try out <a href="http://writer.live.com/">Windows Live Writer</a>.</p>
<p>Some of the features that attracted me are the ability to use one interface to publish on a number of different blogs at the same time, through a desktop client, without having to log in and out of different admin sites (I currently write or contribute to 4-5 different WordPress blogs with varying degrees of frequency, and the ability to post from one place makes it much easier to add content to different sites).</p>
<p>I was also curious to see how well Microsoft has gotten one of their products to interact with software of non-MS origin (and with PHP open source systems like WordPress). Compared with others, Microsoft very often seems to have a hard time opening up their products to others (just look at the new Live email vs. Gmail: Gmail lets you forward your email anywhere, and retrieve your email through any program using POP or IMAP, while Live email only lets you forward to an email address that is part of another Microsoft domain, like msn.com, hotmail.com, but other than that gives no options to extracting your email automatically outside of the Microsoft servers).</p>
<p>Here are some things worth noting so far:</p>
<p><strong>Download and Setup:</strong> Easy and painless. Install went quickly. I entered the url for my homepage, my username and password. The software automatically determined that I was using WordPress, downloaded theme information and set itself up. From when I clicked download, I was ready to write to my blog using Live Writer in less than 10 minutes.</p>
<p><strong>Web Preview: </strong><a href="http://ellisweb.net/wp-content/uploads/2007/11/ellisweb-livewriter.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px 10px 0px 0px; border-right-width: 0px" src="http://ellisweb.net/wp-content/uploads/2007/11/ellisweb-livewriter-thumb.jpg" border="0" alt="ellisweb-livewriter" width="244" height="238" align="left" /></a>A very handy feature, allowing you to preview your post within your current blog theme. It actually did a very decent job of rendering the post the way it should (judging by Firefox). (This is in Web Preview mode, giving you a read-only snapshot of how your page would look. The Web Layout view mode however did not work so well for me. From what I gather, this is supposed to let you compose your post inside your blog theme. In my case, it put the title of my post inside the header, making it impossible to see what I was typing.</p>
<p><strong>The Basic Stuff</strong>: Hyperlinks, pictures, trackbacks, basic editing functions &#8211; all of it works well, and is pretty easy to figure out. Though this is not something that will make a product shine in the market (even spell check is common nowadays, both in Firefox and WordPress), lack of these features (or a bad implementation) will kill a product from the get-go. (One WordPress caveat: although WLW includes native support for different tagging systems, it does not yet allow you to post tags to WordPress 2.3+. There are <a href="http://www.ruhanirabin.com/2007/09/29/wordpress-23-tag-support-for-windows-live-writer">workarounds</a> for this.)</p>
<p><strong>Plugins:</strong> Although WordPress features a very powerful plugin system, it is most often used to improve the output of your blog, not the UI for entering posts. WLW plugins on the other hand are all centered on helping you get different types of data easily into your posts. I see this (as well as the automatic connectivity to different blogging systems and accounts) as the feature that will make this product really stand out. So far I have installed two different plugins (automatically replacing text formatting methods that I had previously had to code into my template, css and html):</p>
<p><em><a href="http://gallery.live.com/liveItemDetail.aspx?li=1f57bd9b-a692-4593-9e9e-e2962d9c0eee&amp;bt=9&amp;pl=8">Insert Code</a></em>:</p>
<pre class="c#" name="code">public static string HelloWorld() {
  string s = "Hello World";
  return s.ToUpper();
}</pre>
<p>(Note: I first tried using the <a href="http://gallery.live.com/liveItemDetail.aspx?li=b516cc7b-cea9-497a-9d6e-f6fed9f72d29&amp;bt=9&amp;pl=8">Insert Source Code Snippet</a> plugin, but this was buggy and added a whole bunch of superfluous brackets. Afterwards I looked some more and found the <a href="http://gallery.live.com/liveItemDetail.aspx?li=1f57bd9b-a692-4593-9e9e-e2962d9c0eee&amp;bt=9&amp;pl=8">Insert Code</a> plugin by <a href="http://gallery.live.com/Author.aspx?a=5c64753d-9e22-4c66-8d74-82ddf444f240">shahineo</a> &#8211; easy to use and as you can see, produces some nice output).</p>
<p><em><a href="http://gallery.live.com/liveItemDetail.aspx?li=4f6354d2-a3fd-4e18-90ce-a253783350ab&amp;bt=9&amp;pl=8">Insert LTR Text</a>:</em></p>
<p dir="rtl" align="right">זה יעזור לי הרבה לכתוב בעברית בבלוג שלי</p>
<p>All things considered, I am pretty satisfied with my first experience using Windows Live Writer. If you are reading this, it means that the post was also successfully posted to my blog through the interface (yay!). I think that I will be making it my primary blogging platform over the next couple of months. Now, if only I could use this to post to Newsvine&#8230;
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fellisweb.net%2F2007%2F11%2Ftrying-out-windows-live-writer%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fellisweb.net%2F2007%2F11%2Ftrying-out-windows-live-writer%2F&amp;source=yaakov&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://ellisweb.net/2007/11/trying-out-windows-live-writer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a Customized Blog in 7 Easy Steps</title>
		<link>http://ellisweb.net/2007/05/setting-up-a-customized-blog-in-7-easy-steps/</link>
		<comments>http://ellisweb.net/2007/05/setting-up-a-customized-blog-in-7-easy-steps/#comments</comments>
		<pubDate>Tue, 29 May 2007 07:41:51 +0000</pubDate>
		<dc:creator>Yaakov Ellis</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[customization]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://ellisweb.net/2007/05/setting-up-a-customized-blog-in-7-easy-steps/</guid>
		<description><![CDATA[When a person chooses to create a new blog, there are two routes to choose from: you can use one of the popular hosted blogging services (like Blogger or WordPress.com) or you host the blog yourself. The first option is definitely the easiest &#8211; someone else worries about all of the blog setup, database issues [...]]]></description>
			<content:encoded><![CDATA[<p>When a person chooses to create a new blog, there are two routes to choose from: you can use one of the popular hosted blogging services (like <a href="https://www.blogger.com/">Blogger</a> or <a href="http://wordpress.com">WordPress.com</a>) or you host the blog yourself. The first option is definitely the easiest &#8211; someone else worries about all of the blog setup, database issues and hosting. You just put up the content. The second option however gives you more flexibility and control over the domain name, blogging software, plugins, advertising and template customization. However, when you set up the blog yourself, you become responsible for all aspects of its operation, a somewhat daunting proposition.</p>
<p>A couple of days ago I created a blog from scratch (<a href="http://telecommuterer.com">Telecommuter<em>er</em>.com</a>). I would like to review all of the different steps that went in to this. All told, it took about two hours to go from nothing to a fully functioning blog with initial content posted. Though it is more difficult than using a hosted blog service, I think that if you would like to use your blog for anything more than casual use and you are up to the task, in the end it is worth it to invest a little bit of time and money in setting up the blog by yourself.</p>
<p>I am assuming here that you already have the concept for the blog in place and a general idea of the types of content you would like to host. I will describe the process using blogging software from WordPress.org as I think it is the best free software available for the task (with easy setup, great plugin and community support).</p>
<ol>
<li><strong>Get a Domain Name</strong> &#8211; Get a domain name for your blog. I use <a href="http://godaddy.com">Go Daddy</a> for all of my domain name purchases (though there are thousands of other providers that can do the same for you). For Search Engine Optimization (SEO) reasons, the shorter the domain name, and the closer it is connected to the main topic of your site, the better. If your first choices are taken, there are several services that will take your keywords and return a list of available names that might be good, like <a href="http://www.domainsbot.com">DomainsBot</a>, <a href="http://domain-suggestions.domaintools.com/">DomainTools</a> and <a href="http://www.domainit.com/domain-suggest-tool.mhtml">DomainIt</a>.</li>
<li><strong>Set Up Hosting</strong> &#8211; Set up your hosting for the website. The main requirements are that that you use LAMP (Linux, Apache, MySQL, PHP) based hosting. There are thousands of services out there that will do this for less than $15 per month. If you are using a service that is not well known, I highly recommend checking out their reputation on the web before using them. I personally use MediaTemples <a href="http://www.mediatemple.net/webhosting/gs/">(gs) GridServer</a> service and <a href="http://www.dreamhost.com/r.cgi?169053">DreamHost</a> for my personal and client sites and would have no reservations recommending them to others.</li>
<li><strong>Connect Your Domain</strong> &#8211; Set up a new Website at your webhost (they should have instructions on how to do this). Your host will give you their NameServer (or DNS) information. (This normally takes the form of something like <em>ns1.hostname.com</em> and/or an IP address). Take this information and go to the site where you bought your domain. On this site, in your domain management, change the Nameservers (or DNS settings) of the domain name to that which was given to you by your Web Host. After you do this, your domain name will now be connected to your website that is hosted on the servers of your Web Host.</li>
<li><strong>Install WordPress</strong> &#8211; Many hosting services have tools that will do this automatically via server-side scripting. If that is available and they offer it with the most recent version of WordPress (currently 2.2), go for it. Otherwise, you can do it yourself in a few easy steps
<ol>
<li><a href="http://wordpress.org/download/">Download</a> the most recent version of WordPress</li>
<li>Extract the files from the zip or tar.gz file onto your computer. Upload them to your web host servers using FTP</li>
<li>Using phpMyAdmin or whatever other database control interface your web host provides, set up a new mySql database for your site.</li>
<li>Follow the rest of the instructions on the WordPress <a href="http://codex.wordpress.org/Installing_WordPress#Famous_5-Minute_Install">5 Minute Install</a> page (it really does take just five minutes)</li>
</ol>
<p>After going to the <em>/wp-admin/install.php</em> page on your site and following the instructions there, you should have a working WordPress blog set up on your domain name with the default template in place (and absolutely no content). Log into your admin section (you may want to bookmark the page at <em>/wp-admin/</em> on your site), go to the Options section (and its different subsections) to set up your blog  settings as you would like (don&#8217;t forget to set <a href="http://codex.wordpress.org/Using_Permalinks">Permalinks </a>if you have the capability and want to use them to create nice-looking urls for your posts.</p>
<p>Now the real fun begins.</li>
<li><strong>Set Up the Theme</strong> &#8211; If you are a real web-design pro and an expert with WordPress who can design their own theme from scratch, this doesn&#8217;t apply to you (and you don&#8217;t need to read any of this anyway). Otherwise, you should pick a theme for your site. There are hundreds of free WordPress themes out there to choose from. I recommend starting at the <a href="http://themes.wordpress.net/">WordPress Themes viewer</a>. It allows you access to test-drive hundreds of free themes and you can search based on features of the theme, layout options, etc. If it is too overwhelming, try filtering by theme features, using the list of most-downloaded themes (on the side of <a href="http://themes.wordpress.net/faq/">this page</a>) or some of the themes featured <a href="http://share.clarklab.net/articles/wordpress/20-wordpress-themes-that-dont-disappoint/">here</a>. When you have chosen a theme, download it to your computer and upload the files to your <em>/wp-content/themes</em> folder on your site. Go to the WordPress Admin &gt; Presentation, and select your new theme.</li>
<li><strong>Customize the Theme</strong> &#8211; If you are scared of CSS and HTML and are completely satisfied with the way that the theme works, you can skip this step. Otherwise, it is advisable to go into your theme files and customize sections of it. This is done to differentiate the look and feel of your site from other sites that may be using the same theme, as well as to change the locations and look of elements of the theme to suit your specific needs.Any customization work that you will do will take place in the different theme files, found in <em>/wp-content/themes/theme_name/</em>. The files that you are most likely to change are <em>header.php</em>, <em>footer.php</em>, <em>sidebar.php</em>, <em>index.php</em> and <em>single.php</em> for content and <em>styles.css</em> for style changes. You can read about the different types of <a href="http://codex.wordpress.org/Using_Themes">theme files</a>, how they <a href="http://codex.wordpress.org/The_Loop">work</a>, <a href="http://codex.wordpress.org/Stepping_Into_Template_Tags">template tags</a> and <a href="http://codex.wordpress.org/Templates">pages</a>, <a href="http://codex.wordpress.org/WordPress_Lessons#Customizing_Templates">customizing templates</a> and more on the <a href="http://codex.wordpress.org/Main_Page">WordPress Codex</a> and <a href="http://wordpress.org/support/">Support forums</a>.The potential for changes is practically endless. To give some ideas of things to change here is a list of changes that I made on my new site
<ul>
<li>I changed made the font size larger for all content text</li>
<li>Removed &#8220;sponsor links&#8221; on the theme that were pointing to indecent sites (see <a href="http://weblogtoolscollection.com/archives/2007/04/12/on-sponsored-themes/">Matt&#8217;s essay</a> on this for more info)</li>
<li>Changed the RSS links to <a href="http://feedburner.com/">Feedburner</a> feeds, added an Email subscription link (through Feedburner). Moved these links to higher on the page</li>
<li>Changed some of the default, hard-coded text on the page</li>
<li>Added some tags that had been left-out by the theme author (go to next page/post, etc)</li>
<li>Changed the format and information displayed in the post info section on both the main page and the single post page</li>
<li>Added links to stats tracking services (I use both <a href="http://www.statcounter.com/">StatCounter</a> and <a href="http://www.google.com/analytics/">Google Analytics</a>)</li>
</ul>
<p>Some other things you might want to change in the theme to really change the look of it is the header image, background colors, link colors and other visual elements. As you are changing the template files, upload them to your site to check on how your changes look and make sure that you haven&#8217;t broken anything.</li>
<li><strong>Set up Plugins</strong> &#8211; As with the previous step, if you are completely satisfied with every aspect of your blog performance, you can skip this step (just remember to enable the <a href="http://akismet.com/personal/">Akismet</a> anti-spam plugin that is included with the software). However, it is worth exploring the world of <a href="http://codex.wordpress.org/Advanced_Topics#WordPress_Plugins_and_Customization">plugins </a>if there is anything that you want to on your site that is not included by default or with the standard template tags. To set up any plugin, download its files, upload them to the <em>/wp-content/plugins/</em> directory on your site, follow any specific directions that may be given with the plugin, go to the Plugins page in your site and enable the plugin. Some plugins work automatically in the background, some will require you to add tags to your template files (they should give instruction on how to do this).Plugins are hosted all over the internet, often on their author&#8217;s websites, and sometimes in centralized repositories. If you are in need of specific functionality, try searching for it (using keywords &#8220;[functionality] wordpress plugin&#8221; should give you some results if the plugin exists). Otherwise, try looking in some of <a href="http://www.wpplugins.org/">the</a> <a href="http://codex.wordpress.org/Plugins">online</a> <a href="http://wp-plugins.net/">repositories</a> to get an idea of what is out there. Here is a list of the plugins that I used on my new site:
<ul>
<li><a href="http://akismet.com/">Akismet </a>- Anti Comment Spam</li>
<li><a href="http://www.joostdevalk.nl/code/enhanced-wp-contactform/">Enhanced WP Contact Form </a>- Easily add a contact form to your site</li>
<li><a href="http://www.neato.co.nz/ultimate-tag-warrior/">Ultimate Tag Warrior </a>-Add tagging functionality</li>
<li><a href="http://mnm.uib.es/gallir/wp-cache-2/">WP-Cache</a> &#8211; Super Caching Functionality</li>
<li><a href="http://sojoe.info/2006/11/11/jpf-add-to-reddit-wordpress-plugin/">JPF Add to Reddit</a>, <a href="http://sojoe.info/2006/11/11/jpf-seed-newsvine-wordpress-plugin/">Seed Newsvine</a>, <a href="http://sojoe.info/2006/11/04/jpf-submit-to-netscape-wordpress-plugin/">Submit to Netscape</a> and <a href="http://www.arnebrachhold.de/2005/06/05/delicious-bookmark-this-wordpress-plugin">del.icio.us Bookmark This</a> &#8211; Add links to social networking sites after blog posts</li>
</ul>
<p>Plugins can add lots of powerful functionality and totally change the way that you use your blog. They are one of the strongest features of WordPress and I highly recommend taking a look at what they have to offer.</li>
</ol>
<p>You are now done setting up your blog (though as you use it more, you may decide to change are the template some more and add more plugins). Now all that&#8217;s left to do is to start adding content. Good luck!
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fellisweb.net%2F2007%2F05%2Fsetting-up-a-customized-blog-in-7-easy-steps%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fellisweb.net%2F2007%2F05%2Fsetting-up-a-customized-blog-in-7-easy-steps%2F&amp;source=yaakov&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://ellisweb.net/2007/05/setting-up-a-customized-blog-in-7-easy-steps/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Upgrading WordPress through Shell</title>
		<link>http://ellisweb.net/2007/03/upgrading-wordpress-through-shell/</link>
		<comments>http://ellisweb.net/2007/03/upgrading-wordpress-through-shell/#comments</comments>
		<pubDate>Mon, 05 Mar 2007 08:02:50 +0000</pubDate>
		<dc:creator>Yaakov Ellis</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://ellisweb.net/2007/03/upgrading-wordpress-through-shell/</guid>
		<description><![CDATA[I was very proud of myself for upgrading from WordPress 2.1 to 2.1.1 within a few days after it was released. At least until I read about the entire 2.1.1 release having been compromised to some hacker. Even though I had probably downloaded the new WordPress build before it was compromised, better not to take [...]]]></description>
			<content:encoded><![CDATA[<p>I was very proud of myself for upgrading from WordPress 2.1 to 2.1.1 within a few days after it was released. At least until I read about the entire <a href="http://wordpress.org/development/2007/03/upgrade-212/">2.1.1 release having been compromised</a> to some hacker. Even though I had probably downloaded the new WordPress build before it was compromised, better not to take chances, right? Still, downloading the files, unzipping and FTPing them back up is annoying, especially when you have to do it for multiple sites.</p>
<p>That is why I am very thankful that I saw this: <a href="http://techtites.com/2007/03/03/upgrading-wordpress-via-shell/">Upgrading WordPress via Shell</a>.  I am a Windows guy without so much *nix scripting experience. Still if this could work, it would be a big time saver.</p>
<p>Fast forward 10 minutes. I enabled shell access with to my hosting account, logged in using <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTY</a>, went to the proper directory, ran the commands (very carefully), repeated for a second blog. Two blogs upgraded to 2.1.2 in 10 minutes, very little pain (awesome). (Oh yeah, and don&#8217;t forget to do a backup before running any scripts in your hosting account, or messing around with WordPress in any way. You have been warned).
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fellisweb.net%2F2007%2F03%2Fupgrading-wordpress-through-shell%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fellisweb.net%2F2007%2F03%2Fupgrading-wordpress-through-shell%2F&amp;source=yaakov&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://ellisweb.net/2007/03/upgrading-wordpress-through-shell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

