Wikipédia Discussão:Software/Scripts/HotCat.js

O conteúdo da página não é suportado noutras línguas.
Adicionar tópico
Origem: Wikipédia, a enciclopédia livre.

Categorias com Category[editar código-fonte]

Seria muito útil adicionar ao código a expressão regular para categorias adicionadas usando [[Category:]], isto ocorre me muitos artigos, não só nos traduzidos da Wikipédia Anglófona, que por si só já são muitos. Daemorris discussão 18h03min de 31 de janeiro de 2010 (UTC)Responder

Desabilitar HotCat no namespace Predefinição[editar código-fonte]

De tempos em tempos o HotCat é usado para fazer manutenção de predefinições, mas ele não é capaz de substituir categorias respeitando as localizações originais, e com isso adiciona categorias fora das tags <noinclude>. Isso faz com que não só a predefinição seja categorizada, mas também todos os artigos que a utilizam (já alertei sobre isso anteriormente). Com o código abaixo acredito que o HotCat será automaticamente desabilitado para o namespace Predefinição, por isso peço que seja incluido, possivelmente logo abaixo da definição da função hotcat():

function hotcat () {
  if ( hotcat_check_action() ) return ; // Edited page, reloading anyway

  // Não adicionar a interface a páginas de predefinição, pois ela não respeita
  // o posicionamento das categorias dentro de tags <noinclude>. Capmo, 2010-02-19
  if( wgNamespaceNumber == 10 )
    return;

Com isso, esperamos que esse problema não mais ocorra. —capmo (msg) 21h10min de 19 de fevereiro de 2010 (UTC)Responder

Solução alternativa[editar código-fonte]

Após uma sugestão feita em Pedidos a administradores/Páginas protegidas, aqui está uma solução alternativa que mantém o HotCat funcionando nas Predefinições, mas somente para a remoção de categorias. As opções de substituição "(±)" e adição "(+)" de novas categorias ficam desativadas. Para isso deve-se aplicar ao script as alterações efetuadas nas duas funções abaixo:

function hotcat_append_add_span ( catline ) {
  // Se estiver no namespace Predefinição, desativar a opção de adicionar "(+)"
  if ( wgNamespaceNumber == 10 ) return ;

  var span_add = document.createElement ( "span" ) ;
  var span_sep = document.createTextNode ( " | " ) ;
  if ( catline.getElementsByTagName("span")[0] ) catline.appendChild ( span_sep ) ;
  catline.appendChild ( span_add ) ;
  hotcat_create_span ( span_add ) ;
}


function hotcat_modify_span ( span , i ) {
  //var cat_title = span.firstChild.getAttribute ( "title" ) ;
  // Esta falha em MW 1.13alpha se a categoria é um link vermelho, porque anexa à MW 1.13alpha
  // [[MediaWiki:Red-link-title]] para o nome da categoria ... temos outra forma de obter essa categoria
  // name. Lupo, 2008-02-27
  var cat_title = span.firstChild.innerHTML; // without "Categoria:"
 
  var sep1 = document.createTextNode ( " " ) ;
  var a1 = document.createTextNode ( "(-)" ) ;
  var remove_link = document.createElement ( "a" ) ;
  // Set the href to a dummy value to make sure we don't move if somehow the onclick handler
  // is bypassed.
  remove_link.href = "#catlinks";
  remove_link.onclick = hotcat_remove;
  remove_link.appendChild ( a1 ) ;
  span.appendChild ( sep1 ) ;
  span.appendChild ( remove_link ) ;
 
  // Se estiver no namespace Predefinição, desativar a opção de alterar "(±)"
  if ( wgNamespaceNumber == 10 ) return ;

  // Disabled blacklist check TheDJ, 2008-02-28
  // if ( hotcat_is_on_blacklist ( cat_title ) ) return ;
  var mod_id = "hotcat_modify_" + i ;
  var sep2 = document.createTextNode ( " " ) ;
  var a2 = document.createTextNode ( "(±)" ) ;
  var modify_link = document.createElement ( "a" ) ;
  modify_link.id = mod_id ;
  modify_link.href = "javascript:hotcat_modify(\"" + mod_id + "\");" ;
  modify_link.appendChild ( a2 ) ;
  span.appendChild ( sep2 ) ;
  span.appendChild ( modify_link ) ;
}

Att. —capmo (msg) 18h58min de 25 de março de 2010 (UTC)Responder

Sumários com links para as categorias[editar código-fonte]

Atendendo a mais uma sugestão em Pedidos a administradores/Páginas protegidas, estas são as alterações necessárias para que os sumários mostrem ligações para as categorias. Basta substituir as três linhas que começam com summary.push pelos códigos abaixo, respectivamente:

Linha 296:

      summary.push ( "removeu \[\[:categoria:" + cat_rm + "\]\]" ) ;

Linha 313:

      summary.push ( "adicionou \[\[:categoria:" + cat_add + "\]\]" ) ;

Linha 317:

        summary.push ( "removeu a predefinição {{\[\[Predefinição:Semcat|semcat\]\]}}" ) ;


Tomei a liberdade de trocar "removendo/adicionando" por "removeu/adicionou", para ficar consistente com o sumário "moveu ..." que aparece quando uma página é movida. —capmo (msg) 20h14min de 5 de abril de 2010 (UTC)Responder