Шутка "Латинизация"
This commit is contained in:
Vendored
+12
-1
@@ -168,6 +168,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ "./src/jokes/latinization.ts":
|
||||||
|
/*!***********************************!*\
|
||||||
|
!*** ./src/jokes/latinization.ts ***!
|
||||||
|
\***********************************/
|
||||||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LatinizationJoke: () => (/* binding */ LatinizationJoke),\n/* harmony export */ LatinizationJokeSettings: () => (/* binding */ LatinizationJokeSettings)\n/* harmony export */ });\n/* harmony import */ var _joke__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../joke */ \"./src/joke.ts\");\n/* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common */ \"./src/common.ts\");\n\n\n/**\n * **Латинизация**\n *\n * Все символы на странице или только в постах или еще где-то местами -\n * латиницей вместо кириллицы и наоборот\n *\n * @author Идея: Alex_63\n * @author Kozhilya\n */\nclass LatinizationJoke extends _joke__WEBPACK_IMPORTED_MODULE_0__.Joke {\n constructor() {\n super(...arguments);\n this.id = 'latinization';\n this.title = 'Латинизация';\n this.description = 'Все символы на странице или только в постах ' +\n 'или еще где-то местами - латиницей вместо кириллицы и наоборот';\n this._settings = new LatinizationJokeSettings();\n }\n /**\n * Запуск шутки\n */\n start() {\n const textNodes = (0,_common__WEBPACK_IMPORTED_MODULE_1__.getTextNodes)(this.settings.selector);\n textNodes.each((_, node) => this.processNode(node));\n }\n /**\n * Латинизация или кириллизация слова\n * @param {string} word\n * @return {string}\n * @private\n */\n latinize(word) {\n if (/[а-яА-ЯёЁ0-9_-]+/.test(word)) {\n // Кириллица в латиницу\n for (const [ru, en] of Object.entries(this.settings.ruToEn)) {\n word = word.replace(new RegExp(ru, 'g'), en).\n replace(new RegExp(ru.toUpperCase(), 'gi'), en.toUpperCase());\n }\n }\n else if (/[a-zA-Z0-9_-]+/.test(word)) {\n // Латиница в кириллицу\n for (const [en, ru] of Object.entries(this.settings.enToRu)) {\n word = word.replace(new RegExp(en, 'g'), ru).\n replace(new RegExp(en.toUpperCase(), 'gi'), ru.toUpperCase());\n }\n }\n return word;\n }\n /**\n * Обработка текстовой ноды\n * @param {Text} node\n * @private\n */\n processNode(node) {\n var _a;\n node.textContent = (_a = node.textContent) === null || _a === void 0 ? void 0 : _a.replace(/([А-Яа-яA-Za-z]+)/gm, (_, word) => this.latinize(word));\n }\n}\n/**\n * Класс настроек для шутки \"Латинизация\"\n */\nclass LatinizationJokeSettings {\n constructor() {\n this.enabled = true;\n this.chance = 10;\n /**\n * Селектор, в котором может изменяться текст\n */\n this.selector = '.post-content';\n /**\n * Правила преобразования из кириллицы в латиницу\n */\n this.ruToEn = {\n 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd',\n 'е': 'e', 'ё': 'e', 'ж': 'j', 'з': 'z', 'и': 'i',\n 'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n',\n 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't',\n 'у': 'u', 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch',\n 'ш': 'sh', 'щ': 'shch', 'ъ': 'ie', 'ы': 'y', 'ь': '',\n 'э': 'e', 'ю': 'u', 'я': 'ya',\n };\n /**\n * Правила преобразования из латиницы в кириллицу\n */\n this.enToRu = {\n 'a': 'а', 'b': 'б', 'c': 'с', 'd': 'д', 'e': 'е',\n 'f': 'ф', 'gh': 'ж', 'g': 'г', 'h': 'х', 'i': 'и',\n 'j': 'й', 'k': 'к', 'l': 'л', 'm': 'м', 'n': 'н',\n 'o': 'о', 'p': 'п', 'q': 'кью', 'r': 'р', 's': 'с',\n 't': 'т', 'u': 'ю', 'v': 'в', 'w': 'в', 'x': 'кс',\n 'y': 'ы', 'z': 'з',\n };\n }\n}\n\n\n//# sourceURL=webpack://mybb-april-fools/./src/jokes/latinization.ts?");
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
/***/ "./src/jokes/letter_chaos.ts":
|
/***/ "./src/jokes/letter_chaos.ts":
|
||||||
/*!***********************************!*\
|
/*!***********************************!*\
|
||||||
!*** ./src/jokes/letter_chaos.ts ***!
|
!*** ./src/jokes/letter_chaos.ts ***!
|
||||||
@@ -219,7 +230,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _joker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./joker */ \"./src/joker.ts\");\n/* harmony import */ var _jokes_shake__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jokes/shake */ \"./src/jokes/shake.ts\");\n/* harmony import */ var _jokes_humanitarian_hell__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jokes/humanitarian_hell */ \"./src/jokes/humanitarian_hell.ts\");\n/* harmony import */ var _jokes_mirror__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./jokes/mirror */ \"./src/jokes/mirror.ts\");\n/* harmony import */ var _jokes_carnival__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./jokes/carnival */ \"./src/jokes/carnival.ts\");\n/* harmony import */ var _jokes_crazy_letters__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./jokes/crazy_letters */ \"./src/jokes/crazy_letters.ts\");\n/* harmony import */ var _jokes_letter_chaos__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./jokes/letter_chaos */ \"./src/jokes/letter_chaos.ts\");\n/* harmony import */ var _jokes_cursor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./jokes/cursor */ \"./src/jokes/cursor.ts\");\n/* harmony import */ var _jokes_stupid_title__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./jokes/stupid_title */ \"./src/jokes/stupid_title.ts\");\n/* harmony import */ var _jokes_inverted_scroll__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./jokes/inverted_scroll */ \"./src/jokes/inverted_scroll.ts\");\n\n\n\n\n\n\n\n\n\n\nwindow.AprilJokes = ((jokes) => {\n const cl = new _joker__WEBPACK_IMPORTED_MODULE_0__.JokerClass();\n jokes.forEach((CustomJoke) => {\n cl.add(new CustomJoke());\n });\n $(() => cl.regularStart());\n return cl;\n})([\n _jokes_shake__WEBPACK_IMPORTED_MODULE_1__.ShakeJoke,\n _jokes_humanitarian_hell__WEBPACK_IMPORTED_MODULE_2__.HumanitarianHellJoke,\n _jokes_mirror__WEBPACK_IMPORTED_MODULE_3__.MirrorJoke,\n _jokes_carnival__WEBPACK_IMPORTED_MODULE_4__.CarnivalJoke,\n _jokes_crazy_letters__WEBPACK_IMPORTED_MODULE_5__.CrazyLettersJoke,\n _jokes_letter_chaos__WEBPACK_IMPORTED_MODULE_6__.LetterChaosJoke,\n _jokes_cursor__WEBPACK_IMPORTED_MODULE_7__.CursorEffectsJoke,\n _jokes_stupid_title__WEBPACK_IMPORTED_MODULE_8__.StupidTitleJoke,\n _jokes_inverted_scroll__WEBPACK_IMPORTED_MODULE_9__.InvertedScrollJoke,\n]);\n\n\n//# sourceURL=webpack://mybb-april-fools/./src/main.ts?");
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _joker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./joker */ \"./src/joker.ts\");\n/* harmony import */ var _jokes_shake__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jokes/shake */ \"./src/jokes/shake.ts\");\n/* harmony import */ var _jokes_humanitarian_hell__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jokes/humanitarian_hell */ \"./src/jokes/humanitarian_hell.ts\");\n/* harmony import */ var _jokes_mirror__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./jokes/mirror */ \"./src/jokes/mirror.ts\");\n/* harmony import */ var _jokes_carnival__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./jokes/carnival */ \"./src/jokes/carnival.ts\");\n/* harmony import */ var _jokes_crazy_letters__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./jokes/crazy_letters */ \"./src/jokes/crazy_letters.ts\");\n/* harmony import */ var _jokes_letter_chaos__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./jokes/letter_chaos */ \"./src/jokes/letter_chaos.ts\");\n/* harmony import */ var _jokes_cursor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./jokes/cursor */ \"./src/jokes/cursor.ts\");\n/* harmony import */ var _jokes_stupid_title__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./jokes/stupid_title */ \"./src/jokes/stupid_title.ts\");\n/* harmony import */ var _jokes_inverted_scroll__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./jokes/inverted_scroll */ \"./src/jokes/inverted_scroll.ts\");\n/* harmony import */ var _jokes_latinization__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./jokes/latinization */ \"./src/jokes/latinization.ts\");\n\n\n\n\n\n\n\n\n\n\n\nwindow.AprilJokes = ((jokes) => {\n const cl = new _joker__WEBPACK_IMPORTED_MODULE_0__.JokerClass();\n jokes.forEach((CustomJoke) => {\n cl.add(new CustomJoke());\n });\n $(() => cl.regularStart());\n return cl;\n})([\n _jokes_shake__WEBPACK_IMPORTED_MODULE_1__.ShakeJoke,\n _jokes_humanitarian_hell__WEBPACK_IMPORTED_MODULE_2__.HumanitarianHellJoke,\n _jokes_mirror__WEBPACK_IMPORTED_MODULE_3__.MirrorJoke,\n _jokes_carnival__WEBPACK_IMPORTED_MODULE_4__.CarnivalJoke,\n _jokes_crazy_letters__WEBPACK_IMPORTED_MODULE_5__.CrazyLettersJoke,\n _jokes_letter_chaos__WEBPACK_IMPORTED_MODULE_6__.LetterChaosJoke,\n _jokes_cursor__WEBPACK_IMPORTED_MODULE_7__.CursorEffectsJoke,\n _jokes_stupid_title__WEBPACK_IMPORTED_MODULE_8__.StupidTitleJoke,\n _jokes_inverted_scroll__WEBPACK_IMPORTED_MODULE_9__.InvertedScrollJoke,\n _jokes_latinization__WEBPACK_IMPORTED_MODULE_10__.LatinizationJoke,\n]);\n\n\n//# sourceURL=webpack://mybb-april-fools/./src/main.ts?");
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"version": "1.1.0",
|
"version": "1.1.1",
|
||||||
"name": "mybb-april-fools",
|
"name": "mybb-april-fools",
|
||||||
"description": "Система первоапрельских розыгрышей для форумов MyBB",
|
"description": "Система первоапрельских розыгрышей для форумов MyBB",
|
||||||
"homepage": "https://forumd.ru/viewtopic.php?id=7372",
|
"homepage": "https://forumd.ru/viewtopic.php?id=7372",
|
||||||
|
|||||||
@@ -167,4 +167,27 @@ window.AprilJokes.settings = {
|
|||||||
enabled: true,
|
enabled: true,
|
||||||
chance: 10,
|
chance: 10,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
latinization: {
|
||||||
|
enabled: true,
|
||||||
|
chance: 10,
|
||||||
|
selector: '.post-content',
|
||||||
|
ruToEn: {
|
||||||
|
'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd',
|
||||||
|
'е': 'e', 'ё': 'e', 'ж': 'j', 'з': 'z', 'и': 'i',
|
||||||
|
'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n',
|
||||||
|
'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't',
|
||||||
|
'у': 'u', 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch',
|
||||||
|
'ш': 'sh', 'щ': 'shch', 'ъ': 'ie', 'ы': 'y', 'ь': '',
|
||||||
|
'э': 'e', 'ю': 'u', 'я': 'ya',
|
||||||
|
},
|
||||||
|
enToRu: {
|
||||||
|
'a': 'а', 'b': 'б', 'c': 'с', 'd': 'д', 'e': 'е',
|
||||||
|
'f': 'ф', 'gh': 'ж', 'g': 'г', 'h': 'х', 'i': 'и',
|
||||||
|
'j': 'й', 'k': 'к', 'l': 'л', 'm': 'м', 'n': 'н',
|
||||||
|
'o': 'о', 'p': 'п', 'q': 'кью', 'r': 'р', 's': 'с',
|
||||||
|
't': 'т', 'u': 'ю', 'v': 'в', 'w': 'в', 'x': 'кс',
|
||||||
|
'y': 'ы', 'z': 'з',
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -463,4 +463,48 @@ window.AprilJokes.settings = {
|
|||||||
enabled: true,
|
enabled: true,
|
||||||
chance: 10,
|
chance: 10,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **Латинизация**
|
||||||
|
*
|
||||||
|
* Все символы на странице или только в постах или еще где-то местами -
|
||||||
|
* латиницей вместо кириллицы и наоборот
|
||||||
|
*
|
||||||
|
* @author Идея: Alex_63
|
||||||
|
* @author Kozhilya
|
||||||
|
*/
|
||||||
|
latinization: {
|
||||||
|
enabled: true,
|
||||||
|
chance: 10,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Селектор, в котором может изменяться текст
|
||||||
|
*/
|
||||||
|
selector: '.post-content',
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Правила преобразования из кириллицы в латиницу
|
||||||
|
*/
|
||||||
|
ruToEn: {
|
||||||
|
'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd',
|
||||||
|
'е': 'e', 'ё': 'e', 'ж': 'j', 'з': 'z', 'и': 'i',
|
||||||
|
'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n',
|
||||||
|
'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't',
|
||||||
|
'у': 'u', 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch',
|
||||||
|
'ш': 'sh', 'щ': 'shch', 'ъ': 'ie', 'ы': 'y', 'ь': '',
|
||||||
|
'э': 'e', 'ю': 'u', 'я': 'ya',
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Правила преобразования из латиницы в кириллицу
|
||||||
|
*/
|
||||||
|
enToRu: {
|
||||||
|
'a': 'а', 'b': 'б', 'c': 'с', 'd': 'д', 'e': 'е',
|
||||||
|
'f': 'ф', 'gh': 'ж', 'g': 'г', 'h': 'х', 'i': 'и',
|
||||||
|
'j': 'й', 'k': 'к', 'l': 'л', 'm': 'м', 'n': 'н',
|
||||||
|
'o': 'о', 'p': 'п', 'q': 'кью', 'r': 'р', 's': 'с',
|
||||||
|
't': 'т', 'u': 'ю', 'v': 'в', 'w': 'в', 'x': 'кс',
|
||||||
|
'y': 'ы', 'z': 'з',
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,106 @@
|
|||||||
|
import {Joke, JokeSettings} from '../joke';
|
||||||
|
import {getTextNodes} from '../common';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* **Латинизация**
|
||||||
|
*
|
||||||
|
* Все символы на странице или только в постах или еще где-то местами -
|
||||||
|
* латиницей вместо кириллицы и наоборот
|
||||||
|
*
|
||||||
|
* @author Идея: Alex_63
|
||||||
|
* @author Kozhilya
|
||||||
|
*/
|
||||||
|
export class LatinizationJoke extends Joke<LatinizationJokeSettings> {
|
||||||
|
id = 'latinization';
|
||||||
|
|
||||||
|
title = 'Латинизация';
|
||||||
|
|
||||||
|
description = 'Все символы на странице или только в постах ' +
|
||||||
|
'или еще где-то местами - латиницей вместо кириллицы и наоборот';
|
||||||
|
|
||||||
|
_settings = new LatinizationJokeSettings();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Запуск шутки
|
||||||
|
*/
|
||||||
|
start(): void {
|
||||||
|
const textNodes = getTextNodes(this.settings.selector);
|
||||||
|
|
||||||
|
textNodes.each((_, node) => this.processNode(node as Text));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Латинизация или кириллизация слова
|
||||||
|
* @param {string} word
|
||||||
|
* @return {string}
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
private latinize(word: string): string {
|
||||||
|
if (/[а-яА-ЯёЁ0-9_-]+/.test(word)) {
|
||||||
|
// Кириллица в латиницу
|
||||||
|
for (const [ru, en] of Object.entries(this.settings.ruToEn)) {
|
||||||
|
word = word.replace(new RegExp(ru, 'g'), en).
|
||||||
|
replace(new RegExp(ru.toUpperCase(), 'gi'), en.toUpperCase());
|
||||||
|
}
|
||||||
|
} else if (/[a-zA-Z0-9_-]+/.test(word)) {
|
||||||
|
// Латиница в кириллицу
|
||||||
|
for (const [en, ru] of Object.entries(this.settings.enToRu)) {
|
||||||
|
word = word.replace(new RegExp(en, 'g'), ru).
|
||||||
|
replace(new RegExp(en.toUpperCase(), 'gi'), ru.toUpperCase());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return word;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Обработка текстовой ноды
|
||||||
|
* @param {Text} node
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
private processNode(node: Text) {
|
||||||
|
node.textContent = node.textContent?.replace(
|
||||||
|
/([А-Яа-яA-Za-z]+)/gm,
|
||||||
|
(_: string, word: string) => this.latinize(word),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Класс настроек для шутки "Латинизация"
|
||||||
|
*/
|
||||||
|
export class LatinizationJokeSettings implements JokeSettings {
|
||||||
|
enabled: boolean = true;
|
||||||
|
|
||||||
|
chance: number = 10;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Селектор, в котором может изменяться текст
|
||||||
|
*/
|
||||||
|
selector: string = '.post-content';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Правила преобразования из кириллицы в латиницу
|
||||||
|
*/
|
||||||
|
ruToEn: { [key in string]: string } = {
|
||||||
|
'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd',
|
||||||
|
'е': 'e', 'ё': 'e', 'ж': 'j', 'з': 'z', 'и': 'i',
|
||||||
|
'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n',
|
||||||
|
'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't',
|
||||||
|
'у': 'u', 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch',
|
||||||
|
'ш': 'sh', 'щ': 'shch', 'ъ': 'ie', 'ы': 'y', 'ь': '',
|
||||||
|
'э': 'e', 'ю': 'u', 'я': 'ya',
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Правила преобразования из латиницы в кириллицу
|
||||||
|
*/
|
||||||
|
enToRu: { [key in string]: string } = {
|
||||||
|
'a': 'а', 'b': 'б', 'c': 'с', 'd': 'д', 'e': 'е',
|
||||||
|
'f': 'ф', 'gh': 'ж', 'g': 'г', 'h': 'х', 'i': 'и',
|
||||||
|
'j': 'й', 'k': 'к', 'l': 'л', 'm': 'м', 'n': 'н',
|
||||||
|
'o': 'о', 'p': 'п', 'q': 'кью', 'r': 'р', 's': 'с',
|
||||||
|
't': 'т', 'u': 'ю', 'v': 'в', 'w': 'в', 'x': 'кс',
|
||||||
|
'y': 'ы', 'z': 'з',
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -9,6 +9,7 @@ import {LetterChaosJoke} from './jokes/letter_chaos';
|
|||||||
import {CursorEffectsJoke} from './jokes/cursor';
|
import {CursorEffectsJoke} from './jokes/cursor';
|
||||||
import {StupidTitleJoke} from './jokes/stupid_title';
|
import {StupidTitleJoke} from './jokes/stupid_title';
|
||||||
import {InvertedScrollJoke} from './jokes/inverted_scroll';
|
import {InvertedScrollJoke} from './jokes/inverted_scroll';
|
||||||
|
import {LatinizationJoke} from './jokes/latinization';
|
||||||
|
|
||||||
declare global {
|
declare global {
|
||||||
interface Window { AprilJokes: JokerClass; }
|
interface Window { AprilJokes: JokerClass; }
|
||||||
@@ -34,6 +35,7 @@ window.AprilJokes = ((jokes: JokeList): JokerClass => {
|
|||||||
CursorEffectsJoke,
|
CursorEffectsJoke,
|
||||||
StupidTitleJoke,
|
StupidTitleJoke,
|
||||||
InvertedScrollJoke,
|
InvertedScrollJoke,
|
||||||
|
LatinizationJoke,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
interface JokeList extends Array<new () => Joke<JokeSettings>> {}
|
interface JokeList extends Array<new () => Joke<JokeSettings>> {}
|
||||||
|
|||||||
Reference in New Issue
Block a user