Index: modules/parser/pegTokenizer.pegjs.txt
===================================================================
--- modules/parser/pegTokenizer.pegjs.txt	(revision 114350)
+++ modules/parser/pegTokenizer.pegjs.txt	(working copy)
@@ -260,7 +260,22 @@
         return out;
     };
 
+    function user_sig()
+    {
+      //XXX user can personalize signature?
+      var out = new SelfclosingTagTk('wikilink');
+      out.attribs.push( new KV('', 'User:Username') );
+      out.attribs.push( new KV( 'tail', '' ) );
+      return [out];
+    }
 
+    function timestamp()
+    {
+      //XXX server and browser locales
+      return new Date().toString();
+    }
+
+
     /* End static utilities */
 
     /*
@@ -535,8 +559,14 @@
      // Eat three opening brackets as text.
     / '[[[' { return '[[[' }
     / & '[' ( wikilink / extlink )
+    / signature
     / & "'" quote
 
+signature
+  = "~~~~~" { return [timestamp()]; }
+  / "~~~~" { return [user_sig(), timestamp()]; }
+  / "~~~" { return [user_sig()]; }
+
 /* Headings  */
 
 h = & "=" // guard, to make sure '='+ will match. 
