Difference between revisions 21306633 and 21306634 on frwiktionarylocal export = {} local m_submodule = nil -- The main entry point. -- This is the only function that can be invoked from a template. function export.show(frame) if mw.title.getCurrentTitle().nsText == "Template" then (contracted; show full) errortext = "The label \"" .. (info.label or "") .. "\" given to the " .. mw.getCurrentFrame():expandTemplate{title = "temp", args = {template}} .. " template is not valid. " .. "You may have mistyped it, or it simply has not been created yet. To add a new label, please consult the documentation of the template." category = "[[Category:Categories with invalid label]]" else local expected_name = (info.code and current:getBasicName() or current:getUmbrellacurrent:getCategoryName()) if expected_name ~= mw.title.getCurrentTitle().text then errortext = "Based on the parameters given to the " .. mw.getCurrentFrame():expandTemplate{title = "temp", args = {template}} .. " template, this category should be called '''[[:Category:" .. expected_name .. "]]'''." category = "[[Category:Categories with incorrect name]]" end end if errortext then return (category or "") .. mw.getCurrentFrame():expandTemplate{title = "maintenance box", args = { "red", image = "[[File:Ambox warning pn.svg|50px]]", title = "The automatically-generated contents of this category has errors.", text = errortext, }} else return nil end end -- Show the parent categories that the current category should be placed in. function show_categories(info, categories) local parents = (info.code and m_submodule.new(info):getBasicParentLabels() or m_submodule.new(info):getUmbrellaParentLabels()s() if not parents then return end for _, parent in ipairs(parents) do if type(parent.name) == "string" then table.insert(categories, "[[" .. parent.name .. "|" .. parent.sort .. "]]") else local parent_name = (info.code and parent.name:getBasicName() or parent.name:getUmbrellaparent.name:getCategoryName()) table.insert(categories, "[[Category:" .. parent_name .. "|" .. parent.sort .. "]]") end end if info.code then -- Also put the category in its corresponding "umbrella" or "by language" category. local umbrella = m_submodule.new(info):getUmbrellaName() if umbrella then local current_name = m_submodule.new(info):getBasicCategoryName() table.insert(categories, "[[Category:" .. umbrella:getCategoryName() .. "|" .. current_name .. "]]") end end end -- Show navigational "breadcrumbs" at the top of the page. function show_breadcrumbs(info) local steps = {} -- Start at the current label and move our way up the "chain" from child to parent, until we can't go further. local current = m_submodule.new(info) while current do local category = nil local display_name = nil if type(current) == "string" then category = current display_name = current:gsub("^Category:", "") else category = "Category:" .. (info.code and current:getBasicName() or current:getUmbrellacurrent:getCategoryName()) display_name = current:getBreadcrumbName() end display_name = mw.getContentLanguage():ucfirst(display_name) table.insert(steps, 1, "» [[:" .. category .. "|" .. display_name .. "]]") -- Move up the "chain" by one level. if type(current) == "string" then current = nil else current = (info.code and current:getBasicParentLabels() or current:getUmbrellaParentLabels()s() if current then current = current[1].name end end end return "<small>" .. table.concat(steps, " ") .. "</small>" end -- Show a short description text for the category. function show_description(info) if info.code then⏎ local description = m_submodule.new(info):getBasicDescription() local edit = m_submodule.new(info):getDataModule() return (description or "") .. mw.getCurrentFrame():expandTemplate{title = "edit", args = {edit, type = "sup"}} else local description = m_submodule.new(info):getUmbrellaDescription() local edit = m_submodule.new(info):getDataModule() return (description or "") .. mw.getCurrentFrame():expandTemplate{title = "edit", args = {edit, type = "sup"}} end⏎ end -- Show a list of child categories. function show_children(info) if not info.code then return nil end local children_list = {} local children = m_submodule.new(info):getBasicChildLabelsChildren() if not children then return nil end for _, child in ipairs(children) do local child_basic = child:getBasicCategoryName() local child_page = mw.title.new("Category:" .. child_basic) if child_page.exists then local child_description = child:getBasicDescription() table.insert(children_list, "* [[:Category:" .. child_basic .. "]]: " .. child_description) end end return table.concat(children_list, "\n") end -- Show a table of contents with links to each letter in the language's script. function show_TOC(info) if not info.code then return nil end local num_pages = mw.site.stats.pagesInCategory(mw.title.getCurrentTitle().text, "pages") -- No need for a TOC if all entry names can fit on one page. if num_pages > 200 then -- This category is very large, see if there is an "extended" version of the TOC. if num_pages > 2500 then local TOC_template_extended = mw.title.new("Template:" .. info.code .. "-categoryTOC/full") if TOC_template_extended.exists then return mw.getCurrentFrame():expandTemplate{title = TOC_template_extended.text, args = {}} end end local TOC_template = mw.title.new("Template:" .. info.code .. "-categoryTOC") if TOC_template.exists then return mw.getCurrentFrame():expandTemplate{title = TOC_template.text, args = {}} end end return nil end return export All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://fr.wiktionary.org/w/index.php?diff=prev&oldid=21306634.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|