A JavaScript Wikipedia Plugin for History & Revisions pages
The HistoryHelper plugin (HH) basically helps you to copy & past multiple entries to initiate a discussion of concerning edits. It also can highlight offensive words. It was first pusblished on May 12, 2021.
You are assumed to have a wikipedia account in order to be able to install this script. Otherwise, you probably would need to install a browser extension that runs user-scripts instead. I do not consider to create a separate plugin for web the browser until paid.
See: History Helper Install instructions.
Plugin binds a few key strokes. See demons below.
- click+drag — on checkboxes to select multiple entries simultaneously.
- ⇧shift+click — on checkbox to select multiple entries simultaneously.
By default HH higlights some uncivil words (see line 839 for a fill list). You can add your own words or phrases by using the following config below. Use Regular expression for matching. By default every word is highlighted by using {{Tl|highlight}}
wikipedia tag
window.HistoryHelper= window.HistoryHelper || {};
window.HistoryHelper.highlights=[
// matches liar 2 times, or pants, or "on fire"
/(liar){1,2}|pants|on fire/ig
];
Currently this plugin doesn't international wikipedias (i.e. outside of en.wikipedia.orgdomain). Date locales may be parsed wrongly or with errors.
See also LICENSE
The plugin is open source and free of charge. It doesn't gather, store, or send any sensetive information. It never accesses your cookies, neither it tries to obtain any sensetive data via fake dialogs etc. Checkout the source code to make sure there is no suspicious code before using this plugin.
The plugin is written in JavaScript. The following dot graph approximates a script lifecycle and basic classes:
On wikipedia page the script maps button actions into copying entries from the current page's revisions. Revisions are kept in an array class Revisions
.
The main class is HH
. It keeps actions map that maps UI button events into specific actions to be performed over Revisions
instance (i.e. formatting & copying diff links into the system clipboard upon click)
When run, the script performs several steps:
- It maps DOM html revisions tree into a
Revisions
class - Which further wraps every sub-entry (
<li>...<li/>
element) intoEntry
class - Adds MediaWiki
ButtonWidget
-based UI buttons
- Fetch revisions from wikipedia DATA/DB API.
Created-at: September 10, 2022
Modified-at: August 13, 2023