User:GhostInTheMachine/UI.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
This user script seems to have a documentation page at User:GhostInTheMachine/UI. |
//// my UI changes
// remove the Wikipedia logo to save space in the sidebar
// remove the ID so that the first portal menu heading is shown (see [[Phab:T268157]])
$('#p-logo').hide().removeAttr('id');
// remove the logout link to make things safer (and save space)
$('#pt-logout').hide();
// move the Mobile link to the end of the footer row
$('#footer-places-mobileview').appendTo('#footer-places')
// add some style so that the left panel headings stand out a bit -- black text over pale orange?
mw.util.addCSS('.vector-menu-portal .vector-menu-heading { background-color: cornsilk; color: black;}');
// use bull characters in hlists
mw.util.addCSS('.hlist li::after {content: " • " !important;} .hlist li:last-child::after {content: none !important;}');
// open a gap under the page title to allow for gadgets
mw.util.addCSS('.mw-body .firstHeading {margin-top: 1em;}');
// move main page link to the top of the tools menu
$('#p-tb > div > ul').prepend($('#n-mainpage-description'));
// create new "My pages" and "My gadgets" portlet menus at the top of the sidebar
"pages gadgets"
.split(' ').forEach(function(p){
$('#p-navigation').clone().attr('id', 'p-my-'+p).insertBefore('#p-navigation');
$('#p-my-'+p+' .vector-menu-heading-label').text('My '+p);
$('#p-my-'+p+'>div>ul').text('');
});
// add a set of my subpages to the "My pages" menu
mw.util.addPortletLink ('p-my-pages', '/wiki/User:GhostInTheMachine', 'HOME');
"All Drafts Help Misc Modules Other Layout Projects Scripts Test Tidying TidyingSD Timeline TODO WIP"
.split(' ').forEach(function(p){
mw.util.addPortletLink ('p-my-pages', '/wiki/User:GhostInTheMachine/' + p, '/ ' + p);
});
// add link to the "My gadgets" menu -- ⇑ go to top -- click -> scroll
$(mw.util.addPortletLink( 'p-my-gadgets', '#', String.fromCharCode(8657)+' go to top', 'p-my-gadgets-top', 'Go to the top'))
.click(function(e){ e.preventDefault(); $('html, body').animate({scrollTop: 0}); });
// add link to the "My gadgets" menu -- / sub-pages -- real link
mw.util.addPortletLink('p-my-gadgets', mw.config.get('wgServer')+mw.config.get('wgArticlePath').replace("$1", "Special:PrefixIndex/"+mw.config.get('wgPageName')+"/"), '/ sub-pages');
// add link to the "My gadgets" menu -- ⇓ go to end -- click -> scroll
$(mw.util.addPortletLink( 'p-my-gadgets', '#', String.fromCharCode(8659)+' go to end', 'p-my-gadgets-end', 'Go to the end'))
.click( function(e){ e.preventDefault(); $('html, body').animate({scrollTop: $(document).height()}); });
// add link to the "My gadgets" menu -- Process this page with Refill
mw.util.addPortletLink('p-my-gadgets', "https://refill.toolforge.org/ng/result.php?page="+mw.config.get('wgPageName')+"&wiki=en&method-wiki=Fix%20page&noaccessdate=on", 'Refill');
// hide some of the sidebar menus
"p-navigation p-interaction p-coll-print_export p-lang"
.split(' ').forEach(function(p){
$('#'+p).hide();
});
// move assorted gadgets from their default menu into the "My gadgets" menu
// add a loader delay -- Twinkle seems very slow to load
mw.loader.using( 'ext.gadget.Twinkle', function () {
"todo_add todo_view tw-lastdiff ca-make-sd-links us-majavah-align t-dumb-quotes ca-wping ca-AutoEd"
.split(' ').forEach(function(p){
ui_move_gadget(p, 20);
});
});
// wait for the gadget "$1" to get loaded - retry $2 times with a delay of 100ms
function ui_move_gadget(id, safety) {
console.log('ui_move_gadget '+id, safety);
var $id = $('#' + id);
if($id.length < 1 && safety > 0) {
setTimeout(ui_move_gadget, 100, id, safety-1);
return;
}
$id.appendTo('#p-my-gadgets > div > ul');
}
// VERY dirty quick fix following Thursday 6 June 2024 to stop the diff spots from U+26AB — see Phab T366845
// mw.hook( 'wikipage.diff' ).add( function() { $('.mw-diff-movedpara-left, .mw-diff-movedpara-right').text(''); } );
// quick fix following Thursday 20 June 2024 mess to diff display — see Phab T361717
mw.util.addCSS('.diff-deletedline { border-color: #ffe49c; }');
mw.util.addCSS('.diff-addedline { border-color: #a3d3ff; }');
mw.util.addCSS('.diff-deletedline .diffchange, .mw-diff-inline-deleted del, .mw-diff-inline-changed del, .mw-diff-inline-moved del { background: #ffe49c; }');
mw.util.addCSS('.diff-addedline .diffchange, .mw-diff-inline-added ins, .mw-diff-inline-changed ins, .mw-diff-inline-moved ins { background: #a3d3ff; }');