Editing Module:HF 0 You do not have permission to edit this page, for the following reasons: The action you have requested is limited to users in one of the groups: Users, FANDOM Staff, FANDOM Helpers, Wiki Managers, Content Team Members. Please log in to edit this wiki.Joining Yu-Gi-Oh! is free, and it only takes a minute.We hope that you sign in, and become a member of the community!Click here to log in or create an account more + You can view and copy the source of this page: -- HF stands for High Frequency. -- This Module augments the built-in HF local HF = mw.InfoboxBuilderHF ---------------------------- -- Libraries of functions -- ---------------------------- ----------------------- -- Libraries of data -- ----------------------- ------------------------------------------------ -- Local functions (used only in this Module) -- ------------------------------------------------ ---------------------------------------------------------- -- Public functions (called from a Template or article) -- ---------------------------------------------------------- --------------------------------------------------------- -- Internal functions (used in this and other Modules) -- --------------------------------------------------------- -- eliminates whitespace from the front and back of a string function HF.trim(s) if type(s) == 'string' then return (s:gsub("^%s*(.-)%s*$", '%1')) else return false end end -- This creates an external link. function HF.ExternalLink( target, label, plain ) local output = string.format('[%s %s]', target, label) if plain == true then output = string.format('<span class="plainlinks">%s</span>', output) end return output end -- This creates a link to a category, as well as placing it in that category. -- `sortkey` and `label` are optional -- If there's no `label` given, it will only place it in the category, -- which is what HF.Category is for. function HF.CategoryLink( category, sortkey, label ) if not HF.isempty( label ) then return HF.LinkToCategory( category, label ) .. HF.Category( category, sortkey ) else return HF.Category( category, sortkey ) end end -- Adds a Category -- `sortkey` is optional function HF.Category( category, sortkey ) if sortkey == nil then sortkey = '' else sortkey = '|' .. sortkey end return string.format('[['..'Category:%s%s]]', category, sortkey) end -- Adds a link to a Category function HF.LinkToCategory( category, label ) return string.format('[[:'..'Category:%s|%s]]', category, label or 'Category:' .. category ) end -- Adds an internal link -- `label` is optional function HF.Link( link, text ) if not HF.isempty( text ) then return string.format('[['..'%s|%s]]', link, text) else return string.format('[['..'%s]]', link) end end -- Adds a SMW inline property -- `label` is optional function HF.SMWP( property, value, label ) if label and (#label > 0) then return string.format('[['..'%s::%s|%s]]', property, value, label ) elseif type(label) == 'string' and ((#label == 0) or label == ' ')then return string.format('[['..'%s::%s| ]]', property, value ) else return string.format('[['..'%s::%s]]', property, value) end end -- Normalize page name function HF.NP( title ) title = title or mw.title.getCurrentTitle().text clear = title:gsub( '"', '\"'):gsub('&','&'):gsub(''', "\'"):gsub('=', '=') return clear end -- Unique table items function HF.unique( raw_table ) local hash = {} local unique_results = {} for _,v in ipairs( raw_table ) do if (not hash[v] and v ~= '') then table.insert( unique_results, mw.text.trim(v) ) hash[v] = true end end return unique_results end ------------------------------------------------- -- Output (send it back to whatever called it) -- ------------------------------------------------- return HF Return to Module:HF. Edit summary Show changes