An extensible Haskell content management system

Pages are now generated by a template function in Config.hs. This Hope setup uses this template:

boxes :: Hope Box -> [Hope Box]
boxes m = [
           wrapBox "topBanner" [brandBox],
           wrapBox "leftBar" [navigationBox], 
           wrapBox "main" [m], 
           wrapBox "rightBar" [latestEntriesShortBox 10], 
           wrapBox "bottomBanner" [infoBox]
          ]

The m parameter is the box with the main content of the page. The box names become class names in the HTML, and CSS is used to position them correctly.

In the future, more flexibility will be added, for example control over which pages certain boxes can appear on.


There is now a status page with lots of details. More stuff will be added over time. Modules can add stuff to the status page.