From: Jason Woofenden Date: Wed, 9 Mar 2016 07:00:02 +0000 (-0500) Subject: pretty-print html: one-line mode for small blocks X-Git-Url: https://jasonwoof.com/gitweb/?p=peach-html5-editor.git;a=commitdiff_plain;h=a8e360112070562e780d12d52eec7ab054a1c6a5 pretty-print html: one-line mode for small blocks --- diff --git a/editor.coffee b/editor.coffee index 2d06854..d9b8ac5 100644 --- a/editor.coffee +++ b/editor.coffee @@ -145,6 +145,12 @@ dom_to_html = (dom, indent = '', parent_is_block = false) -> switch el.type when TYPE_TAG is_block = is_display_block el.el + if is_block + is_tiny_block = false + if el.children.length is 1 + if el.children[0].type is TYPE_TEXT + if el.children[0].text.length < 35 + is_tiny_block = true if is_block or (parent_is_block and i is 0) ret += indent ret += '<' + el.name @@ -163,10 +169,10 @@ dom_to_html = (dom, indent = '', parent_is_block = false) -> else next_indent = indent if el.children.length - if is_block + if is_block and not is_tiny_block ret += "\n" - ret += dom_to_html el.children, next_indent, is_block - if is_block or (parent_is_block and i is dom.length - 1) + ret += dom_to_html el.children, next_indent, is_block and not is_tiny_block + if is_block and not is_tiny_block ret += indent ret += "" if is_block or (parent_is_block and i is dom.length - 1)