lib/html: add `HTMLTag::open`

Signed-off-by: Jean Privat <jean@pryen.org>
lib/html: `HTMLTag::add` returs self for fluent programming

Signed-off-by: Jean Privat <jean@pryen.org>
nitlight: add a title on the html document

Signed-off-by: Jean Privat <jean@pryen.org>
highlight: rewrite using astutil and with infoboxes

Signed-off-by: Jean Privat <jean@pryen.org>
nitlight: enable boostrap in generated pages

Signed-off-by: Jean Privat <jean@pryen.org>
tests: update nitlight

Signed-off-by: Jean Privat <jean@pryen.org>
parser: do not crash on tokens without location

Do not insert them in the linked lis of tokens
Do not use them to compute locations on productions

Signed-off-by: Jean Privat <jean@pryen.org>
parser_util: drop injected tokens

Do not locate them so they are excluded by the parser.
Remove parents in the result of parse_something so injected tokens
become unaccesible.

Signed-off-by: Jean Privat <jean@pryen.org>
astutil: do not crash if the AST is just a token

Signed-off-by: Jean Privat <jean@pryen.org>
tests: update test_markdown because the new highligther

Signed-off-by: Jean Privat <jean@pryen.org>
parser_util: parse_somethig behave correclty when the first token is an error

Signed-off-by: Jean Privat <jean@pryen.org>
tests: update test_parser ; no more column numbered 0

Signed-off-by: Jean Privat <jean@pryen.org>
model: `extern_kind` is "extern class", not just "extern"

Signed-off-by: Jean Privat <jean@pryen.org>
model: check if specialization is allowed between class kinds

Signed-off-by: Jean Privat <jean@pryen.org>
tests: add base_error_class_kind

Signed-off-by: Jean Privat <jean@pryen.org>
Merge: Nitlightrapbox: nitlight + infobox + bootstrap + astutil

before: http://nitlanguage.org/code/highlight.html
after: http://nitlanguage.org/code2/highlight.html

Pull-Request: #474
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Merge: Check class kind

Enforce that the specialization conforms the rules.

This solve a old, undocumented, and forgotten TODO in the new engine.

Pull-Request: #475
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
model: add optional MDoc::original_mentity

Signed-off-by: Jean Privat <jean@pryen.org>
modelbuilder: build MDoc of MGroup from README files

This is a crazy idea form lunch-time; let's see if it catches.

Signed-off-by: Jean Privat <jean@pryen.org>
markdown: trim indenting spaces from code-blocks in MDoc

So there is no more useless margin if code block is indented with 6 or more
spaces.

Signed-off-by: Jean Privat <jean@pryen.org>