Add importing html and save it to Article
Additionally defines a wizard logic which is partially unused yet.
This commit is contained in:
@ -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
|
||||
|
||||
Reference in New Issue
Block a user