Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
- Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
- Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
- Opera: Нажмите Ctrl+F5.
mw.loader.using('mediawiki.util', function () {
$(function () {
var container = document.getElementById('chemistry-recipes');
if (!container) return;
var recipes = [
{
name: 'Зомби-кислота',
class: 'zombieacid',
inputs: ['Диловен [1]', 'Аммиак [1]', 'Кровь зомби [2]'],
output: 'Зомби-кислота [3]',
effects: ['Вызывает мутации и оживление тканей.'],
appearance: 'Ядовито-зелёная жидкость.'
}
];
function createRecipeCard(recipe) {
var card = document.createElement('div');
card.className = 'chem-recipe chem-' + recipe.class;
var header = document.createElement('div');
header.className = 'chem-header';
header.textContent = recipe.name;
card.appendChild(header);
var content = document.createElement('div');
content.className = 'chem-content';
var mixRow = document.createElement('div');
mixRow.className = 'chem-mixrow';
var inputCol = document.createElement('div');
inputCol.className = 'chem-column inputs';
recipe.inputs.forEach(function (input) {
var p = document.createElement('p');
p.textContent = input;
inputCol.appendChild(p);
});
var beakerCol = document.createElement('div');
beakerCol.className = 'chem-column beaker';
// Вставка изображения пробирки через ParserFunction
var beakerFrame = document.createElement('span');
beakerFrame.innerHTML = mw.html.escape('[[Файл:Beaker.png|link=|64px]]');
beakerCol.appendChild(beakerFrame);
var outputCol = document.createElement('div');
outputCol.className = 'chem-column output';
outputCol.textContent = recipe.output;
mixRow.appendChild(inputCol);
mixRow.appendChild(beakerCol);
mixRow.appendChild(outputCol);
content.appendChild(mixRow);
if (recipe.effects.length) {
var effectList = document.createElement('ul');
effectList.className = 'chem-effects';
recipe.effects.forEach(function (eff) {
var li = document.createElement('li');
li.textContent = eff;
effectList.appendChild(li);
});
content.appendChild(document.createElement('hr'));
content.appendChild(document.createTextNode('Эффекты:'));
content.appendChild(effectList);
}
if (recipe.appearance) {
var ap = document.createElement('p');
ap.textContent = 'На вид: ' + recipe.appearance;
content.appendChild(ap);
}
header.addEventListener('click', function () {
content.style.display = content.style.display === 'none' ? 'block' : 'none';
});
content.style.display = 'none';
card.appendChild(content);
return card;
}
recipes.forEach(function (r) {
container.appendChild(createRecipeCard(r));
});
// Преобразуем вики-разметку в HTML
mw.hook('wikipage.content').fire(container);
});
});