The main technical challenge when implementing the Algonomicon website was how to render the large number of mathematical equations that would be needed in the explanatory text. On the microHOWTO site there are a few simple expressions written either as source code or using ordinary HTML markup, but it was obvious from the outset that this approach would not be workable.
The equations could simply be added to the website as images. This has the advantage of placing few demands on the web browser, but the quality of the result can be variable (especially for inline equations) due to their being rendered in isolation from the rest of the page. This method can also add significantly to the bandwidth consumed by the site, and content is more difficult to edit when it is split across multiple files and multiple file formats.
An improvement would be to serve the equations as images, but generate them automatically from some for of markup embedded within the page content. This is the method that Wikipedia uses. It avoids fragmentation of the content, allows global style changes, and is both searchable and diffable. It does not help with bandwidth usage, nor with the equations being rendered separately from other content.
The ideal would be to render the equations within the browser. This can be done using a markup language called MathML, which is XML-based and is capable of being mixed with HTML or XHTML. The one big drawback is browser support. At the time of writing this was available in current versions of Firefox, Chrome, Safari and Opera, but Internet Explorer required a plugin, and the number of older browsers that would have been excluded was rather too high for my liking.
Fortunately, there is an answer in the form of MathJax. This is an Open Source JavaScript library which adds MathML support to older browsers. Nothing need be installed by the end user, and the only required change to the web site is the addition of a script element to the head of each page.