From dba072e9f2e08753e73c4e84c20eebe264274ab4 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Thu, 5 Sep 2013 21:00:53 -0700 Subject: [PATCH] html.parser.printer: some tweaks to the text-printer for my blog. --- extra/html/parser/printer/printer.factor | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/extra/html/parser/printer/printer.factor b/extra/html/parser/printer/printer.factor index bfedd2124f..17b10c91f3 100644 --- a/extra/html/parser/printer/printer.factor +++ b/extra/html/parser/printer/printer.factor @@ -21,10 +21,12 @@ ERROR: unknown-tag-error tag ; { [ dup name>> text = ] [ print-text-tag ] } { [ dup name>> comment = ] [ print-comment-tag ] } { [ dup name>> dtd = ] [ print-dtd-tag ] } - { [ dup [ name>> string? ] [ closing?>> ] bi and ] - [ print-closing-tag ] } { [ dup name>> string? ] - [ print-opening-tag ] } + [ + dup closing?>> + [ print-closing-tag ] [ print-opening-tag ] if + ] + } [ unknown-tag-error ] } cond ; @@ -37,10 +39,22 @@ ERROR: unknown-tag-error tag ; T{ src-printer } html-printer [ print-tags ] with-variable ; M: text-printer print-opening-tag - name>> "br" = [ nl ] when ; + name>> { + { "br" [ nl ] } + { "li" [ " * " write ] } + [ drop ] + } case ; M: text-printer print-closing-tag - name>> "p" = [ nl ] when ; + name>> + [ + { "p" "blockquote" "h1" "h2" "h3" "h4" "h5" } + member? [ nl nl ] when + ] + [ + { "ul" "ol" "li" "tr" } member? [ nl ] when + ] + [ "td" = [ " " write ] when ] tri ; M: html-printer print-text-tag ( tag -- ) text>> write ; -- 2.34.1