Add importing html and save it to Article

Additionally defines a wizard logic which is partially unused yet.
This commit is contained in:
Thelonius Kort
2022-12-29 16:43:52 +01:00
parent 60a22d011e
commit b7bd9195b6
24 changed files with 452 additions and 25 deletions

View File

@ -62,4 +62,40 @@ defmodule Outlook.HtmlPreparations.HtmlPreparation do
end
def set_sibling_with([ ]), do: ( [ ] )
def strip_whitespace_textnodes [ %{type: :text} = node | rest] do
if Regex.match?(~r/^\s*$/, node.content) do
strip_whitespace_textnodes(rest)
else
[ node | strip_whitespace_textnodes(rest)]
end
end
def strip_whitespace_textnodes [ %{type: :element} = node | rest] do
[ %InternalNode{ node | content: strip_whitespace_textnodes(node.content) }
| strip_whitespace_textnodes(rest) ]
end
def strip_whitespace_textnodes [ node | rest] do
[ node | strip_whitespace_textnodes(rest) ]
end
def strip_whitespace_textnodes([]), do: []
def build_indentation_list [ %{type: :element} = node | rest], level do
[ %{node: Map.replace(node, :content, []), level: level}
| [ build_indentation_list(node.content, level + 1)
| build_indentation_list(rest, level)
]
] |> List.flatten
end
def build_indentation_list [ node | rest ], level do
[ %{node: node, level: level}
| build_indentation_list( rest, level ) ]
end
def build_indentation_list([ ], _), do: []
end