diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/make4ht/domfilters/make4ht-fixinlines.lua |
Initial commit
Diffstat (limited to 'support/make4ht/domfilters/make4ht-fixinlines.lua')
-rw-r--r-- | support/make4ht/domfilters/make4ht-fixinlines.lua | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/support/make4ht/domfilters/make4ht-fixinlines.lua b/support/make4ht/domfilters/make4ht-fixinlines.lua new file mode 100644 index 0000000000..25489f59ca --- /dev/null +++ b/support/make4ht/domfilters/make4ht-fixinlines.lua @@ -0,0 +1,57 @@ +local inline_elements = { + b=true, + big=true, + i=true, + small=true, + tt=true, + abbr=true, + acronym=true, + cite=true, + code=true, + dfn=true, + em=true, + kbd=true, + strong=true, + samp=true, + time=true, + var=true, + a=true, + bdo=true, + br=true, + img=true, + map=true, + object=true, + q=true, + script=true, + span=true, + sub=true, + sup=true, + button=true, + input=true, + label=true, + select=true, + textarea=true, + mn=true, + mi=true +} + + +local function fix_inlines(obj) + local settings = get_filter_settings "fixinlines" + local inline_elements = settings.inline_elements or inline_elements + local nodes = obj:get_path("html body") + obj:traverse_node_list(nodes, function(jej) + if jej._type == "ELEMENT" then + local name = string.lower(jej._name) + -- local parent = jej:get_parent_node() + if inline_elements[name] then + local new = obj:create_element("p" ) + new:add_child_node(obj:copy_node(jej)) + jej:replace_node(new) + end + end + end) + return obj +end + +return fix_inlines |