As part of my work with the
Internet Society on the
Deploy360 Programme, I've wound up spending a good chunk of time learning the inner workings of WordPress due to the fact that WordPress powers
our Deploy360 site. Given that the main Internet Society site uses Drupal, we wanted our site to look as close as possible to the main site. The Internet Society also
has 100 local chapters scattered around the world who also maintain their own websites - and some of them use WordPress as well. The result is that I've spent a good bit of time working on a custom WordPress theme that is available through Github for chapters to use:
https://github.com/internetsociety/isoc-wp
It's been an interesting experience using Github for a WordPress theme. Given my love of
the git version control system, Github was a fairly obvious choice for public collaboration, given that I'd been using Github for long before joining the Internet Society (ISOC) in 2011.
Perhaps the single biggest
advantage of using Github beyond the ease of collaboration has been the
issue tracking.
We can maintain a list of "issues", be they bugs, enhancements or otherwise, and collaboratively work through those issues. Github does a great job of tying in code commits to issues and lets you easily associate them with milestones.
Today's experiment for me was to learn more about Github's "releases" feature and to
make the theme available as a formal "release". I documented this in (of course!)
an issue for the theme after Github removed the "Downloads" functionality very early this year.
My main issue was that for ease of documentation and support I wanted people to install the theme into a folder called
isoc-wp
on their WordPress server. If they did so they would be able to use some of the examples in the documentation without any modification. The problem is that if you just download the code from Github using the standard download buttons, you get a ZIP file with a directory name with a version number on it, such as
isoc-wp-v1.2.0
or
isoc-wp-master
. This does actually work perfectly fine when uploaded to a WordPress server... but
the documentation examples don't work verbatim and need to be modified with the directory name.
With the "Releases" functionality, what I can do is separately create a ZIP file that has
isoc-wp
as the directory name and then upload that ZIP file to Github as part of the release. I've
documented my release packaging instructions in the Github wiki for the theme.
All in all it's a rather nice way to maintain a WordPress theme and I'm pleased with how it is all working so far!
P.S. If any of you out there want to help work on this WordPress theme, perhaps as a way of learning more about themes - or about working with Github, you're welcome to join us on Github, even if you have no connection to the Internet Society or an ISOC chapter... best place to start may be to look at the list of open issues and see if there are any you can comment on or contribute to. (You'll need a Github account but those are free.)
If you found this post interesting or useful, please consider either: