Module:HTMLParse: Difference between revisions

49 bytes added ,  01:16, 5 January 2021
it actually works now
(capitalize...?)
(it actually works now)
Line 21: Line 21:


function p.capitalize(frame)
function p.capitalize(frame)
local htmlString = frame.args.html
--local htmlString = frame.args.html
     if string.find(htmlString, "{") then
     --if string.find(htmlString, "{") then
        htmlString = frame:preprocess(htmlString)  --expand any templates that may have been passed to this module
      --  htmlString = frame:preprocess(htmlString)  --expand any templates that may have been passed to this module
     end
     --end
     prefix, postfix = htmlString:match'(<.*>)(.*%a)'  --split string at the first alphabetic character that appears immediately after a starting html tag <...>
     htmlString = frame
      --split string at the first alphabetic character that appears immediately after a starting html tag <...>
    prefix = htmlString:match'([^/]*>)' or ''
     if (prefix == nil or prefix == '') then
     if (prefix == nil or prefix == '') then
     if (postfix == nil or postfix == '') then
     return conjugate.capitalize(htmlString)  
    return htmlString  --return unmodified string
        else
        return conjugate.capitalize(htmlString)  
        end
     else
     else
      return (prefix .. conjugate.capitalize(postfix))
    _, a = htmlString:find'([^/]*>)'
    postfix = htmlString:sub(a + 1) or ''
    mw.log('prefix: ' .. prefix)
    mw.log('postfix: ' .. postfix)
    return (prefix .. conjugate.capitalize(postfix))
     end
     end
end
end