Predefinição:Teste/Gkiyoshinishimoto/Category handler/doc
Esta é a metapredefinição {{Teste/Gkiyoshinishimoto/Category handler}}.
Ela ajuda outras predefinições a automatizar a categorização e a supressão de categorização.
Já quando usada com suas configurações padrões, esta predefinição impede a categorização automática em alguns espaços nomeados e em algumas páginas onde normalmente não queremos categorização. Assim, mesmo o uso mais básico como "{{Teste/Gkiyoshinishimoto/Category handler|[[Categoria:Alguma categoria]]}}
" garante que as predefinições não sejam categorizadas automaticamente nos lugares errados.
Esta predefinição facilita a escolha de em quais espaços nomeados uma predefinição deve ou não categorizar, facilita o uso de diferentes categorias em diferentes espaços nomeados e usa uma lista negra central onde podemos adicionar páginas, e tipos de páginas, onde as predefinições não devem categorizar automaticamente.
Quando não usar esta predefinição
Se uma predefinição precisar apenas categorizar em, um dos espaços nomeados, principal (artigos), ficheiro (imagens) ou categoria, usar essa predefinição será um exagero. Em vez disso, use um de {{Teste/Gkiyoshinishimoto/Main other}}, {{Teste/Gkiyoshinishimoto/File other}} ou {{Teste/Gkiyoshinishimoto/Category other}}. Mas se a sua predefinição precisar categorizar em qualquer outro espaço nomeado, recomendamos que você use essa predefinição, pois ela fornece supressão de categorização adequada e facilita a seleção de como categorizar nos diferentes espaços nomeados.
Espaços nomeados
Esta predefinição detecta e agrupa todos os diferentes espaços nomeados usados na Wikipédia em vários tipos. Esses tipos são usados como nomes de parâmetros nesta predefinição.
- main = Espaço principal/artigo, como em artigos normais da Wikipédia.
- talk = Qualquer espaço de discussão, como nomes de páginas que começam com "Discussão:", "Usuário Discussão:", "Ficheiro Discussão:" e assim por diante.
- user, wikipedia, file, mediawiki, template, help, category, portal and book = Os outros espaços nomeados, exceto os das páginas de discussão.
- other = Quaisquer espaços nomeados que não foram especificados como parâmetro para a predeginição. Veja exemplos abaixo.
Uso básico
Esta predefinição leva dois ou mais parâmetros. Aqui está um exemplo com o código completo da predefinição para uma caixa de mensagem de artigo:
<syntaxhighlight lang="wikitext"> Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Message box".Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Category handler". Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Documentation".
</syntaxhighlight>
O exemplo acima usa as configurações padrões para Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Template link general".. Isso significa que a caixa irá categorizar em páginas nos seguintes espaços nomeados:
- principal, ficheiro, ajuda, categoria, portal e livro
Mas ela não irá categorizar nos seguintes espaços nomeados:
- discussão, usuário, wikipédia, mediawiki e predefinição
E ela "não" irá categorizar nas páginas da lista negra. (Veja a seção Lista negra abaixo.)
A razão pela qual esta predefinição não categoriza em alguns dos espaços nomeados é que nesses espaços nomeados a maioria das predefinições é apenas demonstrada ou listada, e não usada. Assim, a maioria das predefinições não deve categorizar nesses espaços nomeados.
Qualquer predefinição destinada a um ou mais espaços nomeados onde esta predefinição categoriza pode usar a sintaxe básica conforme mostrado acima.
Uso avançado
Esta predefinição usa um ou mais parâmetros nomeados de acordo com os diferentes tipos de página listados na seção Espaços nomeados acima. Ao usar esses parâmetros, você pode especificar exatamente em quais espaços nomeados sua predefinição deve categorizar. Assim:
<syntaxhighlight lang="wikitext"> Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Message box".Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Category handler". </syntaxhighlight>
A caixa acima irá categorizar apenas no espaço principal e de discussão. Mas não irá categorizar nas páginas "/arquivo", pois elas estão na lista negra. (Veja a seção lista negra abaixo.) E se você precisar demonstrar (discutir) essa caixa em uma página de discussão, então você pode alimentar "nocat=true
" para evitar que essa predefinição categorize. (Veja a seção O parâmetro "nocat" abaixo.) Assim:
<syntaxhighlight lang="wikitext">
Minha nova predefinição
Olá pessoal, vocês viram minha nova predefinição? Predefinição:Teste/Gkiyoshinishimoto/Minha predefinição Legal, não é? --Jaewoo (discussão) 08h25min de 16 de maio de 2024 (UTC) </syntaxhighlight>
Às vezes queremos usar a mesma categoria em vários espaços nomeados, então fazemos assim:
<syntaxhighlight lang="wikitext"> Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Message box".Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Category handler". </syntaxhighlight>
No exemplo acima usamos um parâmetro numerado para alimentar uma das categorias e então dizemos a esta predefinição para usar esse parâmetro numerado tanto para o espaço de ajuda quanto para o espaço de usuário.
Esta predefinição compreende os parâmetros numerados de 1 a 10.
O parâmetro other define o que deve ser usado nos espaços nomeados restantes que não foram explicitamente alimentados com dados.
Observe o parâmetro talk vazio, mas definido. Isso impede que esta predefinição mostre o que foi alimentado no parâmetro other, quando estiver no espaço de discussão.
Esta predefinição também possui um parâmetro chamado all. Ele funciona assim:
<syntaxhighlight lang="wikitext" highlight="4"> Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Message box".Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Category handler". </syntaxhighlight>
O exemplo acima irá categorizar em todos os espaços nomeados, mas não nas páginas da lista negra. Se você quiser demonstrar essa caixa em uma página, use "nocat=true
" para evitar que a predefinição categorize.
Nós sugerimos evitar o parâmetro all, já que as predefinições devem preferencialmente categorizar apenas nos espaços nomeados necessários.
O parâmetro all também pode ser combinado com o resto dos parâmetros. Assim:
<syntaxhighlight lang="wikitext" highlight="4"> Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Message box".Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Category handler". </syntaxhighlight>
Se a caixa acima for colocada em um artigo, serão adicionadas as categorias "Alguma categoria 1" e "Alguma categoria 2". Mas em todos os outros tipos de páginas serão adicionados "Alguma categoria 1" e "Alguma categoria 3". Como mostra o exemplo, o parâmetro all funciona independentemente do restante dos parâmetros.
Subpáginas
Esta predefinição entende o parâmetro subpage. Assim:
<syntaxhighlight lang="wikitext" highlight="2"> Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Category handler". </syntaxhighlight>
Se "subpage=no
", então esta predefinição não irá categorizar em subpáginas. Para as raras ocasiões em que você apenas deseja categorizar em subpáginas, use "subpage=only
". Se subpage estiver vazio ou indefinido então esta predefinição categoriza tanto em páginas base quanto em subpáginas.
Lista negra
Esta predefinição possui uma lista negra de páginas e tipos de páginas onde as predefinições não devem categorizar automaticamente. Assim, as predefinições que usam esta meta-predefinição não irão, por exemplo, categorizar nas subpáginas "/arquivo" e nas subpáginas da lista de predefinições.
Se você deseja que uma predefinição categorize em uma página na lista negra, alimente "nocat = false
" na predefinição ao colocá-la na página, ignorando assim a verificação da lista negra. Observe que esta predefinição categoriza apenas se tiver dados para o espaço nomeado. Por exemplo, se a sintaxe básica for usada (veja Uso básico acima), mesmo se você definir "nocat = false
" a predefinição não irá categorizar em uma página de discussão, uma vez que não possui dados para páginas de discussão. Mas possui dados para o espaço de ajuda, portanto, em uma página de ajuda na lista negra, ela irá categorizar.
A lista negra está no submódulo Módulo:Testes/Gkiyoshinishimoto/Category handler/blacklist. Para ver ou atualizar a lista negra, vá até lá.
O parâmetro "nocat"
Esta predefinição entende o parâmetro nocat:
- Se "
nocat = true
" então esta predefinição não categoriza. - Se nocat estiver vazio, ou indefinido, então esta predefinição categoriza normalmente.
- Se "
nocat = false
" esta predefinição categoriza mesmo quando está em páginas da lista negra. (Veja a seção lista negra acima.)
Predefinições que usam Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Template link general". devem encaminhar nocat, para que elas também entendam nocat. O código "nocat = {{{nocat|}}}
" mostrado nos exemplos desta página faz isso.
O parâmetro "categories"
Para compatibilidade com versões anteriores, esta predefinição também entende o parâmetro categories. Funciona da mesma forma que nocat. Assim:
- Se "
categories = no
" então esta predefinição não categoriza. - Se categories estiver vazio ou indefinido então esta predefinição categoriza normalmente.
- Se "
categories = yes
" esta predefinição categoriza mesmo quando está em páginas da lista negra.
Ao adicionar esta predefinição em uma predefinição que já usa a lógica "categories = no
", você pode fazer o seguinte para não quebrar nenhum uso existente:
<syntaxhighlight lang="wikitext" highlight="4"> Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Category handler". </syntaxhighlight>
O parâmetro "category2"
Para compatibilidade com versões anteriores, esta predefinição suporta o antigo parâmetro "category =". Mas o nome do parâmetro "category" já é usado nesta predefinição para alimentar dados de categoria quando estiver no espaço de categoria. Então, em vez disso, esta predefinição usa category2 para uso semelhante a nocat. Assim:
- Se "
category2 =
" (vazio, mas definido), ou "category2 = no
", ou se category2 for alimentado com quaisquer outros dados (exceto conforme descrito nos próximos dois pontos), então esta predefinição não categoriza. - Se category2 for indefinido ou se "
category2 = ¬
", então esta predefinição categoriza normalmente. - Se "
category2 = yes
" esta predefinição categoriza mesmo quando está em páginas da lista negra.
Ao adicionar esta predefinição em uma predefinição que já usa a lógica "category =
", você pode fazer assim para não quebrar nenhum uso existente:
<syntaxhighlight lang="wikitext" highlight="4"> Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Category handler". </syntaxhighlight>
Observe que o "¬
" é necessário, ele ajuda esta predefinição a detectar se o parâmetro category está definido, mas vazio, ou indefinido.
Categorias e texto
Além das categorias, você pode inserir qualquer outra coisa nesta predefinição, por exemplo, algum texto. Assim:
<syntaxhighlight lang="wikitext"> Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Message box".Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Category handler". </syntaxhighlight>
Quando a predefinição acima for mostrada em qualquer outra coisa que não seja uma página de discussão, terá a seguinte aparência (observe o texto abaixo da caixa):
Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Message box".Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Category handler".
Esse texto não será mostrado nas páginas da lista negra, portanto, não use esse método para mostrar informações importantes. Alimentar "nocat = true
" na predefinição oculta o texto, assim como suprime qualquer categorização.
O parâmetro "page"
Para fins de testes e de demonstrações esta predefinição pode usar um parâmetro chamado page. Assim:
<syntaxhighlight lang="wikitext" highlight="5"> Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Category handler". </syntaxhighlight>
No código acima, deixamos propositalmente os colchetes ao redor dos nomes das categorias para que possamos ver a saída na página. Não importa em que tipo de página o código acima seja usado, ele retornará isto:
- Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Category handler".
O parâmetro page faz com que esta predefinição se comporte exatamente como se estivesse naquela página. Até a lista negra funciona. O nome da página não precisa ser uma página existente.
Se o parâmetro page estiver vazio ou indefinido, o nome da página atual determina o resultado.
Você pode fazer com que sua predefinição também entenda o parâmetro page. Isso significa que você pode testar como sua predefinição irá categorizar em páginas diferentes, sem precisar editar essas páginas. Então faça assim:
<syntaxhighlight lang="wikitext" highlight="5"> Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Category handler". </syntaxhighlight>
Parâmetros
Lista de todos os parâmetros:
<syntaxhighlight lang="wikitext"> Erro de comando: Não existe nenhum módulo "Testes/Gkiyoshinishimoto/Category handler". </syntaxhighlight>
Observe que os valores vazios para os parâmetros "main" ... "other" têm um significado especial (veja os exemplos acima). O parâmetro "all" não entende parâmetros numerados, pois nunca deveria haver necessidade disso.
Detalhes técnicos
A lista negra centralizada de supressão de categorização está em Módulo:Testes/Gkiyoshinishimoto/Category handler/blacklist. Para ver ou atualizar a lista negra, vá até lá.
Para mais detalhes técnicos consulte o página de discussão (na enwiki).
Ver também
- en:Wikipedia:Category suppression (na enwiki) – O guia de como fazer.
- en:Wikipedia:WikiProject Category Suppression (na enwiki) – O WikiProjeto.
- Wikipédia:Domínios – Lista todos os espaços nomeados.