diff options
author | Steve <nilslice@gmail.com> | 2016-12-28 16:23:44 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-28 16:23:44 -0800 |
commit | 806fdbe1e8839feb1bcc4e5e07aa7c144a429901 (patch) | |
tree | dacaed91abb57bc6891c1b2cb58a82fc0c9610fc /management/editor/editor.go | |
parent | 1f7a5b46b906da00ceccb03e7ff26627bb29a3dd (diff) | |
parent | 5c340ca57e876a556a5b57e5a7dd32b0ae288440 (diff) |
Merge pull request #26 from ponzu-cms/ponzu-dev
[tooling] Add Go command flag, auto-generate self-signed SSL for development
Diffstat (limited to 'management/editor/editor.go')
-rw-r--r-- | management/editor/editor.go | 54 |
1 files changed, 44 insertions, 10 deletions
diff --git a/management/editor/editor.go b/management/editor/editor.go index 7194c27..511edb2 100644 --- a/management/editor/editor.go +++ b/management/editor/editor.go @@ -4,6 +4,7 @@ package editor import ( "bytes" + "log" "net/http" ) @@ -38,16 +39,28 @@ func Form(post Editable, fields ...Field) ([]byte, error) { editor := post.Editor() editor.ViewBuf = &bytes.Buffer{} - editor.ViewBuf.Write([]byte(`<table><tbody class="row"><tr class="col s8"><td>`)) + _, err := editor.ViewBuf.WriteString(`<table><tbody class="row"><tr class="col s8"><td>`) + if err != nil { + log.Println("Error writing HTML string to editor Form buffer") + return nil, err + } for _, f := range fields { addFieldToEditorView(editor, f) } - editor.ViewBuf.Write([]byte(`</td></tr>`)) + _, err = editor.ViewBuf.WriteString(`</td></tr>`) + if err != nil { + log.Println("Error writing HTML string to editor Form buffer") + return nil, err + } // content items with Item embedded have some default fields we need to render - editor.ViewBuf.Write([]byte(`<tr class="col s4 default-fields"><td>`)) + _, err = editor.ViewBuf.WriteString(`<tr class="col s4 default-fields"><td>`) + if err != nil { + log.Println("Error writing HTML string to editor Form buffer") + return nil, err + } publishTime := ` <div class="row content-only __ponzu"> @@ -98,9 +111,16 @@ func Form(post Editable, fields ...Field) ([]byte, error) { </div> ` - editor.ViewBuf.Write([]byte(publishTime)) + _, err = editor.ViewBuf.WriteString(publishTime) + if err != nil { + log.Println("Error writing HTML string to editor Form buffer") + return nil, err + } - addPostDefaultFieldsToEditorView(post, editor) + err = addPostDefaultFieldsToEditorView(post, editor) + if err != nil { + return nil, err + } submit := ` <div class="input-field post-controls"> @@ -186,16 +206,26 @@ func Form(post Editable, fields ...Field) ([]byte, error) { }); </script> ` - editor.ViewBuf.Write([]byte(submit + script + `</td></tr></tbody></table>`)) + _, err = editor.ViewBuf.WriteString(submit + script + `</td></tr></tbody></table>`) + if err != nil { + log.Println("Error writing HTML string to editor Form buffer") + return nil, err + } return editor.ViewBuf.Bytes(), nil } -func addFieldToEditorView(e *Editor, f Field) { - e.ViewBuf.Write(f.View) +func addFieldToEditorView(e *Editor, f Field) error { + _, err := e.ViewBuf.Write(f.View) + if err != nil { + log.Println("Error writing field view to editor view buffer") + return err + } + + return nil } -func addPostDefaultFieldsToEditorView(p Editable, e *Editor) { +func addPostDefaultFieldsToEditorView(p Editable, e *Editor) error { defaults := []Field{ Field{ View: Input("Slug", p, map[string]string{ @@ -220,7 +250,11 @@ func addPostDefaultFieldsToEditorView(p Editable, e *Editor) { } for _, f := range defaults { - addFieldToEditorView(e, f) + err := addFieldToEditorView(e, f) + if err != nil { + return err + } } + return nil } |