- // ==UserScript==
- // @name AtCoderCharacterColorizer
- // @namespace https://satanic0258.github.io/
- // @version 0.1.1
- // @description Colorize kanji meaning color in statements
- // @author satanic0258
- // @match https://atcoder.jp/contests/*/tasks/*
- // @grant none
- // ==/UserScript==
- /*!
- * AtCoderCharacterColorizer v0.1.1
- *
- * Copyright (c) 2021 satanic0258
- *
- * This software is released under the MIT license.
- * see https://opensource.org/licenses/MIT
- */
- (function() {
- 'use strict';
-
- const statement = document.getElementById("task-statement");
- function background(c, r, g, b, a) {
- return "<span style='background-color:rgba("+r+","+g+","+b+","+a+");'>"+c+"</span>";
- }
- function white(c) {
- return "<span style='color:#fff;text-shadow:1px 0px 1px #000,0px 1px 1px #000,-1px 0px 1px #000,0px -1px 1px #000;'>"+c+"</span>";
- }
- statement.innerHTML = statement.innerHTML
- .replace(/黒/g, background('黒', 0, 0, 0, 0.3))
- .replace(/ブラック/g, background('ブラック', 0, 0, 0, 0.3))
- .replace(/青([^木])/g, background('青', 0, 0, 255, 0.3) + '$1')
- .replace(/緑/g, background('緑', 0, 255, 0, 0.3))
- .replace(/水/g, background('水', 0, 255, 255, 0.3))
- .replace(/藍/g, background('藍', 15, 84, 116, 0.3))
- .replace(/灰/g, background('灰', 127, 127, 127, 0.3))
- .replace(/銀/g, background('銀', 127, 127, 127, 0.3))
- .replace(/紫/g, background('紫', 162, 96, 191, 0.4))
- .replace(/茶/g, background('茶', 184, 115, 51, 0.4))
- .replace(/銅/g, background('銅', 184, 115, 51, 0.4))
- .replace(/桃/g, background('桃', 240, 145, 153, 0.4))
- .replace(/ピンク/g, background('ピンク', 240, 145, 153, 0.4))
- .replace(/赤/g, background('赤', 255, 0, 0, 0.3))
- .replace(/橙/g, background('橙', 255, 127, 0, 0.3))
- .replace(/オレンジ/g, background('オレンジ', 255, 127, 0, 0.3))
- .replace(/黄/g, background('黄', 255, 255, 0, 0.5))
- .replace(/金/g, background('金', 255, 255, 0, 0.5))
- .replace(/白/g, white('白'))
- .replace(/ホワイト/g, white('ホワイト'));
- })();