User:Epicgenius/sortcategories

This tool allows you to sort a page's categories alphabetically. It is based off a similar script by Alex 21. First, navigate to any page with at least one category in the wikitext itself. If you have source editor enabled, click "edit" (or "edit source" if you also have VisualEditor enabled), and press the "Sort categories" button in the left sidebar, under "Tools". Upon clicking the button, the script will sort categories alphabetically. Categories with the same name as the article's title will be sorted first, and categories starting with "A [..]", "An [..]", or "The [..]" being sorted according to their second word.

There are a few key differences between this script and Alex 21's script:
 * This script will sort categories starting with "A", "An", or "The". Alex 21's script only sorts categories beginning with "A" or "The".
 * This script automatically shows a diff of your changes after you use it.
 * If there is a DEFAULTSORT magic word on the page, this script will remove any blank lines between the DEFAULTSORT and the first category. The DEFAULTSORT magic word should be before the categories.
 * If there are any stub tags on the page, this script will add two blank lines between the last category and the stub tag, as per WP:TAGSTUB: Leave two blank lines between the first stub template and whatever precedes it. (One blank line leaves the stub category notice butted up against any preceding navigation template, it takes two blank lines in the edited text to produce one blank line in the displayed text.) The stub tags should be after the categories.

If there are blank lines between categories, these blank lines will be sorted at the top
So, for example, a page with the following text

will be sorted as

, with several blank lines just before the first category. To fix this, run the script one more time, which should get rid of the extra lines (except for one blank line just before the first category).

The script doesn't work with the syntax highlighting tool
Currently, the script is not compatible with the wikitext-editor syntax highlighting tool. Click on this icon, to the left of "Advanced", to temporarily disable the syntax highlighting tool. Then run the script and reenable the syntax highlighting tool by clicking this icon again.