<style>
/* —— estilos isolados do widget —— */
.widget-gifthumb { margin: .5em 0; }
.widget-gifthumb.tright { float: right; clear: right; margin-left: 1.4em; }
.widget-gifthumb.tleft { float: left; clear: left; margin-right: 1.4em; }
.widget-gifthumb.tcenter { float: none; display: table; margin: .5em auto; }
.widget-gifthumb .thumbinner {
border: 1px solid #a2a9b1;
background-color: #f8f9fa;
padding: 3px;
text-align: center;
display: inline-block;
max-width: 100%;
box-sizing: content-box; /* largura = img + 2px da borda */
}
.widget-gifthumb .thumbimage {
display: block;
max-width: 100%;
height: auto;
}
.widget-gifthumb .thumbcaption {
margin-top: 3px;
font-size: 88%;
color: #202122;
line-height: 1.3;
}
</style>
<script>
(function () {
try {
// Pega o
correspondente a este <script>
var el = document.currentScript;
var root = el;
// Sobe até encontrar o contêiner do widget:
while (root && (!root.classList || !root.classList.contains('widget-gifthumb'))) {
root = root.previousElementSibling;
}
if (!root) return;
var inner = root.querySelector('.thumbinner');
var a = root.querySelector('.thumblink');
var img = root.querySelector('img.thumbimage');
var capEl = root.querySelector('.thumbcaption');
var file = (root.dataset.file || ).trim();
var cap = root.dataset.cap || ;
var side = (root.dataset.side || 'right').toLowerCase();
var width = parseInt(root.dataset.width, 10);
var alt = root.dataset.alt || ;
var link = (root.dataset.link || 'page').toLowerCase();
if (!file) return;
var norm = file.replace(/ /g, '_');
function urlFor(title) {
if (window.mw && mw.util && mw.util.getUrl) return mw.util.getUrl(title);
var base = (window.mw && mw.config) ? (mw.config.get('wgArticlePath') || '/wiki/$1') : '/wiki/$1';
return base.replace('$1', encodeURIComponent(title));
}
// Usa o ARQUIVO ORIGINAL (não miniatura) — mantém animação do GIF
var src = urlFor('Special:FilePath/' + norm);
img.src = src;
if (alt) img.alt = alt;
// Link: página do arquivo, mídia direta, ou nenhum
if (link === 'none' || link === 'no') {
a.replaceWith(img);
} else {
var href = (link === 'media') ? urlFor('Media:' + norm) : urlFor('File:' + norm);
a.href = href;
}
// Legenda
if (cap) capEl.textContent = cap; else capEl.style.display = 'none';
// Alinhamento
root.classList.remove('tleft','tright','tcenter');
if (side === 'left') root.classList.add('tleft');
else if (side === 'center') root.classList.add('tcenter');
else root.classList.add('tright');
// Largura (somamos 2px da borda do thumb)
function fit() {
if (!isNaN(width) && width > 0) {
img.setAttribute('width', width);
inner.style.width = (width + 2) + 'px';
} else {
var iw = img.getBoundingClientRect().width;
if (iw > 0) inner.style.width = (Math.round(iw) + 2) + 'px';
}
}
if (img.complete) fit(); else img.addEventListener('load', fit, { once: true });
window.addEventListener('resize', fit);
} catch (e) {}
})();
</script>