diff --git a/tutorial/Makefile b/tutorial/Makefile
index 5792b968d916ac2b9ebed519e7d31c3ff4ed1904..89b62aef20f19eca27ab335fa7fe4b9bcc939c65 100644
--- a/tutorial/Makefile
+++ b/tutorial/Makefile
@@ -41,6 +41,9 @@ tutorial_onepage.html: .DUMMY  $(SRCFILES)
 tut.html: .DUMMY $(SRCFILES)
 	$(pike) ./wmmltohtml2 tutorial.wmml sitebuilder tut
 
+wmml.html: .DUMMY wmml.wmml
+	$(pike) ./wmmltohtml2 wmml.wmml html_onepage wmml
+
 manpages: .DUMMY $(SRCFILES)
 	$(pike) ./wmmltohtml2 tutorial.wmml manpages man/man
 
diff --git a/tutorial/html.pike b/tutorial/html.pike
index 1a956923a32b784d88f978b91115d5635284e6a9..1b3cfd61c284a05012e22063a95cb9d50cfd9f37 100644
--- a/tutorial/html.pike
+++ b/tutorial/html.pike
@@ -510,7 +510,7 @@ SGML convert(SGML data)
 		       Sgml.Tag("td",(["align":"left"]),data->pos,
 				({Sgml.Tag("font",(["size":"-2"]),
 					   data->pos,({"description"}))}))}))})+
-		  data->data)
+		  (data->data||({})))
 	    }));
 	    continue;
 
diff --git a/tutorial/wmml.wmml b/tutorial/wmml.wmml
index 6ea6562cbd89f1d9b3a53ddd53d056807b1ddfd1..5ea28f99b0e92642fe1647ff40f4c88a63ebc180 100644
--- a/tutorial/wmml.wmml
+++ b/tutorial/wmml.wmml
@@ -38,7 +38,8 @@ This is a terse documentation about WMML.
           <adesc>what language the example is written in;
                  pike and c are supported</adesc></aargdesc>
 <aargdesc><aarg>meta</aarg>
-          <adesc>comma-separated list of ?</adesc></aargdesc>
+          <adesc>comma-separated list of keywords that will be in italics</adesc></aargdesc>
+</man_arguments>
 <man_description>
 This tag marks an area as an example. If <tt>language</tt> equals
 "<tt>pike</tt>" or "<tt>c</tt>", the are will count as preformatted.
@@ -46,11 +47,59 @@ This tag marks an area as an example. If <tt>language</tt> equals
 <man_see>man_example, data_description</man_see>
 </method>
 
+<method name=data_description title="?">
+<man_syntax>
+&lt;data_description&gt; ... &lt;/data_description&gt;
+</man_syntax>
+<man_arguments>
+</man_arguments>
+<man_description>
 data_description type=
+</man_description>
+<man_see></man_see>
+</method>
+
 
+<method name=firstpage title="?">
+<man_syntax>
+&lt;firstpage&gt; ... &lt;/firstpage&gt;
+</man_syntax>
+<man_arguments>
+</man_arguments>
+<man_description>
 firstpage
-ref to=
+</man_description>
+<man_see></man_see>
+</method>
+
+<method name=ref title="?">
+<man_syntax>
+&lt;ref&gt; ... &lt;/ref&gt;<br>
+&lt;ref to=somewhere&gt; ... &lt;/ref&gt;<br>
+</man_syntax>
+<man_arguments>
+<aargdesc><aarg>to</aarg>
+          <adesc>optional destination</adesc></aargdesc>
+</man_arguments>
+<man_description>
+Adds a hyperlink around that area; default destination is resolved by
+the contents.
+</man_description>
+<man_see>link, anchor</man_see>
+</method>
+
+<method name=anchor title="?">
+<man_syntax>
+&lt;anchor&gt; ... &lt;/anchor&gt;
+</man_syntax>
+<man_arguments>
+</man_arguments>
+<man_description>
 anchor name=
+</man_description>
+<man_see></man_see>
+</method>
+
 
 </section title="markup tags (implying format)">