Important: Brevity disclaimer.
Update: this page is no longer relevant as the site was almost completely re-designed since that time. Please see new site description page for up-to-date information. I leave this page available for illustrative purposes, though, as information still may be useful for someone.
When started with “homepage project” I had the following initial requirements and constraints:
- As I’m by no means HTML coder or web designer, whenever possible high-level tools and 3rd-party design materials should be used.
- There’s no need in complex designs, complicated site schemes or dynamic content
- the information I’m going to present is quite plain and simple.
- Once created, the site shouldn’t require any significant effort to maintain: so, adding / changing information should be as simple as possible.
- The site should be accessible enough - so, all major recent browsers should work OK.
These requirements and constraints were translated into further concrete requirements and actions presented in the following chapters.
HTML content generation
Tools for HTML pages generation from some high-level markup language should be used. At first I thought about wiki-based solutions, but taking into account I do not need dynamic content this looked like overhead.
Therefore I continued searching and came up with webgen, which allows to compose site pages in high-level mark-up languages such as Textile, and then, based on HTML templates, appropriate pages are generated. In fact, this was exactly the tool I needed for my project!
One additional advantage of using webgen was that it was written in Ruby and in quite modular way - so I had the possibility to slightly adjust / extend it up to my needs.
For site design I took extensive search through Open Web Design - this is huge collection of high quality, but free site designs.
My initial plan was to take some design there almost without changes, but on practice it appeared that there’s no perfect one - there’s always something you’d like to do in a bit different way, so that it suits your taste.
Thus, I ended up with taking two different designs, combining ideas I liked in each of them and re-styling them by replacing images and adjusting color schemes / layout. These two designs are Grass Stains and andreas01. I’d like to say big “thank you!” to these guys!
For smileys I’ve used the famous Kolobok icons, I really think they’re the best
For albums generation, there’s excellent program I’ve used for many years already: JAlbum. It is really the best I was able to find for this purpose.
However, the problem was that integrating the output of this program into existing site generated by webgen would require quite some efforts and, therefore, would violate the initial requirement “being easy to maintain”. Therefore, I had to revert to using built-in webgen capabilities for albums generation. There’s nothing especially wrong with that, but they still lack some nice features present in JAlbum … Therefore, I had to perform some modifications in webgen as well as develop small plugin to make sure albums look exactly in the way I like it.
When performing these modifications, I’ve reused material from two other sources: JAlbum skins LightBox2 and Chameleon. Again, I’d like to thank their authors for the great work! The modifications to webgen plus plugin I’ve developed are available here: patch for webgen-0.4.4 and sources for plugin.
To verify accessibility, I’ve used the following browsers:
- Opera 9.20 / Win32
- Internet Explorer 6.0 / Win32
- FireFox 2.0 / Win32
- Safari 3.0 / Win32
- Konqueror 3.5.7 / Linux
- Links 2.1 / Linux (console and X11 drivers)
- Opera Mobile 8.60 / Windows Pocket PC 2003 SE
- Internet Explorer / Windows Pocket PC 2003 SE
- Minimo 0.1 / Windows Pocket PC 2003 SE
Surprisingly, there were just a few small issues on desktop browsers, nothing especially problematic I was afraid of.
With mobile browsers the situation was less bright, which is understandable taking into account the fact that the design was done with primary focus on desktop environment - though, despite some glitches with layout, the content was still perfectly useable.
Besides of that, CSS and XHTML validators were used to check that generated HTML and composed CSS were valid.
In the end I would say that though it took me more time I initially anticipated, it was quite useful experience - and I hope the result is worth the time spent