A new engine and fresh paint
Time to empty your cache and reload this page. Shift and reload should actually be enough...
The long overdue refactoring of the weblog is finally completed! I have made a bottom-up rewrite of the whole weblog to have a better structured, more maintainable weblog. I also got to introduce some functionality I've always wanted but not had the energy to implement.
From the vistors' point of view, things are quite similar, but some things do have changed:
- No more sIFR. Headers are now in Helvetica Neue or Arial, depending on what font that is available.
- Minor layout and style changes.
- Finally made decent code blocks.
- Acronyms are explained automatically, which means more explanations than when I type them by hand.
- Better and improved search of the whole weblog, not just entries.
- No more XHTML in the comments.
Under the hood
It is behind the scenes, or under the hood, that most things have changed. To start with, the weblog is now based on an OOP MVC pattern approach. The DB model supports dynamic pages with arbitrary addresses which basically makes it a CMS. Entries is simply an extended page, that has some extra properties like for example comments.
One of the things I've done during this refactoring is to write my own database connection handler. I didn't feel like using PEAR DB, but still wanted to be able to switch database vendor if I ever would like to. Another reason for writing my own DB handler was that I didn't want any global connection variable, therefore the DB handler only connects if a connection isn't already established.
Below is a list of things that has been introduced or redesigned during this refactoring.
- Automatically generate explaination tags for acronyms. Acronyms are stored in the database and injected into the content.
- New login handling.
- Improved 404 Not Found handling.
- Much improved weblog administration.
- CMS approach to handle non-weblog pages. The solution is not hierarchy depended (i.e., not based on parent-child relations).
- Introduced data iterators and simplified the XML handling to simply take care of entities.
External libraries
I have used a couple of external, open-source libraries and functions in the weblog.
- PEAR XML_RPC is used by the pingback server and client.
- The autop function of Wordpress is used to strip and add paragraphs.
- My
AcronymFinderuses a regular expression from Wordpress' AcronymReplacer. - vForm 2.0 is based on the Prototype Javascript library.
- The Blogidate XML well-formedness bookmarklet is used in the administration to check for invalid markup.
Post your own comment
Pages linking to this entry
Pingback is enabled on all archived entries. Read more about pingback in the Pingback 1.0 Specification.
No pingbacks.
