Page MenuHomeGitPull.it

Autogenerazione delle categorie alfabetiche
Open, Needs TriagePublic

Description

Le istanze di

  • Personaggi
  • Specie
  • Pianeti
  • Cast

sono contenute in categorie alfabetiche del tipo Personaggi - A.
Al momento le categorie sono aggiunte a mano nell'elemento di #datatrek , ma in effetti potrebbero essere generate algoritmicamente.
Suggerito oggi da Sat su Telegram:

Claudio Piovesan, [2022-01-03 11:13]
Ho aggiunto in DT la sottocategoria Specie-R e devo dire che mi sembra un passaggio un po' macchinoso e non troppo intuitivo aggiungere la sottocategoria alfabetica ogni volta che si inserisce una specie o un personaggio o un episodio eccetera

La categoria principale viene ereditata dalla voce "Istanza di" e non ci sono problemi

Mi chiedevi se era possibile in WT richiamare (ad esempio per specie) richiamare tutte le istanze di Specie il cui titolo inizi con una particolare lettera, per creare la sottocategoria alfabetica.

La sottocategoria la si può creare in EpilogoGenerico nel caso in cui sia una pagina di Specie, Pianeti, Personaggi, o altro

Event Timeline

lucamauri moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Jan 8 2022, 17:12

Fatta la maggior parte del codice in Modulo:DTFunzionicomuni con il codice:

function p.CategoryTree(frame)
	local AZInstancesMember = {Q23 = "Personaggi", Q18 = "Specie", Q95 = "Pianeti", Q19 = "Cast"}
	--local CurrentItem = mw.wikibase.getEntity()
	local CurrentQ = mw.wikibase.getEntity().claims['P14'][1].mainsnak.datavalue.value.id
	local AZCategory = ''
	
	if AZInstancesMember[CurrentQ] ~= nil then
		-- Generate auto A-Z Category
		-- TDOO generate 09 for numeric labels
		local FirstLetter = string.upper(string.sub(mw.wikibase.getLabel(), 1, 1))
		AZCategory = "[[Category:" .. AZInstancesMember[CurrentQ] .. " - " .. FirstLetter .. "]]"
		return (table.concat(p.PropertiesOnTree("P68", 1, true))) .. AZCategory
	else
		return table.concat(p.PropertiesOnTree("P68", 2, true))
	end
end

Mancano da elaborare le stringhe che iniziano per numero e non per lettera