Hi all,
Jeremie prompt me to post here the email I sand him today regarding Pig News theme. Since I don’t have much time to re-write it, I’m posting is as it is… Fell free to share your thoughts.
Hello there chaps,
The current theme structure is very well organised (specially for wordpress developers) and we can indeed start others themes easily – form scratch – by just copy and pasting the files you currently have. What I suggest though, is to add the below small changes (I can easily implement them this weekend) in order to make things even easier for people with less WP experience such as web/graphics designers, CSS experts etc.
My suggestions are the below :
- It is good to have ALL the pages (index page, single page, post page, archieve page, etc.) as static HTML files. I believe that this will boost the development time, because I have the impression that many people that they want to participate they either don’t know so good PHP and/or they don’t really know how WP themes work. If they suddenly see php files with pretty advanced WP coding (conditional tags/etc.) they will definitely won’t bother to participate. That way we can lose many potential good/charismatic front-end/web designers that they are really good on everything else (aceessible/semantic markup/CSS/jquery etc.). Also by splitting up the front-end from the back-end”(theme dev in our case) we can really boost the dev time because everyone can work on their part.
- My second suggestion deals with the CSS structure of files (and maybe a pattern), that will be applied to all of our projects (the single default WP style and the ie-only style will definitely slow the process – trust me that’s basically what I do for living!). What I suggest is, for every theme we lunch a new theme, along with the files we already provided (functions, helpers, options, config files, theme files and if you agree the above static versions of them), always to include a css folder that will break down CSS into more structured and meaningful CSS files (instead of having a huge one), like print.css, forms.css, typography.css, reset.css etc. This will make the code more maintainable and understandable (if someone wants to add a typographic rule, he only needs to located the specific element into the typography.css and submit the change. It won’t mess something else or the work of another contributor, etc.). Personally, I suggest (and I’ve used thousands of times) the Boilerplate CSS as a base, for 2 main reasons. First, it automatically set ups ALL the markup elements, so we ensure that even the less popular elements such as definition lists or cites/abbrs will have some styles (event if someone forgot to add them – very convinient)! The other reason of choosing Boilerplate CSS is that it’s not a framework (I hate CSS fraworks) or something (you can have a look at it), which means that you have full control of what’s going on, and you add your own rules, it only helps you to organise your CSS code and to easily setup a CSS base for all elements! This can also save us many hours of dev time, plus it will avoid users to mesh with other people’s CSS code or re-declaring again and again the same rules (you imagine how often this happens)…
I can easily do these 2 tasks this weekend in order to actually see them and understand better what I suggest (in case you didn’t understand my pathetic english
. Personally, I believe that these 2 additions are really crucial, because you can assign client-side work (a specific page for example) to client-side people, and server-side work to server-side people… Also since the themes will be pretty complicated, I also believe that proper separated and organised CSS files will make the difference.
Please let me know your thoughts and if you agree with these two suggestions (either way I’ll prepare something to see it in action).
My last issue, and a possible problem (to me at least), is the use of Fireworks as the main graphic tool. At the moment I only got PNG files which basically cannot edit or crop (with my beloved Photoshop). I think other people will face this problem as well. Any ideas/suggestions on this issue?
best regards,
Yiannis