Trying Out Some New Technologies: WordPress Child Themes and GitHub

I recently moved this site over to a new host (MediaTemple in this case) and along with that I decided to start with a new theme and try out some new (for me) technologies along the way.

The first, is WordPress Child Themes. WordPress Child Themes basically enable you to extend a theme to your own liking, while allowing the parent theme to be updated along the way. That’s bad way of saying; you can make changes to the theme without editing or worrying about the parent theme. The old theme was a customized version of Viligance and I ran into the problem of Viligance was being updated and I wanted to apply the updates however I couldn’t because I had customized the theme so any updates I applied would break all the changes and tweaks that had been added in.

Child themes are WordPress’s answer to this sort of problem and I’ve already found them imnessely useful. Erudite didn’t support favicons, Bit.ly short urls, OpenID Delegate Server, etc. Now it supports all of those and more in the future. Most of that probably didn’t mean something to you but the basic idea is that you can add custom style sheets, add custom templates, interject code where ever a WordPress plugin can and a lot more. If you are interested in WordPress Child themes, two places to check out: ThemeShaper – How To Modify WordPress Themes The Smart Way and ThemeShaper – Sample Theme Options. The first is a good guide on building a basic child theme, the second walks you through adding an options page to your theme.

So, that was the first new technology, the other is GitHub. GitHub is built around two ideas, Git is an awesome tool for programmers and coding is a social experience. Both of these differ from most of my experience with programming. I’m used to SVN and have used it almost exclusively over the years. Programming as well even while working on a team was built typically around working one person at a time on a particular task or area of the project. Git and GitHub are designed to change both of those.

Unfortunately GitHub makes it so easy that I’ve found myself becoming lazy. It feels a lot harder to contribute to non-GitHub projects because it often requires signing up for their custom bug tracker, learning the patch process, and waiting longer before the patch is accepted. That extra friction is sometimes enough to prevent me from submitting a fix, and that’s not good for the project.

Ease of contribution is clearly an important factor for open source and other community-driven projects (just look at Wikipedia). As GitHub continues to grow, are more projects going to feel pressure to switch? I think they will, and I’m looking forward to it. Better software is good for everyone.

via HipChat Blog – GitHub is making me lazy but I like it. So I’m going with the flow at first I had the code for my child theme posted on a public SVN repository but I’m going to make it even easier for people to play with and see what I’m doing. It’s now on GitHub: http://github.com/jtyost2/Erudite-Child-Theme.

Let the hardcore forking action commence.

Justin Yost is a full-time Software Engineer and a part time educator. A graduate of Texas Tech University with a bachelor's degree in computer science, Justin relishes programming and learning more about anything and everything. When not working, Justin occasionally gives talks at the local PHP Meetup. In his free time, Justin enjoys backpacking and reading science fiction books.

Tagged with: , , , ,
Posted in Programming, Writings
Short Link: http://jty.me/cOYDb4

Leave a Reply

Your email address will not be published. Required fields are marked *

*