Vikipetã gnwiki https://gn.wikipedia.org/wiki/Ape MediaWiki 1.39.0-wmf.21 first-letter Medio Mba'echĩchĩ Myangekõi Puruhára Puruhára myangekõi Vikipetã Vikipetã myangekõi Ta'ãnga Ta'ãnga myangekõi MediaWiki MediaWiki myangekõi Tembiecharã Tembiecharã myangekõi Pytyvõ Pytyvõ myangekõi Ñemohenda Ñemohenda myangekõi TimedText TimedText talk Módulo Módulo discusión Accesorio Accesorio discusión Accesorio definición Accesorio definición discusión Tetãnguéra Joaju 0 7034 120713 120500 2022-07-23T13:46:00Z Kwamikagami 1335 wikitext text/x-wiki [[Ta'ãnga:Flag of the United Nations.svg|thumb|Tetãnguéra Joaju Poyvi]] [[ta'ãnga:United Nations (Member States and Territories).svg|thumb|193 tetã]] '''Tetãnguéra Joaju''' ([[Karaiñe'ẽ|karaiñe'ẽme]]: '''O'''rganización de las '''N'''aciones '''U'''nidas - '''ONU''') ha'e atyvusu tuichavéva opa tetãnguéra pegua. Omborokuaijai heta tekombo'e porã, py'aguapy reko rehegua ha kyhyje'ỹ reko rehegua. Oñepyrũ va'ekue ára 24 jasypa ary [[1945]]-pe, táva San Francisco, [[Estados Unidos]]-pe. Ko'ãga oguereko 193 tetã oikóva ipype, ha ijatyharóga oĩ táva [[New York City|Nueva York]]. Tetãnguéra Joaju ñe'ẽnguéra ha'e [[áraveñe'ẽ]], [[chinañe'ẽ]], [[karaiñe'ẽ]], [[hyãsiañe'ẽ]], [[inglyesñe'ẽ]] ha [[rrusiañe'ẽ]]. Tetãita Joaju Atyvusu niko oñemoheñóikuri ára 24 jasypa ary 1945-pe opa riremi Yvóra Ñorãirõ Mokõiha. 51 [[tetã]] omoheñõikuri ko joaju ohekávo hikuái py'aguapy ha angave'ỹ yvórape, omombaretévo tekoayhu ha tekohakuéra ñemotenonde, upéicha avei omba'apóvo tekoporãve rekávo ha ava tekopygua ñeñangarekóre. Ko'ag̃aitérõ oĩ 193 tetã ipype. Tetãita Joaju Atyvusu omboaje hemimo'ã ha hembiaporã peteĩ Amandaje Guasu rupi oĩháme mayma tetã ipypegua. Oguereko peteĩ Pytyvõhára Guasu Amandaje Guasu oiporavóva ha oguerekojeýva ipoguýpe 40.000 mba'apohára rasami ko yvóra tuichakue javeve. Tetãita Joaju Atyvusuoguereko hóga Táva Nueva York, Estados Unidos de Amérika retãme. Tetãita Joaju réra niko omoheñoiva'ekue Norteamérica retã ruvicha [[Franklin D. Roosevelt]] ha ojepuru'ypýkuri ára [[1 jasyteĩ]] ary [[1942]]-pe, Yvóra Ñorãirõ Mokõiha aja, 26 tetã omboajérõguare “Tetãita Joaju Kuatia” he'ihaguépe ha'ekuéra, joajúpe, oñorãirõvetaha [[Alemania]], [[Italia]] ha [[Japón]] ndive. Tetãita Joaju rembiapo og̃uahẽ opaite tenda ko yvoraguápe. Jepémo ojekuaave py'aguapy ñangarekóre, py'aguapy mombaretevére, ñorãirõ ñemboguére ha oipytyvõre tapichakuérape hemikotevẽme.<ref>[http://cafehistoria.ning.com/profiles/blogs/aniversario-de-las-naciones-unidas-naciones-unidas-aramboty ANIVERSARIO DE LAS NACIONES UNIDAS - TETÃITA JOAJU ARAMBOTY Ohai: David Galeano Olivera]</ref> == Joaju == <references/> [[Ñemohenda:Tetãnguéra Joaju| ]] rr6pf1ir25ym2g8u8agckye5nhzjlde Tete pehẽngue 0 7951 120725 108702 2022-07-24T02:43:09Z 2803:2A00:3000:E003:2516:600A:E101:2F36 wikitext text/x-wiki [[File:The Principal Organs and Vascular and Urino-Genital Systems of a Woman.jpg|thumb|Kuña hete pehẽngue.]] '''Tete pehẽngue''' ({{es|órgano}}) yvypóra térã mymba [[tete]] mba'e opytyvõ hete omba'apo porã hag̃ua. {| class="wikitable" |- style="background-color: #efefef" !width="180px"|'''Tete renda''' !width="150"|'''Pehẽngue''' !width="450"|'''Ambue pehẽngue''' ''(ndaha'éi pehẽngue ete)'' |- align="center" |'''[[Akã]] ha [[ajúra]]''' |[[tesa]], [[apysa]], [[kũ]], ''[[apytu'ũ]]'' |[[akã kangue]], [[juru]], [[tãi|tãinguéra]], [[tĩngua]], [[laringe]], [[faringe]], [[glándulas salivares]], [[vértebra cervical|vértebras cervicales]], [[glándula tiroides|tiroides]], [[paratiroides]] y [[encéfalo]] (parte del [[sistema nervioso central]]) |- align="center" |'''[[Pyti'a]]''' |[[ñe'ãvevúi]], [[ñe'ã]], [[timo]] |[[esófago]], [[tráquea]], [[kama tajygue]], [[pujase'o]] , [[pyti'a kangue]], [[caja torácica]], [[Ñarukã|ñarukãnguéra]], [[pyti'a rape]], [[py'asãngue]], ha [[karaku tatĩ pegua]] (que es parte del [[sistema nervioso central]])[[mediastino]] '' |- align="center" |'''[[Tyeguy]]''' | [[py'a]], [[py'akue]], [[perevyvuku|perykã]], [[perevy]], [[pitikiri'i]] |[[peritoneo]], [[duodeno]], [[tyekue]], [[hiel ryru]], [[glándulas suprarrenales]] |- align="center" |'''[[Tyeguy]] guy''' | [[ovario]]s, [[takokã]], [[membyryru]], [[tembo]], [[ta'ỹi]], [[próstata]] [[tyryru]] |[[trompas de falopio]], [[tako]], [[tapypi]], [[takambypa'ũ]] ha [[tyekue]]... |- align="center" |'''[[Tete apýra]]''' | -- |'''''[[Apýra yvate]]''': [[ati'y]], [[cintura escapular]], [[jyva]], [[jyva'anga]], [[jyvanga]], [[poapu'a]], [[po]]<br />'''[[Apýra guy]]''': [[cintura pelviana]], [[úva]], [[tenypy'ã]], [[tetyma]], [[pyñuã]] ha [[Py]]'' |} [[Ñemohenda:Tete]] imcetiwqz5q1hrudea3vk9zsv5u36tk Borneo 0 11131 120714 105407 2022-07-23T15:24:22Z EmausBot 2375 Bot: corrección de redirección doble a [[Voronéo]] wikitext text/x-wiki #REDIRECCIÓN [[Voronéo]] rb97bki48e1fxj81uq5wtoqohr9wpmz Myangekõi:Karakaru (jueheguaty) 1 14571 120715 120676 2022-07-23T19:08:08Z P. S. F. Freitas 2357 /* Héra guaraníme */ Respuesta wikitext text/x-wiki == Héra guaraníme == Maitei. Ko mymba heñoihaguére Áfirika ha Ásiape, Amérika tavakuéra nome’ẽi ichupe peteĩ téra iñe’ẽme. Ndojejuhúi ni peteĩ aranduka guarani ñe’ẽme, ni peteĩ ñe’ẽryrúpe. Amoñe’ẽasaseva’ekue ipuháicha, uvei "karaka" ipueterei Karákaicha, ñe’ẽ ojeipurúva oñembohéra hag̃ua "Caracas" tavaguasúpe, ha "karakara" ha’e peteĩ guyra (''Caracara plancus''). Upévare, aipyhy hérarã hapõñe’ẽgui カラカル (''Karakaru''), oguerekohaguére peteĩ ñe’ẽpu’andu ojejoguáva guarani ñe’ẽme. ¿Peẽ mba’e peje? Hola. Debido a que este animal es originario de África y Asia, los pueblos americanos no le dieron un nombre en su idioma. No se encuentra en ningún libro en guaraní, ni en ningún diccionario. Quería traducirlo como suena, pero "''karaka''" suena muy parecido a ''Karáka'', palabra que se usa para nombrar a la ciudad "Caracas", y "''karakara''" es un ave (Caracara plancus). Por lo tanto, tomé su nombre del japonés カラカル (''Karakaru''), porque posee una fonética similar al idioma guaraní. ¿Qué piensan ustedes? [[Puruhára:Guarandu|Guarandu]] ([[Puruhára myangekõi:Guarandu|discusión]]) 10:08 21 jasypokõi 2022 (UTC) :Oĩ porã chéve. [[Puruhára:P. S. F. Freitas|P. S. F. Freitas]] ([[Puruhára myangekõi:P. S. F. Freitas|discusión]]) 19:08 23 jasypokõi 2022 (UTC) hayyavelhwdcmlpsyzpj2rarspy81us Tembiecharã:Marco 3D 10 14584 120716 2022-07-23T19:36:16Z P. S. F. Freitas 2357 Kuatiarogue ipyahúva: <includeonly> {| style="border:{{#if: {{{tamañobordeext|}}}|{{{tamañobordeext}}}|1px}} solid {{{bordeext|#808080}}}; vertical-align:top; width:100%; background-color:{{{fondoext|#D3D3D3}}}; margin-top:5px; margin-bottom:5px; padding:0.5px 0.5px 0.5px 0.5px; border-radius:4px;" | <div style="margin-top:0px; margin-bottom:3px; padding:.2em; border:{{#if: {{{tamañobordeint|}}}{{{tamañoborde|}}}|{{{tamañobordeint|}}}{{{tamañoborde|}}}|1px}} solid {{{bordeint|#808080… wikitext text/x-wiki <includeonly> {| style="border:{{#if: {{{tamañobordeext|}}}|{{{tamañobordeext}}}|1px}} solid {{{bordeext|#808080}}}; vertical-align:top; width:100%; background-color:{{{fondoext|#D3D3D3}}}; margin-top:5px; margin-bottom:5px; padding:0.5px 0.5px 0.5px 0.5px; border-radius:4px;" | <div style="margin-top:0px; margin-bottom:3px; padding:.2em; border:{{#if: {{{tamañobordeint|}}}{{{tamañoborde|}}}|{{{tamañobordeint|}}}{{{tamañoborde|}}}|1px}} solid {{{bordeint|#808080}}}; background-color:{{{fondotitulo|}}}; background: linear-gradient(to bottom, {{#if: {{{fondotitulo|}}}|{{{fondotitulo}}}|#708090}}, {{#if: {{{fondotitulodeg|}}}|{{{fondotitulodeg}}}|#222222}}); border-radius:10px;"> <span style="padding:0 4px 0 4px; float:right; font-size:85%;"><span class="plainlinks noprint">[{{fullurl:{{{editonly|{{{contenido}}}}}}|action=edit}} <span style="color:{{{colortitulo|#FFFFFF}}};">Editar{{#if: {{{colortitulo|}}} |</span>|}}]</span></span><div style="color:{{{colortitulo|#FFFFFF}}}; text-align:{{{align|left}}}; font-weight:bold; font-size:{{{tamañotit|100%}}};">&nbsp;{{#if: {{{logo|}}}|[[image:{{{logo}}}|{{{px|21x21}}}px|link=]]|}}&nbsp;&nbsp;{{{título|escriba el título}}}</div></div> <div style="margin-bottom:0px; padding:.5em; background:{{#if: {{{fondotexto|}}}|{{{fondotexto}}}|#FFF}}; border:{{#if: {{{tamañobordetexto|}}}|{{{tamañobordetexto}}}|1px}} solid {{#if: {{{bordetexto|}}}|{{{bordetexto}}}|#AAAAAA}}"> {{#if: {{{height|}}} |<div style="height: {{{height}}}; font-size:95%; width: 100%; overflow: auto; padding: 3px;text-align: left;" title="Colocar altura"; >|}} {{#if: {{{contenido|}}}|{{{{{contenido}}}}}|Coloque el enlace al artículo}}{{#if: {{{enlacearchivo|}}} |<div class="noprint" style="text-align:right; margin:0.3em 0.2em 0.2em 0.3em; padding:0.3em 0.2em 0.2em 0.3em; vertical-align:bottom;">[[File:Nuvola apps ark.png|22px|Archives]] <b>[[{{{enlacearchivo}}}|Nombre/Archivos...]]</b></div>|}}{{#if: {{{height|}}} |</div>|}}</div> |} </includeonly><noinclude>[[Ñemohenda:Tembiecharã]]</noinclude> tlh2opyaszbgjahgit7p0c6k7ljt8mh Tembiecharã:Extracto 10 14585 120717 2022-07-23T19:51:52Z P. S. F. Freitas 2357 Kuatiarogue ipyahúva: <includeonly>{{#invoke:Excerpt|main | 1 = {{{artículo|{{{página|{{{1}}}}}}}}} | 2 = {{{sección|{{{fragmento|{{{2|}}}}}}}}} | only = {{#switch:{{{solo|}}} | archivo = file | archivos = files | lista = list | listas = lists | tabla = table | tablas = tables | párrafo = paragraph | párrafos = paragraphs | plantilla = template | plantillas = templates }} | files = {{{archivos|{{{archivo|}}}}}} | templates = {{{plantillas|{{{plantilla|}}}}}} | lists = {{{li… wikitext text/x-wiki <includeonly>{{#invoke:Excerpt|main | 1 = {{{artículo|{{{página|{{{1}}}}}}}}} | 2 = {{{sección|{{{fragmento|{{{2|}}}}}}}}} | only = {{#switch:{{{solo|}}} | archivo = file | archivos = files | lista = list | listas = lists | tabla = table | tablas = tables | párrafo = paragraph | párrafos = paragraphs | plantilla = template | plantillas = templates }} | files = {{{archivos|{{{archivo|}}}}}} | templates = {{{plantillas|{{{plantilla|}}}}}} | lists = {{{listas|{{{lista|}}}}}} | tables = {{{tablas|{{{tabla|}}}}}} | paragraphs = {{{párrafos|{{{párrafo|}}}}}} | references = {{{referencias|}}} | subsections = {{{subsecciones|}}} | bold = {{{negritas|}}} | class = {{#if:{{{marcador|}}}|excerpt-indicator|{{{clase|}}}}} | more = {{#ifeq:{{{aviso|}}}|final|1}} | hat = {{#ifeq:{{{aviso|}}}|final|0|{{{aviso|}}}}} | this = {{{inicio|}}} | quote = {{{cita|}}} | inline = {{{span|}}} }}</includeonly> 8h9v4k8itovwbanx5tyzmdeqdvrb1sx Tembiecharã:Extracto/estilo.css 10 14586 120718 2022-07-23T19:53:25Z P. S. F. Freitas 2357 Kuatiarogue ipyahúva: /** * [[Ñemohenda:Vikipetã:Subpáginas de estilo de plantillas]] */ .excerpt-hat .mw-editsection-like { font-style: normal; } .excerpt-more { text-align: right; } .excerpt-indicator { border-left: 3px solid #c8ccd1; margin: 1em 0; padding-left: 1em; } sanitized-css text/css /** * [[Ñemohenda:Vikipetã:Subpáginas de estilo de plantillas]] */ .excerpt-hat .mw-editsection-like { font-style: normal; } .excerpt-more { text-align: right; } .excerpt-indicator { border-left: 3px solid #c8ccd1; margin: 1em 0; padding-left: 1em; } 5390uhhwledebjdobvpsqai08apnyyz Okẽndusu:Ñemby Amérika/Intro 0 14587 120719 2022-07-23T21:20:30Z P. S. F. Freitas 2357 Kuatiarogue ipyahúva: [[File:South America (orthographic projection).svg|120px|right]] {{Extracto|Ñemby Amérika|aviso=final|referencias=no|negritas=si|párrafos=1-2|referencias=no}} wikitext text/x-wiki [[File:South America (orthographic projection).svg|120px|right]] {{Extracto|Ñemby Amérika|aviso=final|referencias=no|negritas=si|párrafos=1-2|referencias=no}} 5gt6166idzz3wa9933mbrbt4v05yvur Módulo:Excerpt 828 14588 120720 2022-07-23T21:21:33Z P. S. F. Freitas 2357 Kuatiarogue ipyahúva: -- Module:Excerpt implements the Excerpt template -- Documentation https://www.mediawiki.org/wiki/Module:Excerpt -- By User:Sophivorus, User:Certes & others -- Version 1.2 -- License CC-BY-SA-4.0 local Transcluder = require('Module:Transcluder') local yesno = require('Module:Yesno') local ok, config = pcall(require, 'Module:Excerpt/config') if not ok then config = {} end local p = {} -- Helper function to get arguments local args function getArg(key, default) va… Scribunto text/plain -- Module:Excerpt implements the Excerpt template -- Documentation https://www.mediawiki.org/wiki/Module:Excerpt -- By User:Sophivorus, User:Certes & others -- Version 1.2 -- License CC-BY-SA-4.0 local Transcluder = require('Module:Transcluder') local yesno = require('Module:Yesno') local ok, config = pcall(require, 'Module:Excerpt/config') if not ok then config = {} end local p = {} -- Helper function to get arguments local args function getArg(key, default) value = args[key] if value and mw.text.trim(value) ~= '' then return value end return default end -- Helper function to handle errors function getError(message, value) if type(message) == 'string' then message = Transcluder.getError(message, value) end if config.categories and config.categories.errors and mw.title.getCurrentTitle().isContentPage then message:node('[[Category:' .. config.categories.errors .. ']]') end return message end -- Helper function to get localized messages function getMessage(key) local ok, TNT = pcall(require, 'Module:TNT') if not ok then return key end return TNT.format('I18n/Module:Excerpt.tab', key) end function p.main(frame) args = Transcluder.parseArgs(frame) -- Make sure the requested page exists local page = getArg(1) if not page then return getError('no-page') end local title = mw.title.new(page) if not title then return getError('no-page') end if title.isRedirect then title = title.redirectTarget end if not title.exists then return getError('page-not-found', page) end page = title.prefixedText -- Set variables from the template parameters local section = getArg(2, mw.ustring.match( getArg(1), '[^#]+#(.+)') ) local hat = yesno( getArg('hat', true) ) local edit = yesno( getArg('edit', true) ) local this = getArg('this') local only = getArg('only') local files = getArg('files', getArg('file', ( only == 'file' and 1 ) ) ) local lists = getArg('lists', getArg('list', ( only == 'list' and 1 ) ) ) local tables = getArg('tables', getArg('table', ( only == 'table' and 1 ) ) ) local templates = getArg('templates', getArg('template', ( only == 'template' and 1 ) ) ) local paragraphs = getArg('paragraphs', getArg('paragraph', ( only == 'paragraph' and 1 ) ) ) local references = getArg('references') local subsections = not yesno( getArg('subsections') ) local noBold = not yesno( getArg('bold') ) local freefiles = yesno( getArg('freefiles') ) local inline = yesno( getArg('inline') ) local quote = yesno( getArg('quote') ) local more = yesno( getArg('more') ) local class = getArg('class') -- Build the hatnote if hat and not inline then if this then hat = this elseif quote then hat = getMessage('this') elseif only then hat = getMessage(only) else hat = getMessage('section') end hat = hat .. ' ' .. getMessage('excerpt') .. ' ' if section and not fragment then hat = hat .. '[[:' .. page .. '#' .. mw.uri.anchorEncode(section) .. '|' .. page .. ' § ' .. mw.ustring.gsub(section, '%[%[([^]|]+)|?[^]]*%]%]', '%1') .. ']].' -- remove nested links else hat = hat .. '[[:' .. page .. '|' .. page .. ']].' end if edit then hat = hat .. '<span class="mw-editsection-like plainlinks"><span class="mw-editsection-bracket">[</span>[' hat = hat .. title:fullUrl('action=edit') .. ' ' .. mw.message.new('editsection'):plain() hat = hat .. ']<span class="mw-editsection-bracket">]</span></span>' end if config.hat then hat = config.hat .. hat .. '}}' hat = frame:preprocess(hat) else hat = mw.html.create('div'):addClass('dablink excerpt-hat'):wikitext(hat) end else hat = nil end -- Build the "Read more" link if more and not inline then more = "'''[[" .. page .. '#' .. (section or '') .. "|" .. getMessage('more') .. "]]'''" more = mw.html.create('div'):addClass('noprint excerpt-more'):wikitext(more) else more = nil end -- Build the options for Module:Transcluder out of the template parameters and the desired defaults local options = { files = files, lists = lists, tables = tables, paragraphs = paragraphs, sections = subsections, categories = 0, references = references, only = only and mw.text.trim(only, 's') .. 's', noBold = noBold, noSelfLinks = true, noNonFreeFiles = freefiles, noBehaviorSwitches = true, fixReferences = true, linkBold = true, } -- Get the excerpt itself local title = page .. '#' .. (section or '') local ok, excerpt = pcall(Transcluder.get, title, options) if not ok then return getError(excerpt) end if mw.text.trim(excerpt) == '' and not only then if section then return getError('section-empty', section) else return getError('lead-empty') end end -- If no file was found, try to get one from the infobox local fileNamespaces = Transcluder.getNamespaces('File') if ((only == 'file' or only == 'files') or (not only and (files ~= '0' or not files))) and -- caller asked for files not Transcluder.matchAny(excerpt, '%[%[', fileNamespaces, ':') and -- and there are no files in Transcluder's output config.captions -- and we have the config option required to try finding files in templates then -- We cannot distinguish the infobox from the other templates so we search them all local infobox = Transcluder.getTemplates(excerpt); infobox = table.concat(infobox) local parameters = Transcluder.getParameters(infobox) local file, captions, caption for _, pair in pairs(config.captions) do file = pair[1] file = parameters[file] if file and Transcluder.matchAny(file, '^.*%.', {'[Jj][Pp][Ee]?[Gg]','[Pp][Nn][Gg]','[Gg][Ii][Ff]','[Ss][Vv][Gg]'}, '.*') then file = mw.ustring.match(file, '%[?%[?.-:([^{|]+)%]?%]?') or file -- [[File:Example.jpg{{!}}upright=1.5]] to Example.jpg captions = pair[2] for _, p in pairs(captions) do if parameters[p] then caption = parameters[p] break end end excerpt = '[[File:' .. file .. '|thumb|' .. (caption or '') .. ']]' .. excerpt if ( freefiles ) then excerpt = Transcluder.removeNonFreeFiles(excerpt) end break end end end -- Unlike other elements, templates are filtered here -- because we had to search the infoboxes for files local trash if only and (only == 'template' or only == 'templates') then trash, excerpt = Transcluder.getTemplates(excerpt, templates); else -- Remove blacklisted templates local blacklist = config.blacklist and table.concat(config.blacklist, ',') or '' if templates then if string.sub(templates, 1, 1) == '-' then --Unwanted templates. Append to blacklist blacklist = templates .. ',' .. blacklist else --Wanted templates. Replaces blacklist and acts as whitelist blacklist = templates end else blacklist = '-' .. blacklist end trash, excerpt = Transcluder.getTemplates(excerpt, blacklist); end -- Remove extra line breaks but leave one before and after so the parser interprets lists, tables, etc. correctly excerpt = mw.text.trim(excerpt) excerpt = string.gsub(excerpt, '\n\n\n+', '\n\n') excerpt = '\n' .. excerpt .. '\n' -- Remove nested categories excerpt = frame:preprocess(excerpt) local categories, excerpt = Transcluder.getCategories(excerpt, options.categories) -- Add tracking categories if config.categories then local contentCategory = config.categories.content if contentCategory and mw.title.getCurrentTitle().isContentPage then excerpt = excerpt .. '[[Category:' .. contentCategory .. ']]' end local namespaceCategory = config.categories[ mw.title.getCurrentTitle().namespace ] if namespaceCategory then excerpt = excerpt .. '[[Category:' .. namespaceCategory .. ']]' end end -- Load the styles local styles if config.styles then styles = frame:extensionTag( 'templatestyles', '', { src = config.styles } ) end -- Combine and return the elements local tag1 = 'div' local tag2 = 'div' if inline then tag1 = 'span' tag2 = 'span' elseif quote then tag2 = 'blockquote' end excerpt = mw.html.create(tag1):addClass('excerpt'):wikitext(excerpt) local block = mw.html.create(tag2):addClass('excerpt-block'):addClass(class) return block:node(styles):node(hat):node(excerpt):node(more) end -- Entry points for backwards compatibility function p.lead(frame) return p.main(frame) end function p.excerpt(frame) return p.main(frame) end return p sgzuf1kkpk56x8im7uw6ztnfi4wkw6e Tembiecharã:Okẽndusu:Ñemby Amérika/Ñemby Amérika rokẽndusukuéra 10 14589 120721 2022-07-23T21:36:17Z P. S. F. Freitas 2357 Kuatiarogue ipyahúva: <div style="margin:0 auto;text-align:center;"> '''[[Okẽndusu:Ñemby Amérika/Ñemby Amérika rokẽndusukuéra|Ñemby Amérika rokẽndusukuéra]]''' <div style="font-size:90%"> {| style="background:transparent; text-align:center;" width="100%" |- | width=10% | [[File:Flag map of Argentina.svg|60x60px|link=Okẽndusu:Arahentína]] | width=10% | [[File:Flag-map of Bolivia.svg|60x60px|link=Okẽndusu:Volívia]] | width=10% | File:Map of Brazil with flag.svg|60x60px|… wikitext text/x-wiki <div style="margin:0 auto;text-align:center;"> '''[[Okẽndusu:Ñemby Amérika/Ñemby Amérika rokẽndusukuéra|Ñemby Amérika rokẽndusukuéra]]''' <div style="font-size:90%"> {| style="background:transparent; text-align:center;" width="100%" |- | width=10% | [[File:Flag map of Argentina.svg|60x60px|link=Okẽndusu:Arahentína]] | width=10% | [[File:Flag-map of Bolivia.svg|60x60px|link=Okẽndusu:Volívia]] | width=10% | [[File:Map of Brazil with flag.svg|60x60px|link=Okẽndusu:Pindoráma]] | width=10% | [[File:Flag-map of Chile.svg|center|60x60px|link=Okẽndusu:Chíle]] | width=10% | [[File:Flag-map of Colombia.svg|60x60px|link=Okẽndusu:Kolómbia]] | width=10% | [[File:Flag-map of Ecuador.svg|60x60px|link=Okẽndusu:Ekuadóry]] | width=10% | [[File:Flag-map of Paraguay.svg|60x60px|link=Okẽndusu:Paraguái]] | width=10% | [[File:Flag-map of Peru.svg|60x60px|link=Okẽndusu:Perũ]] | width=10% | [[File:Flag-map of Suriname.svg|60x60px|link=Okẽndusu:Surinẽ]] | width=10% | [[File:Flag-map of Uruguay.svg|60x60px|link=Okẽndusu:Uruguái]] | width=10% | [[File:Flag-map of Venezuela.svg|60x60px|link=Okẽndusu:Venesuéla]] |- | [[Okẽndusu:Arahentína|Arahentína]] | [[Okẽndusu:Volívia|Volívia]] | [[Okẽndusu:Pindoráma|Pindoráma]] | [[Okẽndusu:Chíle|Chíle]] | [[Okẽndusu:Kolómbia|Kolómbia]] | [[Okẽndusu:Ekuadóry|Ekuadóry]] | [[Okẽndusu:Paraguái|Paraguái]] | [[Okẽndusu:Perũ|Perũ]] | [[Okẽndusu:Surinẽ|Surinẽ]] | [[Okẽndusu:Uruguái|Uruguái]] | [[Okẽndusu:Venesuéla|Venesuéla]] |- |} </div> </div> nexqpgk7uoyvaqy9m2iebac07tjq1wf Tembiecharã:Okẽndusu:Ñemby Amérika/Intro 10 14590 120722 2022-07-23T21:39:45Z P. S. F. Freitas 2357 Kuatiarogue ipyahúva: [[File:South America (orthographic projection).svg|120px|right]] {{Extracto|Ñemby Amérika|aviso=final|referencias=no|negritas=si|párrafos=1-2|referencias=no}} wikitext text/x-wiki [[File:South America (orthographic projection).svg|120px|right]] {{Extracto|Ñemby Amérika|aviso=final|referencias=no|negritas=si|párrafos=1-2|referencias=no}} 5gt6166idzz3wa9933mbrbt4v05yvur Módulo:Transcluder 828 14591 120723 2022-07-23T21:41:00Z P. S. F. Freitas 2357 Kuatiarogue ipyahúva: -- Module:Transcluder is a general-purpose transclusion engine -- Documentation https://www.mediawiki.org/wiki/Module:Transcluder -- By User:Sophivorus, User:Certes & others -- Version 1.1 -- License CC-BY-SA-4.0 local p = {} -- Helper function to test for truthy and falsy values -- @todo Somehow internationalize it local function truthy(value) if not value or value == '' or value == 0 or value == '0' or value == 'false' or value == 'no' or value == 'non' then re… Scribunto text/plain -- Module:Transcluder is a general-purpose transclusion engine -- Documentation https://www.mediawiki.org/wiki/Module:Transcluder -- By User:Sophivorus, User:Certes & others -- Version 1.1 -- License CC-BY-SA-4.0 local p = {} -- Helper function to test for truthy and falsy values -- @todo Somehow internationalize it local function truthy(value) if not value or value == '' or value == 0 or value == '0' or value == 'false' or value == 'no' or value == 'non' then return false end return true end -- Helper function to match from a list of regular expressions -- Like so: match pre..list[1]..post or pre..list[2]..post or ... local function matchAny(text, pre, list, post, init) local match = {} for i = 1, #list do match = { mw.ustring.match(text, pre .. list[i] .. post, init) } if match[1] then return unpack(match) end end return nil end -- Like matchAny but for Category/File links with less overhead local function matchAnyLink(text, list) local match for _, v in ipairs(list) do match = string.match(text, '%[%[%s*' .. v .. '%s*:.*%]%]') if match then break end end return match end -- Helper function to escape a string for use in regexes local function escapeString(str) return string.gsub(str, '[%^%$%(%)%.%[%]%*%+%-%?%%]', '%%%0') end -- Helper function to remove a string from a text local function removeString(text, str) local pattern = escapeString(str) if #pattern > 9999 then -- strings longer than 10000 bytes can't be put into regexes pattern = escapeString(mw.ustring.sub(str, 1, 999)) .. '.-' .. escapeString(mw.ustring.sub(str, -999)) end return string.gsub(text, pattern, '') end -- Helper function to convert a comma-separated list of numbers or min-max ranges into a list of booleans -- @param flags Comma-separated list of numbers or min-max ranges, for example '1,3-5' -- @return Map from integers to booleans, for example {1=true,2=false,3=true,4=true,5=true} -- @return Boolean indicating whether the flags should be treated as a blacklist or not local function parseFlags(value) local flags = {} local blacklist = false if not value then return nil, false end if type(value) == 'number' then if value < 0 then value = -value blacklist = true end flags = { [value] = true } elseif type(value) == 'string' then if string.sub(value, 1, 1) == '-' then blacklist = true value = string.sub(value, 2) end local ranges = mw.text.split(value, ',') -- split ranges: '1,3-5' to {'1','3-5'} for _, range in pairs(ranges) do range = mw.text.trim(range) local min, max = mw.ustring.match(range, '^(%d+)%s*[-–—]%s*(%d+)$') -- '3-5' to min=3 max=5 if not max then min, max = string.match(range, '^((%d+))$') end -- '1' to min=1 max=1 if max then for i = min, max do flags[i] = true end else flags[range] = true -- if we reach this point, the string had the form 'a,b,c' rather than '1,2,3' end end -- List has the form { [1] = false, [2] = true, ['c'] = false } -- Convert it to { [1] = true, [2] = true, ['c'] = true } -- But if ANY value is set to false, treat the list as a blacklist elseif type(value) == 'table' then for i, v in pairs(value) do if v == false then blacklist = true end flags[i] = true end end return flags, blacklist end -- Helper function to see if a value matches any of the given flags local function matchFlag(value, flags) if not value then return false end value = tostring(value) local lang = mw.language.getContentLanguage() for flag in pairs(flags) do if value == tostring(flag) or lang:lcfirst(value) == flag or lang:ucfirst(value) == flag or ( not tonumber(flag) and mw.ustring.match(value, flag) ) then return true end end end -- Helper function to convert template arguments into an array of options fit for get() local function parseArgs(frame) local args = {} for key, value in pairs(frame:getParent().args) do args[key] = value end for key, value in pairs(frame.args) do args[key] = value end -- args from Lua calls have priority over parent args from template return args end -- Error handling function -- Throws a Lua error or returns an empty string if error reporting is disabled local function throwError(key, value) local TNT = require('Module:TNT') local ok, message = pcall(TNT.format, 'I18n/Module:Transcluder.tab', 'error-' .. key, value) if not ok then message = key end error(message, 2) end -- Error handling function -- Returns a wiki friendly error or an empty string if error reporting is disabled local function getError(key, value) local TNT = require('Module:TNT') local ok, message = pcall(TNT.format, 'I18n/Module:Transcluder.tab', 'error-' .. key, value) if not ok then message = key end message = mw.html.create('div'):addClass('error'):wikitext(message) return message end -- Helper function to get the local name of a namespace and all its aliases -- @param name Canonical name of the namespace, for example 'File' -- @return Local name of the namespace and all aliases, for example {'File','Image','Archivo','Imagen'} local function getNamespaces(name) local namespaces = mw.clone(mw.site.namespaces[name].aliases) -- Clone because https://en.wikipedia.org/w/index.php?diff=1056921358 table.insert(namespaces, mw.site.namespaces[name].name) table.insert(namespaces, mw.site.namespaces[name].canonicalName) return namespaces end -- Get the page wikitext, following redirects -- Also returns the page name, or the target page name if a redirect was followed, or false if no page was found -- For file pages, returns the content of the file description page local function getText(page, noFollow) local title = mw.title.new(page) if not title then return false, false end local target = title.redirectTarget if target and not noFollow then title = target end local text = title:getContent() if not text then return false, title.prefixedText end -- Remove <noinclude> tags text = string.gsub(text, '<[Nn][Oo][Ii][Nn][Cc][Ll][Uu][Dd][Ee]>.-</[Nn][Oo][Ii][Nn][Cc][Ll][Uu][Dd][Ee]>', '') -- remove noinclude bits -- Keep <onlyinclude> tags if string.find(text, 'onlyinclude') then -- avoid expensive search if possible text = text :gsub('</onlyinclude>.-<onlyinclude>', '') -- remove text between onlyinclude sections :gsub('^.-<onlyinclude>', '') -- remove text before first onlyinclude section :gsub('</onlyinclude>.*', '') -- remove text after last onlyinclude section end return text, title.prefixedText end -- Get the requested files from the given wikitext. -- @param text Required. Wikitext to parse. -- @param flags Range of files to return, for example 2 or '1,3-5'. Omit to return all files. -- @return Sequence of strings containing the wikitext of the requested files. -- @return Original wikitext minus requested files. local function getFiles(text, flags) local files = {} local flags, blacklist = parseFlags(flags) local fileNamespaces = getNamespaces('File') local name local count = 0 for file in string.gmatch(text, '%b[]') do if matchAnyLink(file, fileNamespaces) then name = string.match(file, '%[%[[^:]-:([^]|]+)') count = count + 1 if not blacklist and ( not flags or flags[count] or matchFlag(name, flags) ) or blacklist and flags and not flags[count] and not matchFlag(name, flags) then table.insert(files, file) else text = removeString(text, file) end end end return files, text end -- Get the requested tables from the given wikitext. -- @param text Required. Wikitext to parse. -- @param flags Range of tables to return, for example 2 or '1,3-5'. Omit to return all tables. -- @return Sequence of strings containing the wikitext of the requested tables. -- @return Original wikitext minus requested tables. local function getTables(text, flags) local tables = {} local flags, blacklist = parseFlags(flags) local id local count = 0 for t in string.gmatch('\n' .. text, '\n%b{}') do if string.sub(t, 1, 3) == '\n{|' then id = string.match(t, '\n{|[^\n]-id%s*=%s*["\']?([^"\'\n]+)["\']?[^\n]*\n') count = count + 1 if not blacklist and ( not flags or flags[count] or flags[id] ) or blacklist and flags and not flags[count] and not flags[id] then table.insert(tables, t) else text = removeString(text, t) end end end return tables, text end -- Get the requested templates from the given wikitext. -- @param text Required. Wikitext to parse. -- @param flags Range of templates to return, for example 2 or '1,3-5'. Omit to return all templates. -- @return Sequence of strings containing the wikitext of the requested templates. -- @return Original wikitext minus requested templates. local function getTemplates(text, flags) local templates = {} local flags, blacklist = parseFlags(flags) local name local count = 0 for template in string.gmatch(text, '{%b{}}') do if string.sub(template, 1, 3) ~= '{{#' then -- skip parser functions like #if name = mw.text.trim( string.match(template, '{{([^}|\n]+)') ) -- get the template name count = count + 1 if not blacklist and ( not flags or flags[count] or matchFlag(name, flags) ) or blacklist and flags and not flags[count] and not matchFlag(name, flags) then table.insert(templates, template) else text = removeString(text, template) end end end return templates, text end -- Get the requested template parameters from the given wikitext. -- @param text Required. Wikitext to parse. -- @param flags Range of parameters to return, for example 2 or '1,3-5'. Omit to return all parameters. -- @return Map from parameter name to value, NOT IN THE ORIGINAL ORDER -- @return Original wikitext minus requested parameters. local function getParameters(text, flags) local parameters = {} local flags, blacklist = parseFlags(flags) local params, count, parts, key, value for template in string.gmatch(text, '{%b{}}') do params = string.match(template, '{{[^|}]-|(.+)}}') if params then count = 0 -- Temporarily replace pipes in subtemplates, tables and links to avoid chaos for subtemplate in string.gmatch(params, '%b{}') do params = string.gsub(params, escapeString(subtemplate), string.gsub(string.gsub(subtemplate, '%%', '%%%%'), '|', '@@@') ) end for link in string.gmatch(params, '%b[]') do params = string.gsub(params, escapeString( mw.ustring.gsub(link, '%%', '%%%%') ), string.gsub(link, '|', '@@@') ) end for parameter in mw.text.gsplit(params, '|') do parts = mw.text.split(parameter, '=') key = mw.text.trim(parts[1]) value = table.concat(parts, '=', 2) if value == '' then value = key count = count + 1 key = count else value = mw.text.trim(value) end value = string.gsub(value, '@@@', '|') if not blacklist and ( not flags or matchFlag(key, flags) ) or blacklist and flags and not matchFlag(key, flags) then parameters[key] = value else text = removeString(text, parameter) end end end end return parameters, text end -- Get the requested lists from the given wikitext. -- @param text Required. Wikitext to parse. -- @param flags Range of lists to return, for example 2 or '1,3-5'. Omit to return all lists. -- @return Sequence of strings containing the wikitext of the requested lists. -- @return Original wikitext minus requested lists. local function getLists(text, flags) local lists = {} local flags, blacklist = parseFlags(flags) local count = 0 for list in string.gmatch('\n' .. text .. '\n\n', '\n([*#].-)\n[^*#]') do count = count + 1 if not blacklist and ( not flags or flags[count] ) or blacklist and flags and not flags[count] then table.insert(lists, list) else text = removeString(text, list) end end return lists, text end -- Get the requested paragraphs from the given wikitext. -- @param text Required. Wikitext to parse. -- @param flags Range of paragraphs to return, for example 2 or '1,3-5'. Omit to return all paragraphs. -- @return Sequence of strings containing the wikitext of the requested paragraphs. -- @return Original wikitext minus requested paragraphs. local function getParagraphs(text, flags) local paragraphs = {} local flags, blacklist = parseFlags(flags) -- Remove non-paragraphs local elements local temp = '\n' .. text .. '\n' elements, temp = getLists(temp, 0) -- remove lists elements, temp = getFiles(temp, 0) -- remove files temp = mw.text.trim((temp :gsub('\n%b{}\n', '\n%0\n') -- add spacing between tables and block templates :gsub('\n%b{}\n', '\n') -- remove tables and block templates :gsub('\n==+[^=]+==+\n', '\n') -- remove section titles )) -- Assume that anything remaining is a paragraph local count = 0 for paragraph in mw.text.gsplit(temp, '\n\n+') do if mw.text.trim(paragraph) ~= '' then count = count + 1 if not blacklist and ( not flags or flags[count] ) or blacklist and flags and not flags[count] then table.insert(paragraphs, paragraph) else text = removeString(text, paragraph) end end end return paragraphs, text end -- Get the requested categories from the given wikitext. -- @param text Required. Wikitext to parse. -- @param flags Range of categories to return, for example 2 or '1,3-5'. Omit to return all categories. -- @return Sequence of strings containing the wikitext of the requested categories. -- @return Original wikitext minus requested categories. local function getCategories(text, flags) local categories = {} local flags, blacklist = parseFlags(flags) local categoryNamespaces = getNamespaces('Category') local name local count = 0 for category in string.gmatch(text, '%b[]') do if matchAnyLink(category, categoryNamespaces) then name = string.match(category, '%[%[[^:]-:([^]|]+)') count = count + 1 if not blacklist and ( not flags or flags[count] or matchFlag(name, flags) ) or blacklist and flags and not flags[count] and not matchFlag(name, flags) then table.insert(categories, category) else text = removeString(text, category) end end end return categories, text end -- Get the requested references from the given wikitext. -- @param text Required. Wikitext to parse. -- @param flags Range of references to return, for example 2 or '1,3-5'. Omit to return all references. -- @return Sequence of strings containing the wikitext of the requested references. -- @return Original wikitext minus requested references. local function getReferences(text, flags) local references = {} -- Remove all references, including citations, when 0 references are requested -- This is kind of hacky but currently necessary because the rest of the code -- doesn't remove citations like <ref name="Foo" /> if Foo is defined elsewhere if flags and not truthy(flags) then text = string.gsub(text, '<%s*[Rr][Ee][Ff][^>/]*>.-<%s*/%s*[Rr][Ee][Ff]%s*>', '') text = string.gsub(text, '<%s*[Rr][Ee][Ff][^>/]*/%s*>', '') return references, text end local flags, blacklist = parseFlags(flags) local name local count = 0 for reference in string.gmatch(text, '<%s*[Rr][Ee][Ff][^>/]*>.-<%s*/%s*[Rr][Ee][Ff]%s*>') do name = string.match(reference, '<%s*[Rr][Ee][Ff][^>]*name%s*=%s*["\']?([^"\'>/]+)["\']?[^>]*%s*>') count = count + 1 if not blacklist and ( not flags or flags[count] or matchFlag(name, flags) ) or blacklist and flags and not flags[count] and not matchFlag(name, flags) then table.insert(references, reference) else text = removeString(text, reference) if name then for citation in string.gmatch(text, '<%s*[Rr][Ee][Ff][^>]*name%s*=%s*["\']?' .. escapeString(name) .. '["\']?[^/>]*/%s*>') do text = removeString(text, citation) end end end end return references, text end -- Get the lead section from the given wikitext. -- @param text Required. Wikitext to parse. -- @return Wikitext of the lead section. local function getLead(text) text = string.gsub('\n' .. text, '\n==.*', '') text = mw.text.trim(text) if not text then return throwError('lead-empty') end return text end -- Get the requested sections from the given wikitext. -- @param text Required. Wikitext to parse. -- @param flags Range of sections to return, for example 2 or '1,3-5'. Omit to return all sections. -- @return Sequence of strings containing the wikitext of the requested sections. -- @return Original wikitext minus requested sections. local function getSections(text, flags) local sections = {} local flags, blacklist = parseFlags(flags) local count = 0 local prefix, section, suffix for title in string.gmatch('\n' .. text .. '\n==', '\n==+%s*([^=]+)%s*==+') do count = count + 1 prefix, section, suffix = string.match('\n' .. text .. '\n==', '\n()==+%s*' .. escapeString(title) .. '%s*==+(.-)()\n==') if not blacklist and ( not flags or flags[count] or matchFlag(title, flags) ) or blacklist and flags and not flags[count] and not matchFlag(title, flags) then sections[title] = section else text = string.sub(text, 1, prefix) .. string.sub(text, suffix) text = string.gsub(text, '\n?==$', '') -- remove the trailing \n== end end return sections, text end -- Get the requested section or <section> tag from the given wikitext (including subsections). -- @param text Required. Wikitext to parse. -- @param section Required. Title of the section to get (in wikitext), for example 'History' or 'History of [[Athens]]'. -- @return Wikitext of the requested section. local function getSection(text, section) section = mw.text.trim(section) local escapedSection = escapeString(section) -- First check if the section title matches a <section> tag if string.find(text, '<%s*[Ss]ection%s+begin%s*=%s*["\']?%s*' .. escapedSection .. '%s*["\']?%s*/>') then -- avoid expensive search if possible text = mw.text.trim((text :gsub('<%s*[Ss]ection%s+end=%s*["\']?%s*'.. escapedSection ..'%s*["\']?%s*/>.-<%s*[Ss]ection%s+begin%s*=%s*["\']?%s*' .. escapedSection .. '%s*["\']?%s*/>', '') -- remove text between section tags :gsub('^.-<%s*[Ss]ection%s+begin%s*=%s*["\']?%s*' .. escapedSection .. '%s*["\']?%s*/>', '') -- remove text before first section tag :gsub('<%s*[Ss]ection%s+end=%s*["\']?%s*'.. escapedSection ..'%s*["\']?%s*/>.*', '') -- remove text after last section tag )) if text == '' then return throwError('section-tag-empty', section) end return text end local level, text = string.match('\n' .. text .. '\n', '\n(==+)%s*' .. escapedSection .. '%s*==.-\n(.*)') if not text then return throwError('section-not-found', section) end local nextSection = '\n==' .. string.rep('=?', #level - 2) .. '[^=].*' text = string.gsub(text, nextSection, '') -- remove later sections with headings at this level or higher text = mw.text.trim(text) if text == '' then return throwError('section-empty', section) end return text end -- Replace the first call to each reference defined outside of the text for the full reference, to prevent undefined references -- Then prefix the page title to the reference names to prevent conflicts -- that is, replace <ref name="Foo"> for <ref name="Title of the article Foo"> -- and also <ref name="Foo" /> for <ref name="Title of the article Foo" /> -- also remove reference groups: <ref name="Foo" group="Bar"> for <ref name="Title of the article Foo"> -- and <ref group="Bar"> for <ref> -- @todo The current regex may fail in cases with both kinds of quotes, like <ref name="Darwin's book"> local function fixReferences(text, page, full) if not full then full = getText(page) end local refNames = {} local refName local refBody local position = 1 while position < mw.ustring.len(text) do refName, position = mw.ustring.match(text, '<%s*[Rr][Ee][Ff][^>]*name%s*=%s*["\']?([^"\'>]+)["\']?[^>]*/%s*>()', position) if refName then refName = mw.text.trim(refName) if not refNames[refName] then -- make sure we process each ref name only once table.insert(refNames, refName) refName = escapeString(refName) refBody = mw.ustring.match(text, '<%s*[Rr][Ee][Ff][^>]*name%s*=%s*["\']?%s*' .. refName .. '%s*["\']?[^>/]*>.-<%s*/%s*[Rr][Ee][Ff]%s*>') if not refBody then -- the ref body is not in the excerpt refBody = mw.ustring.match(full, '<%s*[Rr][Ee][Ff][^>]*name%s*=%s*["\']?%s*' .. refName .. '%s*["\']?[^/>]*>.-<%s*/%s*[Rr][Ee][Ff]%s*>') if refBody then -- the ref body was found elsewhere text = mw.ustring.gsub(text, '<%s*[Rr][Ee][Ff][^>]*name%s*=%s*["\']?%s*' .. refName .. '%s*["\']?[^>]*/?%s*>', mw.ustring.gsub(refBody, '%%', '%%%%'), 1) end end end else position = mw.ustring.len(text) end end page = string.gsub(page, '"', '') -- remove any quotation marks from the page title text = mw.ustring.gsub(text, '<%s*[Rr][Ee][Ff][^>]*name%s*=%s*["\']?([^"\'>/]+)["\']?[^>/]*(/?)%s*>', '<ref name="' .. page .. ' %1"%2>') text = mw.ustring.gsub(text, '<%s*[Rr][Ee][Ff]%s*group%s*=%s*["\']?[^"\'>/]+["\']%s*>', '<ref>') return text end -- Replace the bold title or synonym near the start of the page by a link to the page local function linkBold(text, page) local lang = mw.language.getContentLanguage() local position = mw.ustring.find(text, "'''" .. lang:ucfirst(page) .. "'''", 1, true) -- look for "'''Foo''' is..." (uc) or "A '''foo''' is..." (lc) or mw.ustring.find(text, "'''" .. lang:lcfirst(page) .. "'''", 1, true) -- plain search: special characters in page represent themselves if position then local length = mw.ustring.len(page) text = mw.ustring.sub(text, 1, position + 2) .. "[[" .. mw.ustring.sub(text, position + 3, position + length + 2) .. "]]" .. mw.ustring.sub(text, position + length + 3, -1) -- link it else -- look for anything unlinked in bold, assumed to be a synonym of the title (e.g. a person's birth name) text = mw.ustring.gsub(text, "()'''(.-'*)'''", function(a, b) if not mw.ustring.find(b, "%[") and not mw.ustring.find(b, "%{") then -- if not wikilinked or some weird template return "'''[[" .. page .. "|" .. b .. "]]'''" -- replace '''Foo''' by '''[[page|Foo]]''' else return nil -- instruct gsub to make no change end end, 1) -- "end" here terminates the anonymous replacement function(a, b) passed to gsub end return text end -- Remove non-free files. -- @param text Required. Wikitext to clean. -- @return Clean wikitext. local function removeNonFreeFiles(text) local fileNamespaces = getNamespaces('File') local fileName local fileDescription local frame = mw.getCurrentFrame() for file in string.gmatch(text, '%b[]') do if matchAnyLink(file, fileNamespaces) then fileName = 'File:' .. string.match(file, '%[%[[^:]-:([^]|]+)') fileDescription, fileName = getText(fileName) if fileName then if not fileDescription or fileDescription == '' then fileDescription = frame:preprocess('{{' .. fileName .. '}}') -- try Commons end if fileDescription and string.match(fileDescription, '[Nn]on%-free') then text = removeString(text, file) end end end end return text end -- Remove any self links local function removeSelfLinks(text) local lang = mw.language.getContentLanguage() local page = escapeString(mw.title.getCurrentTitle().prefixedText) text = text :gsub('%[%[(' .. lang:ucfirst(page) .. ')%]%]', '%1') :gsub('%[%[(' .. lang:lcfirst(page) .. ')%]%]', '%1') :gsub('%[%[' .. lang:ucfirst(page) .. '|([^]]+)%]%]', '%1') :gsub('%[%[' .. lang:lcfirst(page) .. '|([^]]+)%]%]', '%1') return text end -- Remove all wikilinks local function removeLinks(text) text = text :gsub('%[%[[^|]+|([^]]+)%]%]', '%1') :gsub('%[%[([^]]+)%]%]', '%1') return text end -- Remove HTML comments local function removeComments(text) text = string.gsub(text, '<!%-%-.-%-%->', '') return text end -- Remove behavior switches, such as __NOTOC__ local function removeBehaviorSwitches(text) text = string.gsub(text, '__[A-Z]+__', '') return text end -- Remove bold text local function removeBold(text) text = string.gsub(text, "'''", '') return text end -- Main function for modules local function get(page, options) if not options then options = {} end -- Make sure the page exists if not page then return throwError('no-page') end page = mw.text.trim(page) if page == '' then return throwError('no-page') end local page, hash, section = string.match(page, '([^#]+)(#?)(.*)') local text, page = getText(page, options.noFollow) if not page then return throwError('no-page') end if not text then return throwError('page-not-found', page) end local full = text -- save the full text for fixReferences below -- Get the requested section if truthy(section) then text = getSection(text, section) elseif truthy(hash) then text = getLead(text) end -- Keep only the requested elements local elements if options.only then if options.only == 'sections' then elements = getSections(text, options.sections) end if options.only == 'lists' then elements = getLists(text, options.lists) end if options.only == 'files' then elements = getFiles(text, options.files) end if options.only == 'tables' then elements = getTables(text, options.tables) end if options.only == 'templates' then elements = getTemplates(text, options.templates) end if options.only == 'parameters' then elements = getParameters(text, options.parameters) end if options.only == 'paragraphs' then elements = getParagraphs(text, options.paragraphs) end if options.only == 'categories' then elements = getCategories(text, options.categories) end if options.only == 'references' then elements = getReferences(text, options.references) end text = '' if elements then for key, element in pairs(elements) do text = text .. '\n' .. element .. '\n' end end end -- Filter the requested elements if options.sections and options.only ~= 'sections' then elements, text = getSections(text, options.sections) end if options.lists and options.only ~= 'lists' then elements, text = getLists(text, options.lists) end if options.files and options.only ~= 'files' then elements, text = getFiles(text, options.files) end if options.tables and options.only ~= 'tables' then elements, text = getTables(text, options.tables) end if options.templates and options.only ~= 'templates' then elements, text = getTemplates(text, options.templates) end if options.parameters and options.only ~= 'parameters' then elements, text = getParameters(text, options.parameters) end if options.paragraphs and options.only ~= 'paragraphs' then elements, text = getParagraphs(text, options.paragraphs) end if options.categories and options.only ~= 'categories' then elements, text = getCategories(text, options.categories) end if options.references and options.only ~= 'references' then elements, text = getReferences(text, options.references) end -- Misc options if truthy(options.fixReferences) then text = fixReferences(text, page, full) end if truthy(options.linkBold) and not truthy(section) then text = linkBold(text, page) end if truthy(options.noBold) then text = removeBold(text) end if truthy(options.noLinks) then text = removeLinks(text) end if truthy(options.noSelfLinks) then text = removeSelfLinks(text) end if truthy(options.noNonFreeFiles) then text = removeNonFreeFiles(text) end if truthy(options.noBehaviorSwitches) then text = removeBehaviorSwitches(text) end if truthy(options.noComments) then text = removeComments(text) end -- Remove multiple newlines left over from removing elements text = string.gsub(text, '\n\n\n+', '\n\n') text = mw.text.trim(text) return text end -- Main invocation function for templates local function main(frame) local args = parseArgs(frame) local page = args[1] local ok, text = pcall(get, page, args) if not ok then return getError(text) end return frame:preprocess(text) end -- Entry points for templates function p.main(frame) return main(frame) end -- Entry points for modules function p.get(page, options) return get(page, options) end function p.getText(page, noFollow) return getText(page, noFollow) end function p.getLead(text) return getLead(text) end function p.getSection(text, section) return getSection(text, section) end function p.getSections(text, flags) return getSections(text, flags) end function p.getParagraphs(text, flags) return getParagraphs(text, flags) end function p.getParameters(text, flags) return getParameters(text, flags) end function p.getCategories(text, flags) return getCategories(text, flags) end function p.getReferences(text, flags) return getReferences(text, flags) end function p.getTemplates(text, flags) return getTemplates(text, flags) end function p.getTables(text, flags) return getTables(text, flags) end function p.getLists(text, flags) return getLists(text, flags) end function p.getFiles(text, flags) return getFiles(text, flags) end function p.getError(message, value) return getError(message, value) end -- Expose handy methods function p.truthy(value) return truthy(value) end function p.parseArgs(frame) return parseArgs(frame) end function p.matchAny(text, pre, list, post, init) return matchAny(text, pre, list, post, init) end function p.matchFlag(value, flags) return matchFlag(value, flags) end function p.getNamespaces(name) return getNamespaces(name) end function p.removeBold(text) return removeBold(text) end function p.removeLinks(text) return removeLinks(text) end function p.removeSelfLinks(text) return removeSelfLinks(text) end function p.removeNonFreeFiles(text) return removeNonFreeFiles(text) end function p.removeBehaviorSwitches(text) return removeBehaviorSwitches(text) end function p.removeComments(text) return removeComments(text) end return p 7pdgo18ydd2p56rztfr3qtkwfy0mtnv Tembiecharã:Okẽndusu:Ñemby Amérika/Marandu 10 14592 120724 2022-07-23T21:58:34Z P. S. F. Freitas 2357 Kuatiarogue ipyahúva: <categorytree>Ñemby Amérika</categorytree> == Okẽndusu ambuéva == * [[File:Flag of Argentina.svg|15px]] [[Okẽndusu:Arahentína|'''Arahentína''']] * [[File:Flag of Brazil.svg|15px]] [[Okẽndusu:Pindoráma|'''Pindoráma''']] * [[File:Flag of Bolivia.svg|15px]] [[Okẽndusu:Volívia|'''Volívia''']] * [[File:Flag of Colombia.svg|15px]] [[Okẽndusu:Kolómbia|'''Kolómbia''']] * [[File:Flag of Chile.svg|15px]] [[Okẽndusu:Chíle|'''Chíle''']] * File:Fl… wikitext text/x-wiki <categorytree>Ñemby Amérika</categorytree> == Okẽndusu ambuéva == * [[File:Flag of Argentina.svg|15px]] [[Okẽndusu:Arahentína|'''Arahentína''']] * [[File:Flag of Brazil.svg|15px]] [[Okẽndusu:Pindoráma|'''Pindoráma''']] * [[File:Flag of Bolivia.svg|15px]] [[Okẽndusu:Volívia|'''Volívia''']] * [[File:Flag of Colombia.svg|15px]] [[Okẽndusu:Kolómbia|'''Kolómbia''']] * [[File:Flag of Chile.svg|15px]] [[Okẽndusu:Chíle|'''Chíle''']] * [[File:Flag of Ecuador.svg|15px]] [[Okẽndusu:Ekuadóry|'''Ekuadóry''']] * [[File:Flag of Paraguay.svg|15px]] [[Okẽndusu:Paraguái|'''Paraguái''']] * [[File:Flag of Peru.svg|15px]] [[Okẽndusu:Perũ|Perũ]] * [[File:Flag of Uruguay.svg|15px]] [[Okẽndusu:Uruguái|'''Uruguái''']] * [[File:Flag of Venezuela.svg|15px]] [[Okẽndusu:Venesuéla|'''Venesuéla''']] * [[File:Flag of Suriname.svg|15px]] [[Okẽndusu:Surinẽ|'''Surinẽ''']] j4oit0ssgcbfddffmwop53d9m1syci2