Usuário:BraunOBruno/CopSec.js
Nota: Depois de publicar, poderá ter de contornar a cache do seu navegador para ver as alterações.
- Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
- Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
- Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5.
mw.loader.load( 'https://pt.wiki.x.io/w/index.php?title=User:BraunOBruno/CopSec.css&action=raw&ctype=text/css', 'text/css' );
$(document).ready(function() {
// Função para normalizar o nome da seção para ser usado no link
function normalizeSectionName(sectionName) {
return sectionName.trim().replace(/\s+/g, '_');
}
// Pegar o título da página
var pageTitle = mw.config.get('wgPageName').replace(/_/g, ' ');
// Iterar sobre todos os cabeçalhos de seção dentro do corpo do artigo
$('.mw-parser-output h1, .mw-parser-output h2, .mw-parser-output h3, .mw-parser-output h4, .mw-parser-output h5, .mw-parser-output h6').each(function() {
var header = $(this);
var sectionId = header.attr('id');
// Apenas prosseguir se o cabeçalho tiver um ID
if (sectionId) {
// Criar o botão "copiar seção" com a classe copy-section-btn
var copyButton = $('<a>')
.text('copiar seção')
.attr('href', '#')
.addClass('copy-section-btn')
.click(function(event) {
event.preventDefault(); // Previne o comportamento padrão do link
var sectionLink = `[[${pageTitle}#${sectionId.replace(/_/g, ' ')}]]`;
navigator.clipboard.writeText(sectionLink).then(function() {
// alert('Link da seção copiado: ' + sectionLink);
}, function(err) {
console.error('Erro ao copiar o texto: ', err);
});
});
// Adicionar o botão ao lado do cabeçalho
header.append(copyButton);
}
});
});