Emphasis Generalissimo

장군님의 이름을 강조합니다.

Aby zainstalować ten skrypt, wymagana jest instalacje jednego z następujących rozszerzeń: Tampermonkey, Greasemonkey lub Violentmonkey.

You will need to install an extension such as Tampermonkey to install this script.

Aby zainstalować ten skrypt, wymagana jest instalacje jednego z następujących rozszerzeń: Tampermonkey, Violentmonkey.

Aby zainstalować ten skrypt, wymagana będzie instalacja rozszerzenia Tampermonkey lub Userscripts.

You will need to install an extension such as Tampermonkey to install this script.

Aby zainstalować ten skrypt, musisz zainstalować rozszerzenie menedżera skryptów użytkownika.

(Mam już menedżera skryptów użytkownika, pozwól mi to zainstalować!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

Będziesz musiał zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

Będziesz musiał zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

Musisz zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

(Mam już menedżera stylów użytkownika, pozwól mi to zainstalować!)

// ==UserScript==
// @name         Emphasis Generalissimo
// @namespace    https://twitter.com/fiboooo_
// @version      1.0
// @description  장군님의 이름을 강조합니다.
// @author        Fibon
// @match         https://*/*
// @match         http://*/*
// @exclude       https://www.google.com/*
// @exclude       https://twitter.com/*
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    var generalissimos = ["김일성","김정일","김정은","金日成","金正日","金正恩","Kim Il Sung","Kim Jong Il","Kim Jong Un"];

    function boldifyTextNodes(node) {
        if (node.nodeType === Node.TEXT_NODE) {
            var content = node.nodeValue;

            generalissimos.forEach(function(generalissimo) {
                var regex = new RegExp(generalissimo, 'gi');
                content = content.replace(regex, function(match) {
                    return '<strong>' + match + '</strong>';
                });
            });

            var span = document.createElement('span');
            span.innerHTML = content;
            node.parentNode.replaceChild(span, node);
        } else if (node.nodeType === Node.ELEMENT_NODE) {
            for (var i = 0; i < node.childNodes.length; i++) {
                boldifyTextNodes(node.childNodes[i]);
            }
        }
    }

    boldifyTextNodes(document.body);

})();