Wikipédia:JavaScript Wiki Browser
| Você assume total responsabilidade por quaisquer ações realizadas ao usar JavaScript Wiki Browser. Você deve ler e cumprir todas as políticas da Wikipédia relevantes ao utilizar esta ferramenta; não fazê-lo pode resultar na perda de acesso à ferramenta ou em ser bloqueado(a) de editar. |
| Repositório no GitHub |
| Registro de alterações |
| Código-fonte |
| Arquivo worker |
| Arquivo i18n |
| Folha de estilo |
| Executar script |
| Suas configurações |
JavaScript Wiki Browser é um script que permite aos usuários realizarem edições semi-automatizadas de forma mais simples. Para uso geral, funciona de maneira semelhante ao AutoWikiBrowser para download, mas não requer instalação de executável e pode rodar em todos os principais sistemas operacionais. Este script aproveita bastante do AWB em design e funcionalidades, por exemplo utilizando o conserto de erros tipográficos com Regex e a página de verificação de usuários. Para usar este script, você precisa estar listado na página de verificação do AutoWikiBrowser da wiki (Project:AutoWikiBrowser/CheckPageJSON na sua wiki), ou ter privilégios de administrador na wiki.
Instalação
[editar código]Antes de usar este script, você precisa primeiro adicionar uma importação ao seu arquivo JavaScript pessoal. Mesmo que a wiki em que ele está sendo usado já tenha alguma infraestrutura para o AWB, você precisa instalá-lo para você mesmo. Não é recomendado instalar este script em nível global da wiki.
Para instalar este script em qualquer wiki, cole o seguinte código no seu arquivo JavaScript (normalmente é Special:MyPage/common.js, mas arquivos JS específicos para cada skin também podem ser usados):
mw.loader.load( '//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&action=raw&ctype=text/javascript' ); // Backlink: [[en:User:Joeytje50/JWB.js/load.js]]
(ignorar o erro ao salvar)
Note que, para usar este script, você precisa estar listado na página de verificação localizada em Project:AutoWikiBrowser/CheckPageJSON (isto é, esta página nesta wiki), se essa página existir. Se não existir, todos os usuários podem utilizar a ferramenta.
Primeiros passos
[editar código]Após instalar o script, basta ir até esta página para executar o script. Para usuários em outras wikis, basta acessar a página Project:AutoWikiBrowser/Script na wiki em que você deseja iniciar o script e já ter instalado o código acima.
A interface do JWB pode parecer um pouco carregada no início, mas você acabará se acostumando a trabalhar com ela. Essa interface compacta permite que menos abas sejam necessárias, possibilitando fazer mais coisas sem precisar alternar entre várias telas.
A parte mais importante do script é a lista de páginas. Você pode inserir qualquer quantidade de páginas na lista localizada no canto inferior esquerdo da interface. A lista de páginas, junto com a área de edição e a janela de resultados (na parte superior), são redimensionáveis, e nos campos de texto, irão se expandir sobre o restante da interface para evitar mover o conteúdo para o lado.
Durante a edição, todas as entradas ficam desabilitadas, então, para modificar suas configurações, você precisa primeiro pressionar o botão de parar.
Lista de páginas
[editar código]
Na primeira aba (Setup), você encontrará um conjunto de opções que permitem realizar certas ações na lista de páginas. O botão Remove duplicates remove automaticamente páginas repetidas, e o botão Sort ordena a lista alfabeticamente.
Variáveis de página
[editar código]Você pode definir variáveis de página na lista. Isso pode ser feito colocando um | após o nome da página e adicionando o valor da variável. Essa variável pode então ser usada com $x nos campos Replace e With, em ambos os campos Skip when ..., e, para sysops, na caixa de destino da página.
Isso é útil ao mover um grande número de páginas. Basta preparar uma lista de nomes originais com os novos nomes após o |, e o script preencherá automaticamente os novos nomes. Também pode ser usado quando você precisa substituir uma palavra específica diferente em cada página da sua lista, ou se precisa substituir algo por uma palavra definida. Se nenhuma variável de página for especificada, o título da página é usado como variável.
Pre-parsing
[editar código]O modo de pre-parsing pode ser usado para filtrar automaticamente sua lista de páginas para aquelas que atendem a certos requisitos. Basta marcar a caixa Usar modo de pre-parsing e definir suas condições de pulo na aba Skip. Depois de terminar de definir essas condições, pressione start para começar a carregar cada página da lista, pulando-a quando atender aos requisitos ou movendo-a para o final da lista para ser usada mais tarde.
O JWB inserirá automaticamente uma marca #PRE-PARSE-STOP no final da lista, para que ela seja percorrida apenas uma vez. Se quiser mudar onde a pre-parsing deve parar, basta inserir #PRE-PARSE-STOP em uma linha separada na lista de páginas, abaixo da última que deseja pré-analisar (como se fosse um nome de página).
Você pode pressionar stop a qualquer momento durante a pre-parsing. O #PRE-PARSE-STOP permanecerá no lugar, de forma que você pode apenas modificar suas regras de pulo e continuar, ou pressionar o botão reset ao lado da caixa Usar modo de pre-parsing para reanalisar a lista inteira novamente.
Gerando listas de páginas
[editar código]Para gerar uma lista de páginas, basta clicar no botão Generate na aba Setup. Isso abrirá uma janela onde você pode especificar quais requisitos a lista deve atender. Note que a geração de listas é limitada a 50 requisições consecutivas por vez, para não sobrecarregar o servidor. O número máximo de páginas por requisição depende do gerador usado. Para páginas em uma categoria ou links em uma página, o limite é 500 (ou 5000 para bots), e para os demais geradores é 50 (ou 500 para bots).
Cada um desses geradores filtra seus resultados com base nos domínios de nomes selecionados na caixa de domínios à direita das opções do gerador. Você pode selecionar múltiplos domínios mantendo pressionada a tecla Ctrl ou Shift e clicando, ou arrastando sobre os domínios. Se a lista de páginas exceder o número máximo, você pode usar isso para reduzir os resultados e obter a lista completa em várias etapas.
Basta marcar a caixa antes do título do conjunto de campos para habilitar e incluir aquele gerador na criação da lista.
- Category
- Obtém todos os membros da categoria inserida.
Para excluir subcategorias, arquivos ou páginas normais, basta desmarcar as respectivas caixas.
- Links to page
- Obtém todos os links para a página especificada.
- Pode incluir wikilinks normais, transclusões de predefinições ou uso de arquivos. Todos podem ser usados ao mesmo tempo.
- Também há a opção de filtrar por redirecionamentos. É possível escolher incluir apenas redirecionamentos, excluir redirecionamentos ou incluir tanto redirecionamentos quanto wikilinks.
- Por fim, há a opção de incluir links para redirecionamentos da página. Isso significa que, se a página A redireciona para a página B, e a página C contém link para A, ela ainda será incluída na lista se essa caixa estiver marcada.
- Pages with prefix
- Obtém uma lista de todas as páginas que começam com o prefixo especificado. Isso pode ser útil, por exemplo, para listar todas as subpáginas de uma página.
- Se a busca por prefixo "estrita" estiver ativada, apenas páginas que começam exatamente com a sequência dada serão retornadas. Caso contrário, pode ser feita uma busca aproximada ('
engine_autoselect'). - Watchlist
- Este gerador busca todas as páginas da sua lista de vigiados.
- Links on page
- Obtém todos os links incluídos em uma página específica. Isso pode ser útil ao usar um gerador mais complexo como o DPL.
- Search
- Retorna uma lista de páginas encontradas em uma busca normal da wiki. É altamente recomendado restringir os resultados usando CirrusSearch, por exemplo
insource:/exemplo/ouintitle:/exemplo/. - Busca Semantic MediaWiki
- Em wikis com a extensão Semantic MediaWiki instalada, aparece uma caixa adicional que permite inserir uma consulta SMW para gerar a lista. Se a consulta incluir uma propriedade específica, a primeira retornada (as demais sendo ignoradas) será carregada como variável de página, acessível com
$x. Exemplo:[[Category:Materiais]]|?Ponto de fusãogera uma lista de materiais e suas propriedades de "Ponto de fusão". - Como essa consulta SMW é executada separadamente das demais, o uso combinado de SMW e outros geradores pode gerar páginas duplicadas, que podem ser filtradas com o botão da aba Setup.
Note que, se múltiplas caixas forem selecionadas, será gerada a união das páginas correspondentes. Por exemplo: usar "Categoria" e "Páginas com prefixo" gera todas as páginas que estão na categoria ou começam com o prefixo.
Limites
[editar código]Na aba Setup, abaixo da lista de páginas e das opções de configuração, você pode definir limites para o JWB. Usando esses limites, é possível restringir o tempo gasto pelo JWB em uma regra de localizar e substituir, ou a quantidade de caracteres adicionados ou removidos em uma edição. Note que definir um limite de tamanho de diff não garante a qualidade da sua edição. Não confie apenas nessa configuração para impedir comportamentos inesperados nas suas regras. Isso serve apenas como uma forma de "seguro" para evitar que suas edições adicionem ou removam quantidades imprevistas de texto.
Opções de pulo
[editar código]
Na aba Skip, você pode configurar várias regras para que certas páginas sejam ignoradas automaticamente.
- Redirects
- Você pode escolher seguir redirecionamentos e editar a página de destino (isso também seguirá redirecionamentos duplos), editar os próprios redirecionamentos ou ignorar totalmente páginas de redirecionamento.
- No changes
- Se você escolher pular quando não houver alterações, a página será ignorada automaticamente quando as regras de localizar e substituir não aplicarem nenhuma modificação.
- Page existence
- É possível escolher pular quando a página existir, quando não existir ou editar ambas (existentes e inexistentes).
- Content
- Você pode configurar para pular quando a página contiver determinada string, ou quando não a contiver. Se a frase em Quando a página contém gerar qualquer ocorrência, ou se a frase em Quando a página não contém não encontrar nada, a página será ignorada.
- É possível digitar uma palavra-chave que deve ou não ocorrer, ou usar uma expressão regular. Para mais informações sobre regex, veja #Using regex.
- As correspondências por regex só receberão tempo limitado se o navegador e a wiki oferecerem suporte a isso.[1] O limite de tempo para cada regra individual pode ser definido na aba Setup.
- Categories
- Páginas que pertençam a categorias listadas aqui (separadas por vírgula ou por
|) serão automaticamente ignoradas.
Opções de edição
[editar código]


Na aba Editing (edição), você pode especificar as configurações básicas de edição. É possível preencher o sumário e escolher se a edição será marcada como 'menor'. A caixa de seleção ao lado da caixa de sumário alterna se será adicionado automaticamente (via JWB) ao seu sumário. Também é possível escolher o que fazer com sua lista de vigiados: adicionar todas as páginas editadas, remover, não modificar a lista de vigiados, ou vigiar páginas de acordo com suas configurações de preferência.
Durante a edição, você também pode adicionar ou remover páginas da sua lista de vigiados pressionando o botão ao lado do menu suspenso de vigiados. O botão será rotulado com a ação que realizará (adicionar ou remover).
Cada página exibirá automaticamente a diferença entre o conteúdo armazenado e o conteúdo após a aplicação das regras de localizar & substituir. Você também pode pressionar o botão Pré-visualizar para ver o resultado gerado. No entanto, alguns estilos podem não ser carregados nesta visualização, já que o JWB utiliza uma estrutura de página diferente do conteúdo normal. Isso pode fazer com que estilos que dependem da posição no documento deixem de funcionar.
Usuários com o grupo bot, que também estejam listados na página de verificação do AutoWikiBrowser da wiki sob a categoria 'bot', poderão também salvar suas edições automaticamente. Isso pode ser feito com um intervalo (throttle) para evitar sobrecarga do servidor. O número inserido no campo "a cada [] seg" é o número de segundos entre edições. Esse número também pode conter decimais (usando o . como marca decimal).
Prependendo e anexando
[editar código]Diferente do AutoWikiBrowser, não existe uma opção separada para prepend (inserir antes) ou append (inserir depois). No entanto, a funcionalidade existe: para prepend, basta criar uma regra de substituição que troque ^ pelo texto que você deseja inserir no início, e marcar a opção 'Expressão Regular'. Deixe o campo de flags vazio. Para append, faça o mesmo, mas substitua $ pelo texto a ser adicionado ao final. Também selecione a opção de Expressão Regular, sem ativar nenhuma flag.
Substituições
[editar código]Talvez o recurso mais importante do JWB sejam as substituições automáticas. Você pode definir regras de substituição na aba Editing. Por padrão, todas as substituições são globais. Isso significa que, ao definir que a deve ser substituído por b, todas as letras a no documento serão substituídas por b. Quando usar expressões regulares, isso pode ser desativado removendo a flag g.
Quebras de linha podem ser inseridas tanto em modo Regex quanto no modo simples, usando \n no lugar onde você deseja inserir o caractere de nova linha. Também é possível inserir uma barra invertida usando \\.
As substituições com Regex terão um tempo limite de execução se o navegador e a wiki suportarem esse recurso.[1] O tempo limite para cada regra individual pode ser configurado na aba Setup. Isso evita que o programa congele caso uma expressão regular demore demais para executar.
- ↑ a b Detalhes técnicos: requer suporte do navegador a Web Workers e que a wiki permita Content Security Policy com
script-src: blob:;ouworker-src: blob:;
Correção de erros tipográficos
[editar código]Você pode usar a lista de erros tipográficos do AWB para corrigir automaticamente erros presentes na página. Lembre-se de sempre verificar se as correções automáticas estão corretas. Essas correções não serão aplicadas a nomes de arquivos, nomes e parâmetros de predefinições,[1] aspas,[2] nem a qualquer texto após dois pontos ou asterisco, além de ignorar qualquer regra que também corresponda ao destino de um wikilink. Linhas que contenham um marcador {{sic}} também serão ignoradas por este corretor.[3] Essas regras são baseadas na listagem de regras do AWB.
Nota: Como alguns navegadores não suportam lookbehind em Regex, recomenda-se executar esta função do JWB em navegadores compatíveis. Atualmente, incluem-se Google Chrome, Firefox e Opera. Mesmo nestes navegadores, versões antigas podem não oferecer suporte, e os usuários devem garantir que estão usando versões atualizadas.
Note que esta função usa a lista de erros tipográficos da própria wiki onde o script está sendo executado. Caso essa wiki não possua a página Project:AutoWikiBrowser/Typos, a correção de erros não funcionará.
- ↑ Devido à natureza não regular do wikitexto, o script reconhecerá qualquer
}}como o fim da predefinição mais externa. Isso significa que, se uma predefinição estiver aninhada em outra, e um erro ocorrer após essa predefinição interna, ele não será ignorado. - ↑ Aspas que não estiverem dentro de uma predefinição de citação (por exemplo, aspas simples
"") só serão reconhecidas se estiverem na mesma linha. Se a abertura ocorrer em uma linha e o fechamento apenas na seguinte, não será considerado como citação e não será ignorado. Verifique manualmente nesses casos. - ↑ Uma linha em que já tenha sido marcado manualmente um erro com sic provavelmente já foi revisada manualmente. Nesse caso, qualquer outro erro na mesma linha também deve ser intencional ou transcrito, portanto não deve ser corrigido.
Se você deseja desativar o RETF em uma página específica, pode usar o botão abaixo da caixa de seleção RETF para recarregar o conteúdo sem aplicar correções automáticas. Isso é útil em páginas com ortografia intencionalmente incorreta ou linguagem antiga. Para reativar, basta parar e reiniciar o JWB.
Uso de expressões regulares
[editar código]Além de substituições simples, você também pode definir regras de substituição com expressões regulares. Assim, você tem mais controle sobre o que será correspondido. Você pode especificar as flags na caixa ao lado da marcação Expressão Regular. Lembre-se de que, diferentemente das substituições simples (globais por padrão), será necessário incluir a flag g para realizar substituições globais.
O script do JWB também permite o uso da flag _ (underscore). Isso fará com que espaços e underscores sejam tratados igualmente. É útil ao lidar com wikilinks, transclusões de predefinições, etc.
Para realizar múltiplas substituições na mesma página, use o botão More replace fields (mais campos de substituição), que abre uma janela para adicionar novas regras no mesmo formato. Também é possível pressionar Tab estando no último campo, para que novos campos sejam criados automaticamente, ou clicar em Add more fields.
Para testar expressões regulares (sem a flag _), você pode usar IDEs online como http://regex101.com/, http://debuggex.com/ ou http://regexr.com/. Certifique-se de configurar o mecanismo de regex como JavaScript (ou ECMAScript) para reproduzir o funcionamento no JWB.
Ignorando conteúdo não analisado
[editar código]Marcar essa opção fará com que a substituição ocorra apenas fora dos seguintes contextos:
- Comentários:
<!-- Este texto será ignorado --> - Tags de código: conteúdo dentro de
<nowiki>,<code>,<source>,<syntaxhighlight>e<pre>será ignorado - Tags de formatação:
<math>,<gallery>e<timeline>
O conteúdo dentro dessas tags permanecerá intocado. Esta opção também funciona quando não se usam expressões regulares.
Note que essas exceções não são iguais às regras do corretor de erros tipográficos; elementos como aspas e links não serão ignorados nesse modo.
Configurações
[editar código]O JWB permite armazenar suas configurações atuais na wiki ou no seu computador. Também é possível armazená-las temporariamente durante a sessão clicando em Store setup. Assim, você pode voltar às configurações temporárias na mesma sessão do navegador, por exemplo, para reexecutar o JWB em determinada lista de páginas. Para acessá-las em outra sessão, você precisa salvá-las na wiki ou baixá-las.
Salvar na wiki armazena as configurações em Special:MyPage/JWB-settings.json. Essas configurações são carregadas automaticamente ao abrir o JWB, e as nomeadas como "default" são aplicadas por padrão. Se você modificar suas configurações nessa subpágina, pode recarregá-las clicando em Update.
Também é possível baixar as configurações como um arquivo JSON. Ao salvar, certifique-se de usar a extensão .json, caso contrário não poderá importá-las pelo botão Import. Arquivos podem ser importados clicando em Import e selecionando o JSON, ou arrastando o arquivo para a janela do JWB (drag & drop). Se a extensão for JSON, o carregamento é feito automaticamente.
Você também pode excluir uma configuração da lista selecionando-a no menu suspenso e clicando em Delete. Caso tenha clicado por engano, é possível reverter clicando em Undo na barra de status.
Desde 14 de fevereiro de 2021, a página de configurações foi movida de "JWB-settings.js" para "JWB-settings.json". Se você possuía a versão antiga, ela será movida automaticamente para a nova localização.
Outras ações
[editar código]Administradores podem executar outras ações nas páginas. Estas ações não podem ser automatizadas, mesmo em contas com direitos de bot e sysop.
Mover
[editar código]Ao mover páginas, o sumário usado é o mesmo configurado na aba Editing. É possível selecionar a opção de suprimir redirecionamento, que impede que o movimento deixe um redirecionamento no título antigo. Também é possível mover todas as subpáginas e/ou a página de discussão. Note que todos os avisos são ignorados, ou seja, a ação substituirá páginas já existentes no destino.
Eliminar
[editar código]Assim como o movimento, a eliminação usa o sumário configurado como motivo da ação. Se uma página não existir, o mesmo botão permitirá restaurá-la (se houver versões anteriores). É possível (des)eliminar também a página de discussão correspondente marcando a caixa apropriada.
Proteger
[editar código]Na proteção, é possível definir níveis separadamente para Edição, Movimento e Carregamento. Quando a página não existe, o nível definido para Editar é aplicado a Criar. A proteção de Carregamento só se aplica a páginas de arquivos (File). O campo de expiração aceita entradas como em qualquer tempo normal, como "1 hour", "5 January 2000", etc. Veja mw:API:Protect e ajuda da API para mais informações.
Registros
[editar código]
A aba Log armazena o histórico de todas as ações em ordem cronológica. A barra inferior de estatísticas também acompanha essas ações. Os registros contêm links para as edições realizadas, permitindo revisar cada edição após concluí-la.