Anasayfa
Rastgele
Oturum aç
Ayarlar
Sanarşiv hakkında
Sorumluluk reddi
Ara
"
Modül:Resmî site
" sayfasını değiştirmektesiniz
Uyarı:
Oturum açmadınız. Bir düzenleme yaptığınızda, sizin için geçici bir hesap oluşturulur.
Daha fazla bilgi
. Bu hesabın süresi dolduğunda bildirimler almaya devam etmek ve diğer özelliklere erişmek için
oturum açın
ya da
hesap oluşturun
.
Anti spam denetimi. Bunu
doldurmayın
!
local makeUrl = require('Modül:URL')._url local p = {} -- Wrapper for pcall which returns nil on failure. local function quickPcall(func) local success, result = pcall(func) if success then return result end end -- Gets the rank for a Wikidata property table. Returns 1, 0 or -1, in -- order of rank. local function getRank(prop) local rank = prop.rank if rank == 'preferred' then return 1 elseif rank == 'normal' then return 0 elseif rank == 'deprecated' then return -1 else -- No rank or undefined rank is treated as "normal". return 0 end end -- Finds whether a Wikidata property is qualified as being in English. local function isEnglish(prop) local ret = quickPcall(function () for i, lang in ipairs(prop.qualifiers.P407) do if lang.datavalue.value['numeric-id'] == 1860 then return true end end return false end) return ret == true end -- Fetches the official website URL from Wikidata. local fetchWikidataUrl fetchWikidataUrl = function() -- Get objects for all official sites on Wikidata. local websites = quickPcall(function () return mw.wikibase.getEntityObject().claims.P856 end) -- Clone the objects in case other code needs them in their original order. websites = websites and mw.clone(websites) or {} -- Add the table index to the objects in case it is needed in the sort. for i, website in ipairs(websites) do website._index = i end -- Sort the websites, first by highest rank, and then by websites in the -- English language, then by the website's original position in the -- property list. When we are done, get the URL from the highest-sorted -- object. table.sort(websites, function(ws1, ws2) local r1 = getRank(ws1) local r2 = getRank(ws2) if r1 ~= r2 then return r1 > r2 end local e1 = isEnglish(ws1) local e2 = isEnglish(ws2) if e1 ~= e2 then return e1 end return ws1._index < ws2._index end) local url = quickPcall(function () return websites[1].mainsnak.datavalue.value end) -- Cache the result so that we only do the heavy lifting once per #invoke. fetchWikidataUrl = function () return url end return url end -- Render the URL link, plus other visible output. local function renderUrl(options) if not options.url and not options.wikidataurl then local entity = mw.wikibase.getEntityObject() or {} local qid = entity.id local result = '<strong class="error">' .. 'URL bulunamadı. Lütfen şablona URL tanımlayın ya da Vikiveri ögesine veri girişi yapın.' .. '</strong>' if qid then result = result.. ' [[Dosya:OOjs UI icon edit-ltr-progressive.svg |frameless |text-top |10px |alt=Vikiveri ögesini düzenle |link=https://www.wikidata.org/wiki/' .. qid .. '#P856|Vikiveri ögesini düzenle]]' end return result end local ret = {} ret[#ret + 1] = string.format( '<span class="official-website">%s</span>', makeUrl(options.url or options.wikidataurl, options.display) ) if options.wikidataurl and not options.url then local entity = mw.wikibase.getEntityObject() or {} local qid = entity.id if qid then ret[#ret + 1] = '[[Dosya:Blue pencil.svg |frameless |text-top |10px |alt=Vikiveri ögesini düzenle |link=https://www.wikidata.org/wiki/' .. qid .. '#P856|Vikiveri ögesini düzenle]]' end end if options.format == 'flash' then ret[#ret + 1] = mw.getCurrentFrame():expandTemplate{ title = 'Bağlantı notu', args = {note = '[[Adobe Flash Player]] gerektirir'} } end if options.mobil then ret[#ret + 1] = '(' .. makeUrl(options.mobil, 'Mobil') .. ')' end return table.concat(ret, ' ') end -- Render the tracking category. local function renderTrackingCategory(url, wikidataurl) if mw.title.getCurrentTitle().namespace ~= 0 then return '' end local category if not url and not wikidataurl then category = 'URL bilgisi eksik resmî site şablonu kullanılan sayfalar' elseif not url and wikidataurl then return '' elseif url and wikidataurl then if url:gsub('/%s*$', '') ~= wikidataurl:gsub('/%s*$', '') then category = 'Vikiveri ve Sanarsiv üzerindeki resmî site verisi farklı olan sayfalar' end else category = 'Vikiveri ögesinde resmî site verisi tanımlı olmayan sayfalar' end return category and string.format('[[Kategori:%s]]', category) or '' end function p._main(args) local url = args[1] or args.URL or args.url local wikidataurl = fetchWikidataUrl() local formattedUrl = renderUrl{ url = url, wikidataurl = wikidataurl, display = args[2] or args.ad or 'Resmî site', format = args.format, mobil = args.mobil } return formattedUrl .. renderTrackingCategory(url, wikidataurl) end function p.main(frame) local args = require('Modül:Arguments').getArgs(frame, { wrappers = 'Şablon:Resmî site' }) return p._main(args) end return p
Özet:
Sanarşiv web sitesine yapılan tüm katkıların diğer katılımcılar tarafından düzenlenebileceğini, değiştirilebileceğini veya kaldırılabileceğini lütfen unutmayın. Yazınızın acımasızca düzenlenmesini istemiyorsanız, buraya göndermeyin.
Ayrıca, bunu kendiniz yazdığınızı veya herkese açık bir alandan veya benzeri ücretsiz bir kaynaktan kopyaladığınıza söz veriyorsunuz (ayrıntılar için
Sanarşiv:Telif hakları
sayfasına bakın).
Telif hakkıyla korunan eseri izinsiz göndermeyin!
İptal
Değişiklik yardımı
(yeni pencerede açılır)
Bu sayfada yer alan sayfalar:
Şablon:Clc
(
değiştir
)
Şablon:Ml
(
değiştir
)
Şablon:Tl
(
değiştir
)
Şablon:Vikiveri izliyor
(
değiştir
)
Şablon:Vikiveri kullanıyor
(
değiştir
)
Modül:Resmî site/belge
(
değiştir
)