مستخدم:HitomiAkane/Egyptianization.js
ملحوظه: بعد التسييف، ممكن تحتاج تفضى كاش البراوزر بتاعك عشان تشوف التغييرات اللى عملتها، بالطريقه دى:
- فايرفوكس وسفارى: دوس ⇧ Shift مع Reload او Ctrl-F5 او Ctrl-R (اللى هو: Command-R على ماكنتوش)
- جوجل كروم: دوس Ctrl-Shift-R (اللى هو: Command-Shift-R على ماكنتوش)
- انترنت اكسبلورر: دوس Ctrl مع Refresh فى نفس الوقت، او Ctrl-F5
- كونكرر: دوس Reload او F5
- اوبرا: فضى الكاش من Tools → Preferences
mw.loader.load('//arz.wikipedia.org/wiki/User:HitomiAkane/ar2arzReplace.js?action=raw&ctype=text/javascript');
if (mw.config.get('wgNamespaceNumber') ===0){
var EgyptianizeNode = mw.util.addPortletLink(
'p-tb','#','تمصير'
);
$(EgyptianizeNode).on( 'click', function (e){
ShowLoading();
Egyptianize();
e.preventDefault();
});
}
function Egyptianize(){
var foundPage= false;
var currentPageName = mw.config.get('wgPageName');
(new mw.Api()).get({
prop: 'revisions',
rvprop: 'content',
rvlimit: 1,
indexpageids: true,
titles: currentPageName.replace(/_/g," ")
})
.done( function (data){
var q = data.query,
id = q && q.pageids && q.pageids[0],
pg = id && q.pages && q.pages[ id ],
rv = pg && pg.revisions;
if ( rv && rv[0] && rv[0]['*'] ) {
var newContent = replaceThis(rv[0]['*']);
new mw.Api()
.edit( currentPageName, function ( revision ) {
return{
text: newContent,
summary: "تمصير",
};
})
.then( function () {
$(".loading").remove();
location.reload();
});
}else{
}
})
.fail();
}
function ShowLoading(){
$("head").append(`<style>
.loading {
position: fixed;
top: 0; right: 0;
bottom: 0; left: 0;
background:rgba(143, 143, 143, .5);
transition: visibility 2s, opacity 2s linear;
}
.loader {
left: 50%;
margin-left: -4em;
font-size: 10px;
border: .8em solid rgba(255, 255, 255, .8);
border-left: .8em solid rgba(88, 179, 224, 1);
animation: spin 1.1s infinite linear;
}
.loader, .loader:after {
border-radius: 50%;
width: 6em;
height: 6em;
display: block;
position: absolute;
top: 50%;
margin-top: -4.05em;
}
@keyframes spin {
0% {
transform: rotate(360deg);
}
100% {
transform: rotate(0deg);
}
}
</style>`);
$("body").append (`<div class="loading" style = "display:none;"><div class="loader"></div></div>`);
$(".loading").show(1000);
}