User:Bility/biographyListasGenerator

Code for this script resides at User:Bility/biographyListasGenerator.js

This script populates the |listas= parameter of {{WikiProject Biography}} with a suggested sort name based on the article's title. The script only executes when editing a mainspace (article) talk page. The scripts adds a button above the edit tool box () that attempts to insert the sort name when you click it.

Requirements

You must be in edit mode on a mainspace talk page and the WikiProject Biography or WPBiography templates must be in the page's wikitext. Additionally, the template must already contain the |listas= parameter.

Suggestion rules

The script goes through a series if instructions to return a sort name:

  1. If no spaces are in the title, nothing is done
  2. If the article starts with "List of", whatever comes after "List of" is returned, with the first letter capitalized.
    • Ex: "List of brown-haired poodle trainers" would become "Brown-haired poodle trainers".
  3. Anything in parentheses is removed.
    • Ex: "Tim Jones (baseball player)" would become "Tim Jones".
  4. If a comma exists, only text to the left of the comma is considered.
    • Ex: "Tim Jones, player of the millenium" would become "Tim Jones".
  5. Article names in the form of "[text] of [text]" only consider the "[text]" to the left of the word "of".
    • Ex: "Tim Jones of Madagascar" would become "Tim Jones".
  6. If a Nobiliary particle is detected, it and whatever follows it becomes the last name and whatever precedes it becomes the first name.
    • Ex: "Tim von Jones" would become "von Jones, Tim".
    • Current list of particles: de, von, du, del, zu, di, van, na
  7. If there is no nobiliary particle, the word following the last space becomes the last name and whatever precedes it becomes the first name.
    • Ex: "Tim Jones" would become "Jones, Tim" and "Tim Zacharias Jones" would become "Jones, Tim Zacharias".

Installation edit

To install this script, edit your skin javascript or common.js and add the following code:

importScript('User:Bility/biographyListasGenerator.js');