Памятка, если вас посылают на войну против вашей воли (обновлено 23/09)Помогите завершить войну — поддержите армию Украины
(в том числе анонимно криптовалютой) -- адм. toriningen
(в том числе анонимно криптовалютой) -- адм. toriningen
MediaWiki:Modules/categories-list-generator.js
Материал из Мракопедии
Замечание. Возможно, после сохранения вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl-F5 или Ctrl-R (⌘-R на Mac)
- Google Chrome: Нажмите Ctrl-Shift-R (⌘-Shift-R на Mac)
- Internet Explorer: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl-F5
- Opera: Перейдите в Menu → Настройки (Opera → Настройки на Mac), а затем Безопасность → Очистить историю посещений → Кэшированные изображения и файлы
$('#categories-table') .before('<center><input type="checkbox" id="generator-toggle" style="scale: 1.3;"><label for="generator-toggle" style="font-size: 140%; user-select: none;">Включить генератор списка категорий</label></center>') .before(String.raw`<style> #categories-table a.generator::before { content: ""; display: inline-block; padding-right: 0.2em; vertical-align: text-top; height: 1em; aspect-ratio: 1; background: url('https://mrakopedia.net/w/images/9/99/Plusminussprite.png'); background-size: cover; background-clip: content-box; } #categories-table a.added::before { background-position-x: 16px; } a.generator { white-space: nowrap; } </style>`); $('#categories-table > tbody').append('<tr style="display: none;"><td colspan="2"><textarea style="resize: none;" rows="5" id="categories-markup-list" placeholder="Начните выбирать категории"></textarea><input type="button" value="Скопировать" style="margin-top: 0.2em;" id="copy-result"></td></tr>'); let pickedCategories = new Set(); $('#categories-table').on('categories-changed', function() { let array = Array.from(pickedCategories); let content = array.sort().map((category)=>`[[${category}]]`).join('\n'); $('#categories-markup-list').val(content).attr('rows', Math.max(5, pickedCategories.size)); }); $('#copy-result').click(async function() { let content = $('#categories-markup-list').val(); await navigator.clipboard.writeText(content); }); $('#generator-toggle').click(function() { $('#categories-table a').toggleClass('generator'); $('#categories-table tr:last-child').toggle(); if ($(this).is(':checked')) { $('#categories-table a').click(function(e) { e.preventDefault(); let $anchor = $(e.target), entry = $anchor.attr('title'); $anchor.toggleClass('added'); if ($anchor.hasClass('added')) { pickedCategories.add(entry); } else { pickedCategories.delete(entry); } $(this).trigger('categories-changed'); }); } else { $('#categories-table a').off('click'); } }); if (window.location.hash === '#generator') { $('#generator-toggle').click(); }