FANDOM


CodeQuickLinks creates a rail module with quick links to the user's local JavaScript and CSS files, the user's Community Central global JS and CSS files, the wiki's MediaWiki pages, and Special:JSPages.

This script was intended to be installed in a user's global.js file, but it may also be implemented locally or on a site-wide level, depending on the needs of the user.

Advanced customization

Rather than use the default links set, users may incorporate a link set of their own or add additional links to the default set via the inclusion of a window.customCodeQuickLinks object placed prior to the script's import.

The boolean replaceAllDefaultLinks field, by default set to false, allows users to display only their custom link selection without any of the defaults if set to true. The linkSet object contains the properly-formatted links for inclusion. An example is displayed below:

window.customCodeQuickLinks= {
    replaceAllDefaultLinks: true,
    linkSet: {
        siteFiles: [
            {
                name: "JSPages",
                href: "/wiki/Special:JSPages"
            },
            {
                name: "ImportJS",
                href: "/wiki/MediaWiki:ImportJS"
            }
        ],
        userFiles: [
            {
                name: "Global.js",
                href: "//c.wikia.com/wiki/Special:MyPage/global.js"
            },
            {
                name: "Global.css",
                href: "//c.wikia.com/wiki/Special:MyPage/global.css"
            }
        ]
    }
};

Installation

See also: Help:Including additional CSS and JS, Help:Advanced CSS and JS
  • For site-wide use, an administrator can add the line below to the wiki's MediaWiki:ImportJS page.
dev:CodeQuickLinks/code.js
  • For personal use, add the code snippet below to your global.js page (for use on all wikis) or your common.js page on your wiki (for use on a single wiki). Note that personal JS must be enabled for your account.
importArticles({
    type: 'script',
    articles: [
        'u:dev:MediaWiki:CodeQuickLinks/code.js',
    ]
});
importArticles — Best Practices for installing JavaScript on FANDOM

The importArticles statement is designed to combine multiple HTTP requests into a single data transfer, allowing multiple scripts to load and execute faster. If you've been installing several different scripts, your JavaScript file has probably accumulated unnecessary import statements. Click "Expand" to learn how to efficiently batch import scripts to speed up performance and make your code look cleaner. One other approach is by using the MediaWiki:ImportJS.

If your JavaScript file has several lines of code that say importScript, importScriptPage, or importArticles, you may be able to combine them! By batch importing a collection of scripts with a single import, your JavaScript code will load faster and look cleaner. Consider the example below. On the left is an example of what your JavaScript file might currently look like. On the right is how you could improve that code.

Multiple imports — messy and slow One import — clean and efficient
importScriptPage('AjaxRC/code.js','dev');
 
importScript('MediaWiki:localScript.js');
 
importArticle({
  type: 'script',
  article: 'u:dev:FloatingToc/code.js'
});
 
importScriptPage('page1.js', 'wikiname');
 
importScriptPage('page2.js', 'wikiname');
importArticles({
  type: 'script',
  articles: [
    'u:dev:AjaxRC/code.js',
    'MediaWiki:localScript.js',
    'u:dev:FloatingToc/code.js',
    'u:wikiname:page1.js',
    'u:wikiname:page2.js'
  ]
});

Note: In this example, pay close attention to the placement of commas and other punctuation. For people who aren't familiar with programming (and even those who are!), a common mistake when writing code is to accidentally delete, forget, or misplace critical symbols like commas or quotation marks. This can cause a syntax error that breaks the code. Carefully follow the convention shown here when using importArticles.

But there's much more to importArticles than just this! For more examples and advanced usage, see the help page at Help:Including additional JavaScript and CSS.

Changelog

17-11-16
Initial revision
23-12-16
Multiple instances check
05-03-17
General rewrite; addition of ImportJS
18-10-17
Rewrite, addition of Monobook support
19-10-17
CSS adjustments, removal of .module class, compatibility with ConsistentModules
18-04-18
Addition of custom links option
20-04-18
Addition of extra add-on links option
26-06-18
Code streamline, CSS ported to separate stylesheet at MediaWiki:CodeQuickLinks.css