Note
Highlights information that users should take into account, even when skimming.
Tip
Optional information to help a user be more successful.
Important
Crucial information necessary for users to succeed.
[!WARNING]
// chat.ts | |
class Chat { | |
ws: WebSocket | |
onMessageCallback: (message: string) => void; | |
onMessage(callback: (message: string) => void): void { | |
this.onMessageCallback = callback; | |
} | |
async init(): Promise<void> { |
function parseArgs(args) { | |
const parsedArgs = {}; | |
function parseByFlag(args, flag) { | |
for (let i = 0; i < args.length; i++) { | |
if (args[i].startsWith('--')) break | |
if (!parsedArgs[flag]) parsedArgs[flag] = [] | |
parsedArgs[flag].push(args[i]) | |
} | |
} |
import { parseArgs } from "node:util"; | |
const args = parseArgs({ | |
options: { | |
name: { | |
type: "string", | |
short: "n", | |
}, | |
verbose: { | |
type: "boolean", |
// ==UserScript== | |
// @name Viewers AutoReload | |
// @version 0.1 | |
// @author crashmax | |
// @match https://www.twitch.tv/moderator/* | |
// @icon https://www.google.com/s2/favicons?sz=64&domain=twitch.tv | |
// @grant none | |
// ==/UserScript== | |
setInterval(() => { |
/** | |
* name: fireworks-js | |
* version: 2.10.7 | |
* author: Vitalij Ryndin (https://crashmax.ru) | |
* homepage: https://fireworks.js.org | |
* license MIT | |
*/ | |
function floor(num) { | |
return Math.abs(Math.floor(num)); | |
} |
Note
Highlights information that users should take into account, even when skimming.
Tip
Optional information to help a user be more successful.
Important
Crucial information necessary for users to succeed.
[!WARNING]
const css = 'text-shadow: -1px -1px hsl(0,100%,50%), 1px 1px hsl(5.4, 100%, 50%), 3px 2px hsl(10.8, 100%, 50%), 5px 3px hsl(16.2, 100%, 50%), 7px 4px hsl(21.6, 100%, 50%), 9px 5px hsl(27, 100%, 50%), 11px 6px hsl(32.4, 100%, 50%), 13px 7px hsl(37.8, 100%, 50%), 14px 8px hsl(43.2, 100%, 50%), 16px 9px hsl(48.6, 100%, 50%), 18px 10px hsl(54, 100%, 50%), 20px 11px hsl(59.4, 100%, 50%), 22px 12px hsl(64.8, 100%, 50%), 23px 13px hsl(70.2, 100%, 50%), 25px 14px hsl(75.6, 100%, 50%), 27px 15px hsl(81, 100%, 50%), 28px 16px hsl(86.4, 100%, 50%), 30px 17px hsl(91.8, 100%, 50%), 32px 18px hsl(97.2, 100%, 50%), 33px 19px hsl(102.6, 100%, 50%), 35px 20px hsl(108, 100%, 50%), 36px 21px hsl(113.4, 100%, 50%), 38px 22px hsl(118.8, 100%, 50%), 39px 23px hsl(124.2, 100%, 50%), 41px 24px hsl(129.6, 100%, 50%), 42px 25px hsl(135, 100%, 50%), 43px 26px hsl(140.4, 100%, 50%), 45px 27px hsl(145.8, 100%, 50%), 46px 28px hsl(151.2, 100%, 50%), 47px 29px hsl(156.6, 100%, 50%), 48px 30px hsl(162, 100%, 50%), 49px 31px hsl(167.4, 100%, |
// ==UserScript== | |
// @name LastSticker | |
// @version 0.1 | |
// @author crashmax | |
// @match https://www.laststicker.ru/cards/* | |
// @icon https://www.google.com/s2/favicons?sz=64&domain=laststicker.ru | |
// @grant none | |
// ==/UserScript== | |
const missingCardsList = [] |
<form method="POST" action="/login"> | |
<label for="username"> | |
Username: | |
<input name="username" type="text" required /> | |
</label> | |
<label for="password"> | |
Password: | |
<input name="password" type="password" required /> | |
</label> | |
<button type="submit">Login</button> |
function run() { | |
return new Promise((resolve) => { | |
setTimeout(() => resolve('Hello'), 500) | |
}) | |
} | |
// что будет выведено? | |
const data = await run().then((data) => console.log('then', data)) | |
console.log('await', data) | |
console.log('here') |