diff -urN v5/ezhtml.py v6/ezhtml.py --- v5/ezhtml.py 2018-09-18 00:31:27.000000000 +0900 +++ v6/ezhtml.py 2018-09-18 21:51:22.000000000 +0900 @@ -15,6 +15,19 @@ s = s.replace(f, t) return s +def dump_tag(tag, v): + lst = bak = tag.split(' ') + if lst[-1] == '/': + lst = lst[:-1] + if lst[0][-1] == '/': + lst = [ lst[0][:-1] ] + lst[1:] + s = '<' + ' '.join(lst) + '>' + if v != '/': + s += html_dump(v) + if lst == bak: + s += '' + return s + def html_dump(o): if not o: return '' @@ -22,10 +35,7 @@ return '\n'.join( map(html_dump, o) ) if type(o) == dict: (tag, v) = list( o.items() )[0] - s = '<' + tag + '>' - if v != '/': - s += html_dump(v) + '' - return s + return dump_tag(tag, v) return cv_amp(o) def get_tag(s):