User:Anomie/linkclassifier

    From Wikipedia, the free encyclopedia

    This script adds various classes to the link elements based on various characteristics:

    • deletion – The target page is in one of the many "X for deletion/discussion" categories, or certain speedy deletion categories.[1]
    • disambiguation – The target page is in Category:All disambiguation pages.
      • intentional-disambiguation – The target page's name ends in "(disambiguation)".
    • set-index – The target page is in Category:All set index articles.
    • needs-review – The target page has pending changes in need of review.
    • featured-content – The target page is in one of the Featured Content categories.
    • good-content – The target page is in Category:Good articles.
    • soft-redirect-cats – The target page (most likely a category link) is in Category:Wikipedia soft redirected categories.
    • spoken-articles – The target page is in Category:Spoken articles.
    • stubcls – The target page is in any category ending in "stubs".
    • nonfree-media – The target page is in Category:All non-free media.
    • nonimage – The link does not have the image class, which is added by MediaWiki to image links.
    • has-draft – The target page is a mainspace page, and the corresponding Draft-namespace page exists.
    • redirect – The target page is a redirect.
      • self-redirect – The target page is a redirect to the current page.
      • broken-redirect – The target page is a redirect to a page that does not exist.
    • incorrect-title – The target page is a redirect from an incorrect title, such as those in Category:Redirects from misspellings or Category:Redirects from incorrect names.
    • unprintworthy – The target page is an unprintworthy redirect.
    • unprintworthy-shortcut – The target page is in Category:Redirects from shortcuts.
    • protection-type-level – The target page is protected. If the page is a redirect, the protection status will be obtained from the redirect target. type is the type of protection, for example "move", "edit", "create", and level specifies the level, for example "sysop" or "autoconfirmed".
      • protection-type-level-indef – The target page is indefinitely protected.
    • redir-protection-type-level – The redirect to the target page is protected, as above.

    You can then add CSS rules to apply various visible changes to the different types of links. A number of default rules are available in User:Anomie/linkclassifier.css.

    Usage[edit]

    To use the script, add the following to your skin-specific Javascript file.

    importScript('User:Anomie/linkclassifier.js'); // Linkback: [[User:Anomie/linkclassifier.js]]
    importStylesheet('User:Anomie/linkclassifier.css'); // Linkback: [[User:Anomie/linkclassifier.css]]
    

    Note that this script has only been extensively tested on Monobook.

    If you want to adjust the list of categories, a hook is provided for that purpose:

    mw.hook( 'LinkClassifier' ).add( function ( linkClassifier ) {
        linkClassifier.cats['my-code'] = [ 'Category:Foo', 'Category:Bar' ].sort();
    } );
    importScript('User:Anomie/linkclassifier.js'); // Linkback: [[User:Anomie/linkclassifier.js]]
    importStylesheet('User:Anomie/linkclassifier.css'); // Linkback: [[User:Anomie/linkclassifier.css]]
    

    If you want it to be run on demand (i.e. by clicking a button next to "unwatch"), include it something like this:

    LinkClassifierOnDemand=true;
    importScript('User:Anomie/linkclassifier.js'); // Linkback: [[User:Anomie/linkclassifier.js]]
    importStylesheet('User:Anomie/linkclassifier.css'); // Linkback: [[User:Anomie/linkclassifier.css]]
    
    $.when( mw.loader.using( 'mediawiki.util' ), $.ready ).then( function() {
        var el = mw.util.addPortletLink('p-cactions', '', 'Link Classifier');
        $(el).on('click', function(e) {
            LinkClassifier.onDemand();
            e.preventDefault();
        } );
    } );
    

    In either case, the line for linkclassifier.css may be omitted, if you would rather add custom CSS rules to your skin-specific CSS file.

    Please note that the line for linkclassifier.css does not go in your skin.css, it goes in your skin.js along with the other lines. Alternatively, you can copy the contents of User:Anomie/linkclassifier.css into your skin.css and customize the rules however you would like.

    Legend[edit]

    With the default rules, you should see the following types of links:

    Type Normal Visited
    Normal links like this like this
    External links like this like this
    Red links like this like this
    stubcls like this like this
    redirect like this like this
    self-redirect like this like this
    broken-redirect like this like this
    disambiguation like this like this
    intentional-disambiguation like this like this
    soft-redirect-cats like this like this
    deletion like this like this
    unprintworthy like this like this
    Red link, protection-create-sysop-indef like this like this
    image nonfree-media Example Example
    image deletion Example Example

    Styling[edit]

    If you want to create your own styles, the following list of colors may or may not be helpful:

    Normal Visited
    bf0000 bf3e3e
    cc6700 cc8843
    bfbf00 bfbf3e
    00bf00 3ebf3e
    00bfbf 3ebfbf
    0033cc 4365cc
    6000bf 7f3ebf
    bf00bf bf3ebf
    bf0066 bf3e83

    References[edit]

    1. ^ Due to technical limitations it is currently infeasible to check whether a page was previously speedy deleted.