Fandom

Wikia Developers Wiki

Novasis14

861pages on
this wiki
Add New Page
Talk2 Share
This script is for PERSONAL use only!

You are free to install this script for yourself, but it is not allowed to be used wiki-wide (e.g., in MediaWiki:Common.js or MediaWiki:Wikia.js), as it would violate Fandom's Terms of Use. (See the customization policy)

Novasis14 example

The feature in action

Novasis14 is a small script that toggles the top wikia navigation when unused, and always reveals it when scrolling to the top of the page. It includes the ability to force the navigation's display, which its latest state will be used next time you load a page or reload the current page, as well as an alert icon when a new notification is received.

Features

  • Always keep the navigation hidden when scrolling to the bottom of a page
  • Allow pinning the navigation to prevent auto-toggling
  • Check for notifications every given period of time

Browser support

Novasis14 should work well with all modern browsers. Some of its functionalities might not be available in old browser versions or in IE 10 or earlier, so in case one of the features doesn't seem to work, make sure that you're using the latest version of your browser.

Installation

Installation

Add this JavaScript on your wiki:

Global Personal Site-wide
w:Special:Mypage/global.js Special:Mypage/common.js MediaWiki:Common.js
importArticles({
	type: "script",
	articles: [
		"u:dev:Novasis14/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.



Customization

Customizing this feature requires creating an object called topnavtoggle before the importArticles function. The syntax is the following (with examples):

topnavtoggle = {
	duration: "400ms",
	msgcheck: 30,
	text: {
		pin: "Click here to lock the navigation in place!",
		unread: "If this icon appears, then you have one or more unread messages!",
	}
 
}

Any of the properties in the object may be omitted for usage of the default value.

Properties and values
Property Role Value Default value
duration The time at which the navigation toggles A number of seconds/milliseconds (number + ms for milliseconds, or number + s for seconds) 400ms
msgcheck How many seconds to wait between each notification check. If set to 0 or to a negative number, no auto-check will be done A number of seconds 30
text An additional object, containing text for hover texts
text.pin The text while hovering above the pin icon - Force navigation display
text.unread The text while hovering above the unread messages icon - You have unread messages

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.