From fc026a30f530b684fc49cf9240d213a420adfe17 Mon Sep 17 00:00:00 2001 From: Guilian Date: Sat, 18 Jan 2025 13:14:05 +0100 Subject: [PATCH] refactor: pseudo-elements use : instead of # prefix --- html.lua | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/html.lua b/html.lua index 5272233..0c4f274 100644 --- a/html.lua +++ b/html.lua @@ -298,7 +298,7 @@ function M.parse_tokens_into_document( TOKENS ) local token = TOKENS[i] if token.type == "WORD" then - if current_doc_element.tag_name == "#text" then + if current_doc_element.tag_name == ":text" then current_doc_element = current_doc_element.parent end @@ -392,7 +392,7 @@ function M.parse_tokens_into_document( TOKENS ) if token.type == "TEXT" then - local new_elem = M.make_dom_element( "#text", current_doc_element ) + local new_elem = M.make_dom_element( ":text", current_doc_element ) new_elem.content = token.value current_doc_element = new_elem @@ -411,7 +411,7 @@ end function M.clean_text_nodes(node) - if node.tag_name ~= "#text" then + if node.tag_name ~= ":text" then -- Don't clean anything in raw text tags if RAW_TEXT_TAGS[node.tag_name] then return @@ -451,15 +451,15 @@ function M.print_document(node, indent) -- Create the indentation string (e.g., " " for each level) local indent_str = string.rep(indent_level_str, indent) - if node.tag_name == "#text" then - print(indent_str .. "<#text>\n" .. node.content .. "\n" .. indent_str .. "") + if node.tag_name == ":text" then + print(indent_str .. "<:text>\n" .. node.content .. "\n" .. indent_str .. "") return end local node_name = "" -- Print the current node's tag name - node_name = node_name .. indent_str .. "<" .. (node.tag_name or "#root") + node_name = node_name .. indent_str .. "<" .. (node.tag_name or ":root") -- Print attributes if any if next(node.attributes) ~= nil then @@ -480,10 +480,12 @@ function M.print_document(node, indent) end -- Print the closing tag - print(indent_str .. "") + print(indent_str .. "") end + + function M.parse( html_string ) local clean_html = M.preprocess( html_string )