Fandom

Wikia Developers Wiki

HeaderLinks

896pages on
this wiki
Add New Page
Talk18 Share

This script adds an icon to header tags, such as <h2>, <h3>, <h4>, etc. In terms of wikitext this is == Header ==. This only applies to headers in the editable content area. The icons only appear when hovering over a header to appear less obtrusive when reading a page. When these icons are clicked, the URL is altered to target that header allowing you to copy and paste the link into chat or discussions avoiding typing out potentially long headers by hand or having to navigate back to the table of contents to get a link.

This script will work on every MediaWiki skin, assuming it uses the mw-headline class and standard id for headers as found on skins that are included with default MediaWiki. This also relies on the editable content area having the id mw-content-text, again a default feature of MediaWiki.

This does not work for pages in the File namespace, due to a difference in the structure of header tags for these pages.

Installation

To install the script, simply add the following to your global.js on Community Central or MediaWiki:Common.js on your wiki:

importArticles({
    type: 'script',
    articles: [
        'u:dev:HeaderLinks/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.

Demo

This script is enabled on this page. Hover over a title and click the icon that appears to try it out!

Language support

The only text needed for this script is Link to this header. If you can contribute to the translation, please post it on the talk page.

Updates

25 August 2013
Updated to use jQuery, restructuring and changes to hover behaviour (diff).
01 June 2013
Script published.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.