( Some support code )
: emit-loop times emit repeat emit-loop ;
: tag '< emit emit-loop '> emit ;
: /tag '< emit '/ emit emit-loop '> emit ;
: ?ID= '? emit 'i emit 'd emit '= emit ;
: LINK 2dup '= 'f 'e 'r 'h 32 'a '< 8 emit-loop ?ID= type '> emit type 'a 1 /tag ;

( Tags for document structure )
: P: 'p 1 tag ;
: ;P 'p 1 /tag ;
: HR 'r 'h 2 tag ;

( Tags for styles )
: PRE 'e 'r 'p 3 tag type 'e 'r 'p 3 /tag ;
: BR 'r 'b 2 tag ;
: I" '" word 'i 1 tag type 'i 1 /tag ;
: B" '" word 'b 1 tag type 'b 1 /tag ;
: U" '" word 'u 1 tag type 'u 1 /tag ;
: ." '" word type ;
: H1" '" word '1 'h 2 tag type '1 'h 2 /tag ;
: H2" '" word '2 'h 2 tag type '2 'h 2 /tag ;
: H3" '" word '3 'h 2 tag type '3 'h 2 /tag ;
: H4" '" word '4 'h 2 tag type '4 'h 2 /tag ;

( Images and links )
: IMG" '" word '= 'c 'r 's 32 'g 'm 'i '< 9 emit-loop type '> emit ;
: [ '] word LINK ;

( Plain Text )
: ` '` word type ;
