Split special case mappings into logical groups
This commit is contained in:
parent
0931663f57
commit
5e7146e3cc
1 changed files with 42 additions and 22 deletions
64
script.js
64
script.js
|
|
@ -61,31 +61,54 @@ searchInput?.addEventListener("input", (event) => {
|
|||
});
|
||||
});
|
||||
|
||||
const specialCaseMap = {
|
||||
// OCR/formatting errors from epub conversion
|
||||
const typoFixes = {
|
||||
"GAY MA G E": "GAY MAGE",
|
||||
"MORE ON RIVERS RIVERS": "RIVERS",
|
||||
"REEK OF WRONG NESS": "REEK OF WRONGNESS",
|
||||
"WITCH LIGHT": "WITCHLIGHT",
|
||||
};
|
||||
|
||||
// truncated possessives and hyphenated terms
|
||||
const partialMatches = {
|
||||
"A KING'S": "KINGS",
|
||||
"KING'": "KINGS",
|
||||
"MERCHANT'": "MERCHANTS",
|
||||
"POWER-": "POWER",
|
||||
"WIZARD'": "WIZARDS",
|
||||
"WIZARD'S": "WIZARDS",
|
||||
"WIZARD'S BREEDING PROGRAMME": "BREEDING PROGRAMMES",
|
||||
"WIZARD'S STAFF": "STAFFS",
|
||||
};
|
||||
|
||||
// British/American spelling and verb forms
|
||||
const spellingVariants = {
|
||||
AMBUSHED: "AMBUSHES",
|
||||
BACKLASHES: "BACKLASH OF MAGIC",
|
||||
CURSED: "CURSES",
|
||||
"FELLOW TRAVELLER": "FELLOW TRAVELERS",
|
||||
"FELLOW TRAVELLERS": "FELLOW TRAVELERS",
|
||||
};
|
||||
|
||||
// different terms mapping to canonical entries
|
||||
const synonyms = {
|
||||
"A BARD": "BARDS",
|
||||
"A COURTIER": "COURTIERS",
|
||||
"A DEMON": "DEMONS",
|
||||
"A GODDESS OR GOD": "GODDESSES AND GODS",
|
||||
"A HERBWOMAN": "HERBWOMAN",
|
||||
"A KING'S": "KINGS",
|
||||
"A MAGIC USER": "MAGIC USERS",
|
||||
"A SEER": "SEER",
|
||||
"A WIZARD": "WIZARDS",
|
||||
AMBUSHED: "AMBUSHES",
|
||||
ASSASSIN: "ASSASSINS, GUILD OF",
|
||||
ASSASSINS: "ASSASSINS, GUILD OF",
|
||||
BACKLASHES: "BACKLASH OF MAGIC",
|
||||
BALLAD: "BALLAD, How to Compose a",
|
||||
BALLADS: "BALLAD, How to Compose a",
|
||||
BLOCKED: "MOUNTAIN PASS, BLOCKED",
|
||||
CHILD: "CHILDREN",
|
||||
CURSED: "CURSES",
|
||||
ETERNAL: "ETERNAL QUEST",
|
||||
"EVIL SPELLS": "SPELLS",
|
||||
FEMALE: "SLAVES, FEMALE,",
|
||||
"FELLOW TRAVELLER": "FELLOW TRAVELERS",
|
||||
"FELLOW TRAVELLERS": "FELLOW TRAVELERS",
|
||||
"GAY MA G E": "GAY MAGE",
|
||||
"GIFT OF SIGHT": "SIGHT",
|
||||
GOD: "GODDESSES AND GODS",
|
||||
GODDESS: "GODDESSES AND GODS",
|
||||
|
|
@ -102,43 +125,40 @@ const specialCaseMap = {
|
|||
"HOW TO INTERACT WITH WIZARDS": "WIZARDS",
|
||||
IMPORT: "IMPORT/EXPORT",
|
||||
"JOURNEY CAKE": "WAYBREAD OR JOURNEY CAKE",
|
||||
"KING'": "KINGS",
|
||||
"LOST LAND": "LOST LANDS,",
|
||||
"LOST LANDS": "LOST LANDS,",
|
||||
MAGELIGHT: "MAGELIGHT OR MAGEFIRE",
|
||||
MALE: "SLAVES, MALE,",
|
||||
"MERCHANT'": "MERCHANTS",
|
||||
MINION: "MINIONS OF THE DARK LORD",
|
||||
"MINION OF THE DARK LORD": "MINIONS OF THE DARK LORD",
|
||||
MINIONS: "MINIONS OF THE DARK LORD",
|
||||
"MORE ON RIVERS": "RIVERS",
|
||||
"MORE ON RIVERS RIVERS": "RIVERS",
|
||||
MOON: "MOON(S)",
|
||||
"MORE ON RIVERS": "RIVERS",
|
||||
"MOUNTAIN PASS": "MOUNTAIN PASS, BLOCKED",
|
||||
"NORTHERN BARBARIANS DWELL": "NORTHERN BARBARIANS",
|
||||
PANCELTIC: "PANCELTIC TOURS",
|
||||
"PANCELTIC TOUR": "PANCELTIC TOURS",
|
||||
PENTAGRAM: "PENTAGRAM OR PENTACLE",
|
||||
PENTAGRAMS: "PENTAGRAM OR PENTACLE",
|
||||
"POWER-": "POWER",
|
||||
"PRACTICE RING": "PRACTICE RING OR COMBAT RING",
|
||||
PRIESTESSES: "HIGH PRIESTESSES",
|
||||
"SECRET VALLEY": "VALLEYS",
|
||||
RIVERBOAT: "RIVERS",
|
||||
"REEK OF WRONG NESS": "REEK OF WRONGNESS",
|
||||
"SECRET VALLEY": "VALLEYS",
|
||||
SLAVE: "GALLEY SLAVE",
|
||||
SLAVES: "SLAVES, MALE,",
|
||||
"STANDING STONES": "STONE CIRCLES",
|
||||
THIEVES: "THIEVES’ GUILD",
|
||||
"TOWN COUNCIL": "COUNCIL",
|
||||
THIEVES: "THIEVES' GUILD",
|
||||
"TOUR COMPANIONS": "COMPANIONS",
|
||||
"TOWN COUNCIL": "COUNCIL",
|
||||
TROTS: "TROTS, THE",
|
||||
WAYBREAD: "WAYBREAD OR JOURNEY CAKE",
|
||||
"WITCH LIGHT": "WITCHLIGHT",
|
||||
"WIZARD'": "WIZARDS",
|
||||
"WIZARD'S": "WIZARDS",
|
||||
"WIZARD'S BREEDING PROGRAMME": "BREEDING PROGRAMMES",
|
||||
"WIZARD'S STAFF": "STAFFS",
|
||||
};
|
||||
|
||||
const specialCaseMap = {
|
||||
...typoFixes,
|
||||
...partialMatches,
|
||||
...spellingVariants,
|
||||
...synonyms,
|
||||
};
|
||||
|
||||
const resolveTerm = (term) => {
|
||||
|
|
|
|||
Loading…
Reference in a new issue