Wikipedia:Tools/Navigation popups

Navigation popups is a script, written in JavaScript (source), that offers easy access to article previews and several Wikipedia functions in popup windows which appear when you hover the mouse over links.

Quick installation: add the following code to your monobook.js (or equivalent file if you use a different skin). See below for full installation instructions:  // User:Lupin/popups.js

importScript('User:Lupin/popups.js');

If you're having trouble, you may like to peruse some frequently asked questions.

Features



 * Mouseover on articles (including user pages):
 * Preview the first part of the article text (kudos to User:Pilaf for his Live Preview script which makes this possible)
 * Preview the first image on each article
 * Preview selected page information: size, number of links, number of images, number of categories and page age
 * Tells you about redirects, stubs and disambiguation pages
 * One click access to edit page, page history, most recent edit, edits by most recent contributor, changes since my edit, move page, what links here, related changes, watch or unwatch, (for administrators) protect or unprotect, talk page, edit talk page and start new topic in talk page
 * Mouseover on image links:
 * Preview images
 * Preview file descriptions
 * Preview file links
 * Tells you if the image is on Commons
 * Mouseover on user links:
 * One-click access to user page, user space, user talk, edit user talk, new section in user talk, e-mail user, contributions and contributions tree, user log, (for administrators) delete user, (for administrators) block user, edit counter (Interiot's tool), block log
 * Mouseover on footnotes:
 * Preview contents of footnotes
 * Mouseover on any wikilink:
 * Clear pop-up cache
 * Enable/disable previews
 * Enable/disable pop-ups
 * Preview diffs and access both revisions in watchlist, history and related changes
 * Preview selected wikilinks when editing (use the mouse to select one wikilink)
 * One-click revert of vandalism from history browser (see image)
 * Wikipedia search, global Wikipedia search and Google search
 * Shortcut keys (optional)
 * Automatically fix links to bypass redirects and disambiguation pages (optional)
 * Should work on all Wikimedia wikis

Installation
You must have a user account in order to install and use the Navigation popups feature. If you do not have an account you will need to create one and log in. The next step is to add  to your monobook.js page. This will add the following code to your .js file: // User:Lupin/popups.js importScript('User:Lupin/popups.js'); Note: If you are using a skin other than MonoBook (the default), the relevant file you will need to edit is listed below. After saving the page, clear your browser's cache (on Internet Explorer Ctrl+F5; on Mozilla Firefox Shift+Ctrl+R; on Opera F5). Assuming that you have not disabled Javascript in your browser, a popup should appear whenever you hover your mouse over an internal link in Wikipedia. If you use more than one web browser, or more than one PC, you may need to clear the caches for each so that the popup appears.
 * Classic skin: standard.js
 * Cologne Blue: cologneblue.js
 * Chick: chick.js
 * Simple: simple.js
 * Nostalgia: nostalgia.js
 * MySkin: myskin.js

To install the script on the commons or Wiktionary, repeat this procedure on those wikis.

To uninstall the script, delete the above lines from the same page and clear your browser's cache.

Usage guide
This tool generates "popup hints" when you hover the mouse pointer over active links and images.

Many of the most important features can be used from the watchlist.


 * hover over a diff link to show a summary of the difference that edit has made
 * hover over a link to an article version to show a short excerpt of the version

There should also be some "navigation links" which access many functions including one-click reversion, editing that page and so on. These may appear in the popup itself, or may be hidden in an "actions" menu depending on your browser and your settings.

In normal articles:


 * hold the mouse over links pulls up a short excerpt of the linked-to article, then hover over the actions link if necessary to see more commands
 * if you hold the shift key then you can drag the popup around

Changing the appearance of your popups
By editing your user CSS file, you can change the appearance of the popups. Your user CSS file has exactly the same name as the javascript file, but with "css" instead of "js" at the end. So for most people, the file to edit is monobook.css.

Here is an example which gives an orange-flavoured popup with a border and changes the font used. This makes the popups look pretty silly, but it shows the sort of thing you can do if you feel like it.

.navpopup { background-color: #FFBE20 !important; font-family:     serif    !important; color:           #404     !important; font-size:       medium   !important; }

Options
There are some options that you can set. To do so, edit your user javascript file (such as monobook.js) and add a line of the form
 * option = value;

where option and value are chosen from the table below. For example, to prevent all downloading and turn on admin links, you need something like this in your javascript file:

// User:Lupin/popups.js - please include this line importScript('User:Lupin/popups.js');

simplePopups=true; popupAdminLinks=true;

* Default values are listed in bold

More options may be added, and requests for more configurability are welcome.

Advanced customization
You can define custom filters for articles. These are javascript functions which are run after the page statistics are generated, and their output is appended (as HTML) to that part of the popup. (Note that if simplePopups is true or popupSummaryData is false, then nothing will be displayed).

The way to set this up is to write a filter function which accepts a string (the wikitext of the article) as input, and returns a fragment of HTML. Repeat for as many filters as you want, and then create an array extraPopupFilters which contains all of the functions, in the order in which you want them to be run.

For example, let's say you want to be told whenever the wikitext of an article contains a table written using HTML tags rather than wiki markup. One way to do this is to add the following to your user javascript file:

// initialize the array - only do this once extraPopupFilters=[];

// define the function function popupFilterHtmlTable (wikiText) { if (/<table/i.test(wikiText)) return '&amp;lt;table&amp;gt;'; else return ''; };

// add the function to the array (you can repeat this for lots of functions) extraPopupFilters.push(popupFilterHtmlTable);

Then when a popup is generated for a page containing an HTML table, you should see &lt;table&gt; in the popup. (It may also appear for other pages, such as this page. Correcting this defect is left as an exercise for the reader).

Translations
Please see this page for translations of the script interface and of this page into other languages. You'll also find instructions for creating a translation yourself.

Mozilla Firefox
If a user on Mozilla Firefox with the Adblock Plus extension installed cannot see the popup, only the normal tooltip, Adblock Plus may be blocking the operation of navigational popups. This can be solved by adding an exception to the filtering rules - go to the Main Page, right click the icon in the status bar and check Disable on en.wikipedia.org.

Safari
Some people have found that Safari crashes a lot when running this script. Lupin would be interested to hear if this is still the case or not, and would greatly welcome assistance from someone who knows some javascript in getting to the bottom of these problems.

The menus do not function correctly in the most recent releases of Safari. Using a Webkit nightly build may give correctly functioning menus, but note that WebKit nightlies are notoriously unstable.

Opera
Older versions of Opera have bugs which prevent the menus from functioning correctly. Using a current version (9.0 or higher) should give correctly functioning menus, but you may still experience problems sometimes, with popups not loading, or not disappearing after the mouse is moved away.

This tool should not be affected by any browser popup blocking settings.

Feedback
Bugs, problems, suggestions and enhancements to Lupin, please.

I have set up a page where you can list pages with incorrect previews.

Development version
This tool remains under development. The very latest version is available at User:Lupin/popupsdev.js and it sees new features before the stable version. Be warned that it does break every so often, though. If you do want to install it, you can type User:Lupin/popupsdev.js into your user javascript file and delete your current popups installation from that file.

Credits and external links
This tool depends on some other people's work: Older versions of the tool used overlib by Erik Bosrup.
 * User:Pilaf/InstaView (née Live Preview) by Pilaf
 * a Javascript MD5 hash function by Paul Johnston and others, available here
 * domdrag by Aaron Boodman
 * An implementation of a diff algorithm by John Resig

Wikipedians who have helped

 * Brian0918 - a little code and lots of inspiration
 * Eddideigel - translation work
 * IceKarma - aborting download code, making much better use of bandwidth
 * Mike Dillon - the page age code
 * Yurik - with his fantastic mediawiki BotQuery extension
 * Zocky - the menus
 * Zyxw - preview enhancements
 * ....and many more with helpful suggestions, comments and bug reports

ar:ويكيبيديا: المنبثقات ca:Viquipèdia:Finestres emergents de navegació de:Wikipedia:Helferlein/Navigation-Popups es:Wikipedia:Botonera fr:Utilisateur:Leag/Navigation popups id:Wikipedia:Peralatan/Popup navigasi is:Wikipedia:Blöðruflakk it:Wikipedia:Popup di navigazione lv:Wikipedia:Navigācijas baloni ja:Help:ナビゲーション・ポップアップ no:Wikipedia:Ballongnavigasjon nn:Wikipedia:Ballongnavigasjon pl:Wikipedia:Tools/Navigation popups pt:Wikipedia:Software/Popups de navegação zh:Wikipedia:辅助工具/popups