Modül:Televizyon sezon adı - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Kullanımı

Modül:Televizyon sezon adı

  • العربية
  • বাংলা
  • کوردی
  • English
  • Español
  • فارسی
  • Hrvatski
  • Bahasa Indonesia
  • ქართული
  • 한국어
  • کٲشُر
  • മലയാളം
  • Bahasa Melayu
  • नेपाली
  • ਪੰਜਾਬੀ
  • Português
  • Русский
  • Simple English
  • Soomaaliga
  • Shqip
  • ไทย
  • Oʻzbekcha / ўзбекча
  • Tiếng Việt
  • 粵語
Bağlantıları değiştir
  • Modül
  • Tartışma
  • Oku
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Vikikaynak
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi
Modül belgelemesi[gör] [değiştir] [geçmiş] [temizle]

Bu modül, {{televizyon sezonu bilgi kutusu}} ve {{televizyon bölümü bilgi kutusu}} şablonlarında kullanılmaktadır.

Kullanımı

[kaynağı değiştir]

Mevcut sezona bağlantı almak için:

  • {{#invoke:Televizyon sezon adı|simdiki|Buffy the Vampire Slayer|1}}
  • Buffy the Vampire Slayer (1. sezon) maddesinde: Buffy the Vampire Slayer (1. sezon)

Önceki sezona, bir sezon sayfasından bağlantı almak için (bu fonksiyon sayfa adından çıkarım yapar, yani yalnızca sezon sayfalarında işe yarar, zaten başka bir sayfada kullanımı gereksiz):

  • {{#invoke:Televizyon sezon adı|onceki}}
  • Hanedan (dizi, 2017, 2. sezon) maddesinde: 1. sezon

Sonraki sezona, bir sezon sayfasından bağlantı almak için (bu fonksiyon sayfa adından çıkarım yapar, yani yalnızca sezon sayfalarında işe yarar, zaten başka bir sayfada kullanımı gereksiz):

  • {{#invoke:Televizyon sezon adı|sonraki}}
  • Doctor Who (klasik seri, 1. sezon) maddesinde: 2. sezon

Bir dizinin, bölüm listesi sayfasına bağlantı üretmek için (eğer bir sezon sayfasındaysanız, parametre girmenize gerek yok, fakat diğer sayfalarda gerekli):

  • {{#invoke:Televizyon sezon adı|bolumListesi|Angel}}
  • Angel bölümleri

Sezon sayfalarında, bilgi kutularına dizinin başlığını otomatik yerleştirir (bu fonksiyon tek başına kullanışsızdır, bilgi kutusu içerisinde gömülüdür):

  • {{#invoke:Televizyon sezon adı|baslik}}

Sezon sayfalarında, bilgi kutularına dizinin başlığının altına sezon numarasını otomatik yerleştirir (bu fonksiyon tek başına kullanışsızdır, bilgi kutusu içerisinde gömülüdür):

  • {{#invoke:Televizyon sezon adı|sezonNo}}

Herhangi bir televizyon sezonu veya bölümü maddesinde kullanılan tarih parametresindeki yılı alıp, o sezonu/bölümü uygun kategoriye yerleştirmeyi sağlar (2010 televizyon bölümleri gibi):

  • {{#invoke:Televizyon sezon adı|tarih|TARİH|TİP}}
    • TARİH normal tarih değeridir, TİP ise ya sezon ya da bölüm olabilir.
Yukarıdaki belgeleme içeriği Modül:Televizyon sezon adı/belge sayfasından yansıtılmaktadır. (değiştir | geçmiş)
Kullanıcılar denemelerini bu şablonun deneme tahtası (oluştur | yansıtma) ve test senaryosu (oluştur) sayfalarında yapabilirler.
Lütfen kategorileri /belge alt sayfasına ekleyin. Bu modül ile ilgili alt sayfalar için buraya tıklayınız.
--[[
Bu modül televizyon sezonu bilgi kutusu içerisinde kullanılan fonksiyonları içerir.
--]]

--yazıyı parantez içine al
function parantez(yazi) return "("..yazi..")" end

--maddenin varlığını kontrol et
function maddeVarMi(yazi)
	local madde = mw.title.new(yazi)
	if (madde ~= nil and madde.exists) then
		local yonlendirme = madde.redirectTarget
		if (yonlendirme) then
			local tamBag = yonlendirme.fullText
			local baslikMi = tamBag:find("#")
			if (baslikMi) then
				return "true"								-- Madde bir başlığa yönlendiriyor; Geçerli.
			else
				return nil									-- Madde genel bir yönlendirme; Geçersiz.
			end
		else
			return "true"									-- Madde mevcut ve yönlendirme değil; Geçerli.
		end
	else
		return nil											-- Madde veya yönlendirme mevcut değil; Geçersiz.
	end
end

function bagYap(baglanti, yazi)
	return "[[" .. baglanti .. "|" .. yazi .. "]]"
end

function diziAdiBul(yazi, par)
	local dizi = mw.ustring.gsub( yazi, "%(.*", "" )
	
	dizi = mw.ustring.gsub( dizi, "%|.*", "" )
	dizi = mw.ustring.gsub( dizi, "%[", "" )
	dizi = mw.ustring.gsub( dizi, "%]", "" )
	
	--parantez içini yok edersek direkt dizi adını alabiliriz
	--birçok zaman, fakat parantez içerisine "dizi" ifadesi yoksa
	if sezonNoBul(yazi).ek and mw.ustring.find(sezonNoBul(yazi).ek, "dizi,%s%d%d%d%d") then
		dizi = dizi .. (par and parantez(sezonNoBul(yazi).ek) or "")
	end
	
	if mw.ustring.find(dizi, ":%s") then
		dizi = mw.ustring.gsub( yazi, "%:.*", "" )
	end
	
	return dizi
end

function sezonNoBul(yazi)
	--parantez içini alalım önce başlıktan
	--çünkü sezon bilgimiz orada
	local sezonNo = mw.ustring.gsub( mw.ustring.gsub( yazi, ".*%(", "" ), "%).*", "" )
	
	--eğer sezon numaramızın içerisinde bir ek yazı varsa, bunu ayıracağız ki, ileride
	--bir sonraki veya önceki sezona bağlantı verirken lazım olacak
	local sezonEk
	
	--her sezondaki ". sezon" ifadesini silelim, bakalım
	--geriye elimizde bir sayı kaldı mı?
	sezonNo = mw.ustring.gsub( sezonNo, "%.[%s]sezon", "" )
	
	--şimdi elimizdeki hala sayı değilse
	--diye bir kontrol edelim
	if type(tonumber(sezonNo)) ~= "number" then
		--demek ki hala sayı değilmiş, bazı gerekli kalan işlemleri yapalım
		sezonEk = mw.ustring.gsub( sezonNo, "%,[^,]-$", "" )
		sezonNo = mw.ustring.gsub( sezonNo, ".*%,[%s]", "" )
	end
	
	return {no = tonumber(sezonNo), ek = sezonEk}
end

function noArti(yazi)
	return tonumber(sezonNoBul(yazi).no) and sezonNoBul(yazi).no + 1 or ""
end

function noEksi(yazi)
	return tonumber(sezonNoBul(yazi).no) and sezonNoBul(yazi).no - 1 or ""
end

function bolumListesi(frame)
	local yazi = mw.getCurrentFrame().args[1] or mw.title.getCurrentTitle().text
	
	return maddeVarMi(diziAdiBul(yazi, true) .. " bölümleri listesi")
		and bagYap(diziAdiBul(yazi, true) .. " bölümleri listesi", "''" .. diziAdiBul(yazi) .. "'' bölümleri")
end

function onceki(frame)
	local yazi = mw.getCurrentFrame().args[1] or mw.title.getCurrentTitle().text
	
	local sayfa = diziAdiBul(yazi)
		.. parantez((sezonNoBul(yazi).ek and sezonNoBul(yazi).ek..", " or "")
		.. noEksi(yazi) .. ". sezon")
	local acik = noEksi(yazi) .. ". sezon"
	return maddeVarMi(sayfa) and bagYap(sayfa, acik) or nil
end

function simdiki(frame)
	local dizi = diziAdiBul(mw.getCurrentFrame().args[1])
	local sezon = mw.getCurrentFrame().args[2]
	local sonuc
	
	if maddeVarMi(mw.ustring.gsub( dizi, "%)", "" ) .. ", " .. sezon .. ". sezon)") then
		sonuc = mw.ustring.gsub( dizi, "%)", "" ) .. ", " .. sezon .. ". sezon)"
	else
		dizi = mw.ustring.gsub( dizi, "%(.*", "" )
		sonuc = dizi .. " " .. parantez(sezon .. ". sezon")
	end
	
	if maddeVarMi(sonuc) then
		return bagYap(sonuc, "''" .. mw.ustring.gsub( dizi, "%(.*", "" ) .. "'' " .. parantez(sezon .. ". sezon"))
	end
end

function sonraki(frame)
	local yazi = mw.getCurrentFrame().args[1] or mw.title.getCurrentTitle().text
	
	local sayfa = diziAdiBul(yazi)
		.. parantez((sezonNoBul(yazi).ek and sezonNoBul(yazi).ek..", " or "")
		.. noArti(yazi) .. ". sezon")
	local acik = noArti(yazi) .. ". sezon"
	return maddeVarMi(sayfa) and bagYap(sayfa, acik) or nil
end

function sezonNo(frame)
	local yazi = mw.getCurrentFrame().args[1] or mw.title.getCurrentTitle().text
	local onek = ""
	
	if sezonNoBul(yazi).ek then
		onek = mw.ustring.find(sezonNoBul(yazi).ek, "dizi") and "" or sezonNoBul(yazi).ek .. ", "
	end
	
	return onek .. (sezonNoBul(yazi).no or "") .. ". sezon"
end

function baslik(frame)
	local yazi = mw.getCurrentFrame().args[1] or mw.title.getCurrentTitle().text

	local kategori = {}
	
	if maddeVarMi("Kategori:" .. diziAdiBul(yazi, true) .. " sezonları") then
		table.insert(kategori, "[[Kategori:".. diziAdiBul(yazi, true) .. " sezonları]]")
	end
	
	return diziAdiBul(yazi) .. table.concat(kategori)
end

--bu fonksiyon başlama tarihi ve bitiş tarihindeki yılları alıp
--diziyi uygun ".... televizyon sezonları" kategorilerine eklemeye yarar
function tarih(frame)
	local tarih = mw.getCurrentFrame().args[1]
	local tip = mw.getCurrentFrame().args[2]

	local tipler = {["sezon"] = "sezonları", ["bölüm"] = "bölümleri"}
	local kategori = {}
	
	if mw.ustring.find(tarih, "%d%d%d%d") and mw.title.getCurrentTitle().nsText ~= "Şablon" then
		local yil = mw.ustring.match(tarih, "%d%d%d%d")
		if yil == "0000" then -- devam eden sezonlar için
			yil = os.date("%Y")
		end
		
		table.insert(kategori, "[[Kategori:".. yil .. " televizyon " .. tipler[tip] .. "]]")
	end
	
	return tarih .. table.concat(kategori)
end

return {
	tarih = tarih,
	baslik = baslik,
	sezonNo = sezonNo,
	bolumListesi = bolumListesi,
	onceki = onceki,
	sonraki = sonraki,
	simdiki = simdiki
}
"https://tr.wikipedia.org/w/index.php?title=Modül:Televizyon_sezon_adı&oldid=36056485" sayfasından alınmıştır
Kategori:
  • Televizyonla ilgili modüller
  • Sayfa en son 20.08, 22 Eylül 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Modül:Televizyon sezon adı
Konu ekle