- > ws text ws
-
-sp ! = " "**
-blank = sp "\n" sp "\n" ws
-
-kv = word "=" text /ws => kv1
-wp ! = w++
-num ! = [0-9]++
-Paragraph = { "\"\"" ws text } => "blockquote"
- > { "---" "-"* } => "hr"
- > { text } => "p"
-
-onums ! = nums (". "|") ")
-any ! = ~[]*
-
-uli = "* " (ws text &~ any (oli|uli)) => "li"
-oli = ("# "|onums) (ws text &~ any (oli|uli)) => "li"
-
-text = Item => text
-Itemx = ws Item
- | ()
-Item = blockquote
- > { uli+/ws => "ul" } Itemx => []
- | { oli+/ws => "ol" } Itemx => []
- > pre Itemx => []
- > structured Itemx => []
- > structuredx Itemx => []
- > styled Itemx => []
- > qtext Itemx => []
- > (alphanum++ => stringify) Itemx => []
- > symbol Itemx => []
- > (sym++ => stringify) Itemx => []
- > Paragraph Itemx => []
-
-blockquote = "\"\"" text "\"\"" => "blockquote"
- | "\"\"" block => "blockquote"
+ > ws! text ws!
+
+sp = " "**
+blank = sp! "\n" sp! "\n" ws!
+
+KeyVal = key:bareword "=" val:text /ws
+wp = w++
+num = [0-9]++
+
+Paragraph = { Blockquote:: "\"\" " text }
+ > HR:: { "---" "-"* }
+ > { OL:: (text &~ (text! ws! {oli}+)) ws! {oli}+ }
+ > P:: { text }
+
+onums = nums (". "|") ")!
+any = ~[]*
+
+uli = "* " (ws! text &~ any (oli|uli)!)
+oli = onums! (ws! text &~ any (oli|uli)!)
+
+text = Item
+
+Item*/ws =
+ blockquote
+// > ^"#" ws! { ~[]* }
+ > Verbatim
+ > InlineGrammar
+ > link
+ > structured
+ > styled
+ > (Chars:: alphanum++)
+ > Quotes:: "\"" text "\""
+ > (Symbol:: sym++)
+ > { Block:: text }
+
+word = Chars:: bareword
+
+blockquote = "adsfafewag"
+//blockquote = Blockquote:: "\"\"" (block | text "\"\"")