diff --git a/lib/outlook/internal_tree/html.ex b/lib/outlook/internal_tree/html.ex index 888e42d..aff0828 100644 --- a/lib/outlook/internal_tree/html.ex +++ b/lib/outlook/internal_tree/html.ex @@ -22,24 +22,23 @@ defmodule Outlook.InternalTree.Html do def strip_attributes([]), do: [] - def to_html([ %InternalNode{type: :element} = node | rest]) do - attr_string = Map.put(node.attributes, :uuid, node.uuid) - |> Enum.map_join(" ", fn {k,v} -> "#{k}=\"#{v}\"" end) - "<#{node.name} #{attr_string}>" <> + def to_html([%{type: :element} = node | rest]) do + attr_string = Enum.map_join(node.attributes, "", fn {k,v} -> " #{k}=\"#{v}\"" end) + "<#{node.name}#{attr_string}>" <> to_html(node.content) <> "" <> to_html(rest) end - def to_html([ %InternalNode{type: :text} = node | rest]) do + def to_html([%{type: :text} = node | rest]) do node.content <> to_html(rest) end - def to_html([ %InternalNode{type: :comment} = node | rest]) do + def to_html([%{type: :comment} = node | rest]) do "" <> to_html(rest) end - def to_html([ %TranslationUnit{} = tunit | rest]) do + def to_html([%TranslationUnit{} = tunit | rest]) do ~s(#{tunit.content}) <> to_html(rest) end