In the spirit of documentation, I have decided to start documenting this site. Some brief specs and changlog histories can be found in the 'About' page. This page is for those of you who are curious about how the inner workings of this site operate. Granted most of you interested in learning how this site works would simply download the HTML and JavaScript files and read through them, but then you don't get to see the Ruby back-end.
As the sole developer of this site not many fancy tools are needed, but for convenience i use the following:
I use W3C technologies because they are the most common and supported by all major browsers
The directory structure of this project is setup to be easily understood by a normal web developer. It uses the basic Ruby on Rails conventions.
This project has 3 sets of important controllers. The first set is a single controller named 'welcome' which is used to load the homepage. The second set is another single controller named 'section'; this controller handles loading the parent pages for each section (i.e. about, biography, presentations, etc...). The third and final controller set is the set of section controllers which are named after their parent section. For example, the about section controller is named 'about' and accessed via 'about/:topic'.
Each page now should include a special header which loads customized SEO data into each page when it loads the layout. It uses the :yield template keyword and the content_for function in each view.
Example:% content_for(:title) do % Martin Dale Lyness :: About Martin-Lyness.com % end % % content_fo(:revised) do % June 8th 2008 % end % % content_fo(:keywords) do % Martin Dale Lyness, About, Documentation, License, Validation, Change Log, Martin, Lyness, Dale % end % % content_fo(:description) do % Analogous to common application about dialogs where version and other information regarding the application you are using can be displayed. % end %