Site-branch-specific Styling with WordPress

For the second time now, I’ve been asked to style some elements in a page based on the branch of the sitemap tree being displayed.

You can see it at http://rupertsland.ca/wp/about/ still in staging, will move to http://rupertsland.ca/about/ vs. http://www.rupertsland.ca/wp/reference/ and http://www.seniorscircle.ca/directory/health-well-being/ vs. http://www.seniorscircle.ca/directory/home-and-housing/

Here’s an explanation:

Say we have a sitemap like this:

  • about
    • our company
    • our history
  • blog
    • news
    • snippets
    • portfolio

For example I need to style all the h1s in the blog branch to be blue, and all h1s in the about branch to be purple.

I’ve been putting “if (have_posts()) while(…): the_post();” of the loop before the get_header() call of a given template. I thought that $post is not available before the call to the_post(), but it turns out it is. Then after starting the loop, I would write a function to use as a filter for the body_class filter which would add a class to the body based on $post, and then I have a branch-specific CSS class to hook into it.

I’m probably going to stop moving the loop beginning before the get_header() call now that I know that the global $post is available before calling the_post(), and also I am just going to give a parameter to body_class() in header.php instead of hooking into the body_class filter.

Let me know if you have some ideas on how to do this better!

Portfolior

Portfolior, eh!?

Portfolior is the WordPress theme created for the presentation I am giving/gave at the Winnipeg Code Camp 2010.

The word “portfolior” is a system-ization of the word portfolio. Another system-ization example would be “reporty”.

The term system-ization represents efforts of (non)creative programmers to come up with a good system name, so to keep the meaning of what the system does, they choose the most appropriate word, and then try to make it sound like a machine that would do the task the system does.

What a rant!

Secret Handshake

I had fun at the Secret Handshake meetup last night. It was great to meet some great young people working in different professions.

I met some Rails Web developers: @marcjean, @gmarik, @ssoroka

Some network security experts: @ron_bowes, @xorrbit

Some designers: @toderash, @timder, @instant_noodles (instantnoodles.ca)

SEO/SM: @thewebgrrl (who I met at the Winnipeg WordPress meetup), @steveosnyder

And some other people, including @TishTishTish, @visuallizard, @4letterw0rd and others.

Notable quotes:

“Vim is better than emacs” – @marcjean
“We could make it into a framework that people can extend and use however they want” – @ssoroka

Best business card: @toderash with Strategic Intuition. An oversized piece of paper, with perforations to tear out the business card (But beware, the small print below the perforation says: “Tear here to limit thinking”). It can stand up, and be used like a table name tag.

I had a little bit of trouble finding the place, I think mostly because I did not have my glasses on, so I could not read their sign, since I did go by the place twice before I finally entered it the third time.

New Version of the ProjectPier Project Management Web Application

I’ve been using the Basecamp project management web app at work for a while, and although I like certain features, I do not want to use that for my freelance work. I mostly do not want to use it because there is an excellent alternative that is very close to Basecamp in it’s functionality: ProjectPier, which presents a long-awaited opportunity for me to work on the code of an Open Source project.

The excellent PHP project management web application ProjectPier saw a new release, version 0.8.6, on December 31st, 2010. There has been a great number of new features added, and now the system is even more like Basecamp.

I’ve contacted the lead developer, and he is interested in learning more about me, and collaborating. The features I am currently most interested in adding are first the things that it does not have and basecamp does. I expect they will all be done in the theme. I plan to then move on to adding some features that I would like to have in a project management tool that we use at Canada’s Web Shop, which will be additions that will require more extensive work, up to and including additions to the database schema.

Should be fun!

New Project Management Tool for my Freelance Work

Bigger Playground for my Website Building Projects

I’ve recently moved my domain, bernardic.ca, to Network Redux web hosting servers. Chris Lowry originally registered the domain for me, in return for some advice I gave him and out of the goodness of his heart. The network redux account is provided by Mark Johnston for free. Mark is my friend and mentor who I met at a call centre I previously worked at. The new hosting allows for more websites to be hosted, so I installed a project management web app written in PHP, called Project Pier.

Professional Project Management Tool

This app provides me with a way to enter projects I am working on, enter associated tasks, and indicate when the tasks have been completed. I can create accounts for clients, so they can keep up to date with the status of the project, add new tasks, and share files. I hope this will improve the communication, as well as act as a reminder of what is left to be done, and it should work well as a central repository of information and files related to a particular project. It is fairly easy to install and use, and since it is written in PHP, I will probably tweak it to my need, and contribute bug fixes & feature enhancements back to the project.

Hello, CentOS

Recently I installed CentOS using a USB Stick on my laptop, and blogged about it.

I am currently using CentOS, and it is a fairly good experience, although I am still not able to connect with wireless, although it is almost set up correctly (I even had it going for an hour or so, then rebooted 🙂

Anyway, I am glad for the opportunity to learn to use the RedHat set of administration tools, and switch distros for a bit.

First Blog Post at Canada’s Web Shop

My new employer, Canada’s Web Shop, encourages its employees to blog and tweet through the company’s blog and twitter accounts. They encourage everyone to tweet twice a week, and we take turns blogging weekly. Some people tweet daily, and blog once each week. There is an opening for another weekly blogger, since an employee who was blogging weekly left recently. Is this a good opportunity for me?

Recently, it was my turn to blog, and I wrote an article about PHP development support tools that I like to use.

Mai V2

Mai decided to refresh the look of her portfolio site, and created another clean and crisp design, ready to be implemented into her website.

Mai is a visual designer originally from Japan, currently living in the U.S.A. We met through ProgrammerMeetDesigner.com

I’ve created a WordPress-based site and developed a WordPress theme based on the PSDs she provided.

Technologies used:  PHP, HTML, CSS, JavaScript, jQuery, MySQL, WordPress.

Wordpress theme developed for MaiKSDesign.com
Wordpress theme developed for MaiKSDesign.com

oDesk

I recently discovered odesk, an online marketplace website, and joined it. The thing I like the most about it currently is the test-taking feature.

You can take tests for knowledge within different areas of Web development, and once you are done, your profile lists that you’ve completed the test, what score you achieved, etc. They even give you badges to put on your website, and they link to the oDesk profile page:

oDesk Certified CSS 2.0 Designer
oDesk Certified SQL Database Administrator
oDesk Certified PHP5 Developer
oDesk Certified Advanced PHP Developer
oDesk Certified HTML 4.01 Designer
oDesk Certified jQuery Professional
oDesk Certified LAMP Developer
oDesk Certified YAML Professional
oDesk Certified XHTML 1.0 Designer
oDesk Certified TCP/IP Consultant
oDesk Certified DHTML Developer
oDesk Certified AJAX Developer
oDesk Certified WordPress Expert
oDesk Certified Twitter Programmer
oDesk Certified Drupal Web programmer

I can write, too:
oDesk Certified English Writer
oDesk Certified English Spelling (U.S. Version) Professional
oDesk Certified English (Sentence Structure) Expert
oDesk Certified Resume Writer

A writing writer! 😀 It’s meant to be Resume Writer.