diff --git a/document.go b/document.go deleted file mode 100644 index c6e52be..0000000 --- a/document.go +++ /dev/null @@ -1,39 +0,0 @@ -package gold - -import ( - "bytes" - "io" -) - -type DocumentElement struct { -} - -func (e *DocumentElement) Render(w io.Writer, ctx RenderContext) error { - rules := ctx.styles.Document - - be := BlockElement{ - Block: &bytes.Buffer{}, - Style: rules, - } - ctx.blockStack.Push(be) - - renderText(ctx.blockStack.Current().Block, rules.StylePrimitive, rules.Prefix) - return nil -} - -func (e *DocumentElement) Finish(w io.Writer, ctx RenderContext) error { - bs := ctx.blockStack - rules := ctx.styles.Document - - mw := NewMarginWriter(ctx, w, rules) - _, err := mw.Write(bs.Current().Block.Bytes()) - if err != nil { - return err - } - renderText(mw, rules.StylePrimitive, rules.Suffix) - - bs.Current().Block.Reset() - bs.Pop() - - return nil -} diff --git a/elements.go b/elements.go index 1175262..8aacadd 100644 --- a/elements.go +++ b/elements.go @@ -32,9 +32,14 @@ func (tr *TermRenderer) NewElement(node ast.Node, source []byte) Element { switch node.Kind() { // Document case ast.KindDocument: + e := &BlockElement{ + Block: &bytes.Buffer{}, + Style: ctx.styles.Document, + Margin: true, + } return Element{ - Renderer: &DocumentElement{}, - Finisher: &DocumentElement{}, + Renderer: e, + Finisher: e, } // Heading