diff options
-rw-r--r-- | hswg/main.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/hswg/main.go b/hswg/main.go index 3c7582e..6afbbd3 100644 --- a/hswg/main.go +++ b/hswg/main.go @@ -81,7 +81,12 @@ func Render(r io.Reader, config *configuration.Configuration) ( // return var doc *types.Document - if doc, err = parser.ParseDocument(pr, config); err == nil { + var preprocessed string + // TODO(p): Ensure that this doesn't pose a security risk. + if preprocessed, err = parser.Preprocess(pr, config); err != nil { + // Render it raw below. + } else if doc, err = parser.ParseDocument( + strings.NewReader(preprocessed), config); err == nil { doctype := config.Attributes.GetAsStringWithDefault( types.AttrDocType, "article") problems, verr := validator.Validate(doc, doctype) |