// [[Category:Wikipedia scripts]]
// <nowiki>
$(function()
{
if(mw.config.get("wgAction") !== "edit") return;
const debug = false;
if(debug) console.log("Running");
rc_refsCrunched = false;
rc_refs = [];
// Add key handler.
window.addEventListener("keydown", e =>
{
if(e.ctrlKey && e.altKey && e.which == 82)
{
run();
}
});
function run()
{
if(debug) console.log("Activate");
if(rc_refsCrunched)
{
rc_refsCrunched = uncrunchRefs();
}
else
{
rc_refsCrunched = crunchRefs();
}
}
function crunchRefs()
{
const txtarea = document.getElementById("wpTextbox1");
var text = txtarea.value;
var counter = 0;
text = text.replace(/(<ref.*?\/>)|(<ref.*?>(.|\s)*?<\/ref>)/g, match =>
{
if(debug) console.log(match);
rc_refs.push(match);
return `<ref ${counter++}/>`;
});
txtarea.value = text;
return true;
}
function uncrunchRefs()
{
const txtarea = document.getElementById("wpTextbox1");
var text = txtarea.value;
text = text.replace(/<ref (\d+)\/>/g, (match, p1) =>
{
if(debug) console.log(match);
return rc_refs[Number(p1)];
});
window.rc_refs = [];
txtarea.value = text;
return false;
}
});
// </nowiki>