-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the {{hatnote}} and {{format link}} meta-templates and includes -- -- helper functions for other Lua hatnote modules. -- -------------------------------------------------------------------------------- local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise [[Modül:Bağımsız değişkenler]] local yesno -- lazily initialise [[Modül:Evethayır]] local p = {} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Modül:Bağımsız değişkenler') return mArguments.getArgs(frame, {parentOnly = true}) end local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to false. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end function p.makeWikitextError(msg, helpLink, addTrackingCategory, title) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- [[Module:Yesno]], and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Modül:Evethayır') title = title or mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' ([[' .. helpLink .. '|yardım]])' else helpText = '' end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatalı ilknot şablonları' category = string.format( '[[%s:%s]]', mw.site.namespaces[14].name, category ) else category = '' end return string.format( '<strong class="error">Hata: %s%s.</strong>%s', msg, helpText, category ) end function p.disambiguate(page, disambiguator) -- Formats a page title with a disambiguation parenthetical, -- i.e. "Example" → "Example (disambiguation)". checkType('disambiguate', 1, page, 'string') checkType('disambiguate', 2, disambiguator, 'string', true) disambiguator = disambiguator or 'anlam ayrımı' return string.format('%s (%s)', page, disambiguator) end -------------------------------------------------------------------------------- -- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the {{format hatnote link}} template. -------------------------------------------------------------------------------- function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'bağlantı girilmedi', 'Şablon:Bağlantı biçimlendirme#Hatalar', args.category ) end return p._formatLink(link, display) end function p._formatLink(link, display) checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) -- Remove the initial colon for links where it was specified manually. link = removeInitialColon(link) -- Find whether a faux display value has been added with the {{!}} magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format( '[[:%s|%s]]', string.gsub(link, '|(.*)$', ''), --display overwrites manual piping display ) else return string.format('[[:%s]]', link) end end -------------------------------------------------------------------------------- -- Hatnote -- -- Produces standard hatnote text. Implements the {{hatnote}} template. -------------------------------------------------------------------------------- function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'metin girilmedi', 'Hata:İlknot#Hatalar', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) options = options or {} local classes = {'hatnote', 'navigation-not-searchable'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '<div role="note" class="%s">%s</div>', table.concat(classes, ' '), s ) end return p wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Vikipedi ozgur ansiklopedi Modul belgelemesi olustur Bu modul su Lua modullerini kullaniyor Modul Bagimsiz degiskenlerModul Evethayir Bu Scribunto modulu icin bir belgeleme sayfasi olusturmak isteyebilirsiniz Kullanicilar denemelerini bu sablonun deneme tahtasi olustur yansitma ve test senaryosu olustur sayfalarinda yapabilirler Lutfen kategorileri alt sayfasina ekleyin Bu modul ile ilgili alt sayfalar icin buraya tiklayiniz Module Hatnote This module produces hatnote links and links to related articles It implements the hatnote and format link meta templates and includes helper functions for other Lua hatnote modules local libraryUtil require libraryUtil local checkType libraryUtil checkType local mArguments lazily initialise Modul Bagimsiz degiskenler local yesno lazily initialise Modul Evethayir local p Helper functions local function getArgs frame Fetches the arguments from the parent frame Whitespace is trimmed and blanks are removed mArguments require Modul Bagimsiz degiskenler return mArguments getArgs frame parentOnly true end local function removeInitialColon s Removes the initial colon from a string if present return s match end function p findNamespaceId link removeColon Finds the namespace id namespace number of a link or a pagename This function will not work if the link is enclosed in double brackets Colons are trimmed from the start of the link by default To skip colon trimming set the removeColon parameter to false checkType findNamespaceId 1 link string checkType findNamespaceId 2 removeColon boolean true if removeColon false then link removeInitialColon link end local namespace link match if namespace then local nsTable mw site namespaces namespace if nsTable then return nsTable id end end return 0 end function p formatPages Formats a list of pages using formatLink and returns it as an array Nil values are not allowed local pages local ret for i page in ipairs pages do ret i p formatLink page end return ret end function p formatPageTables Takes a list of page display tables and returns it as a list of formatted links Nil values are not allowed local pages local links for i t in ipairs pages do checkType formatPageTables i t table local link t 1 local display t 2 links i p formatLink link display end return links end function p makeWikitextError msg helpLink addTrackingCategory title Formats an error message to be returned to wikitext If addTrackingCategory is not false after being returned from Module Yesno and if we are not on a talk page a tracking category is added checkType makeWikitextError 1 msg string checkType makeWikitextError 2 helpLink string true yesno require Modul Evethayir title title or mw title getCurrentTitle Make the help link text local helpText if helpLink then helpText helpLink yardim else helpText end Make the category text local category if not title isTalkPage and yesno addTrackingCategory false then category Hatali ilknot sablonlari category string format s s mw site namespaces 14 name category else category end return string format lt strong class error gt Hata s s lt strong gt s msg helpText category end function p disambiguate page disambiguator Formats a page title with a disambiguation parenthetical i e Example Example disambiguation checkType disambiguate 1 page string checkType disambiguate 2 disambiguator string true disambiguator disambiguator or anlam ayrimi return string format s s page disambiguator end Format link Makes a wikilink from the given link and display values Links are escaped with colons if necessary and links to sections are detected and displayed with as a separator rather than the standard MediaWiki Used in the format hatnote link template function p formatLink frame local args getArgs frame local link args 1 local display args 2 if not link then return p makeWikitextError baglanti girilmedi Sablon Baglanti bicimlendirme Hatalar args category end return p formatLink link display end function p formatLink link display checkType formatLink 1 link string checkType formatLink 2 display string true Remove the initial colon for links where it was specified manually link removeInitialColon link Find whether a faux display value has been added with the magic word if not display then local prePipe postPipe link match link prePipe or link display postPipe end Find the display value if not display then local page section link match if page then display page amp nbsp section end end Assemble the link if display then return string format s s string gsub link display overwrites manual piping display else return string format s link end end Hatnote Produces standard hatnote text Implements the hatnote template function p hatnote frame local args getArgs frame local s args 1 local options if not s then return p makeWikitextError metin girilmedi Hata Ilknot Hatalar args category end options extraclasses args extraclasses options selfref args selfref return p hatnote s options end function p hatnote s options checkType hatnote 1 s string checkType hatnote 2 options table true options options or local classes hatnote navigation not searchable local extraclasses options extraclasses local selfref options selfref if type extraclasses string then classes classes 1 extraclasses end if selfref then classes classes 1 selfref end return string format lt div role note class s gt s lt div gt table concat classes s end return p
