Notes about the site

This site is generated from non-HTML source files using a combination of technologies. Most specifically, the pipeline employed is from N3 sources using cwm into basic XML, which is they converted via a stylesheet into the HTML you're viewing. For more literally-written pages such as this one, reStructuredText markup is used.

Of particular interest is the generation of the recipes index, which uses the inference engine of cwm to do basically data-filtering to get very specific XML used as input to a stylesheet which can then generate the index itself.


The following are requirements-like notes taken while undertaking this effort:

Todo


Thinking out loud about a templating language for the data...:

<html>
 <body>
   [hb:Recipe...
     <h1>[rdf:label]</h1>
     Author: [foaf:maker]
     Date: [dc:created]

     <h2>Ingredients</h2>
     [hb:ingredient *...
       [:"standard"
         [hb:amt.rdf:value] [hb:amt.hb:units.rdf:label] [rdf:label]
       ]
       [:"hops"
         [rdf:type.rdf:label] [hb:amt.rdf:value] [hb:amt.hb:units.rdf:label] @ [hb:hopTime.rdf:value] [hb:hopTime.hb:units.rdf:label]
       ]
       - [hb:Grain... sort hb:volume,desc rdf:label,desc,alpha @standard ...]
       - [hb:Hop... sort hb:volume,desc @hops ...]
       - [hb:Adjunct... sort rdf:label,desc @standard ...]
       - [hb:<remainder>... sort rdf:label,desc @standard ...]
       - [hb:Yeast... sort rdf:label,desc @standard ...]
     ...]

     <h2>Notes</h2>
     [hb:notes...
     - [dc:created]: [rdf:label]
     ...]
   ...]
   
   <h1>Instances</h1>

   [hb:BrewInstance...
   <h2>Jan 27th, 2005</h2>
   Who: [author]
   <h3>Instruction deviations</h3>
   - [notes]
   <h3>Journal</h3>
     - [date; group by day]:
       - [specific notes: {gravity readings}]
       - [general notes]
     - [date; group by day]:
       - [note]