Skip to content

Instantly share code, notes, and snippets.

View hyrious's full-sized avatar
💤
lazy

hyrious hyrious

💤
lazy
View GitHub Profile
@hyrious
hyrious / cn-date.user.js
Created June 14, 2024 01:48
Translate English date string to Chinese representation.
// ==UserScript==
// @name Translate Date
// @name:zh-CN 翻译日期到中文格式
// @namespace translate-date.hyrious.me
// @match *://*/*
// @exclude *://*.bilibili.com/video/*
// @grant none
// @version 1.0
// @author hyrious
// @description May 25 -> 3月25日
// Reference: https://github.com/SukkaW/react-compiler-webpack
import fs from 'node:fs'
import babel from '@babel/core'
import BabelPluginReactCompiler from 'babel-plugin-react-compiler'
/** @returns {import('esbuild').Plugin} */
export function reactCompiler(options = {}) {
const filter = options.filter || /\.[jt]sx$/
const reactCompilerConfig = options.reactCompilerConfig || {}
@hyrious
hyrious / subl-replace-comma.py
Created March 26, 2024 02:52
Replace chinese comma "," with ", " seaminglessly.
import sublime, sublime_plugin
have_a_rest = False
class FixCjkCommaListener(sublime_plugin.TextChangeListener):
def on_text_changed(self, changes):
global have_a_rest
if len(changes) != 1 or have_a_rest: return
c = changes[0]
if c.str != ',': return
@hyrious
hyrious / Lezer.sublime-syntax
Created March 8, 2024 01:31
Lezer Parser Grammar in Sublime Text for Itself
%YAML 1.2
---
# - https://www.sublimetext.com/docs/syntax.html
# - https://lezer.codemirror.net/docs/guide/#writing-a-grammar
# - https://github.com/lezer-parser/generator/blob/main/src/parse.ts
file_extensions:
- grammar
name: Lezer
@hyrious
hyrious / RPGXP.txt
Last active February 18, 2024 06:48
RPG Maker Clipboard Data Dump
c246: RPGXP MAP (2142 bytes)
| Z\b<0><0><0x4>\b[\ao:\rRPG::Map<0x10>:\t@bgmo:<0x13>RPG::AudioFile\b:\f@volumeii:\n@name"<0>:\v@pitchii:<0x10>@tileset_idi<0x6>:\f@events{<0>:\t@bgso;\a\b;\biU;\t"<0>;\nii:<0x12>@autoplay_bgmF:\n@datau:\nTable<0x2><0x1c>\a<0x3><0><0><0><0x14><0><0><0><0xf><0><0><0><0x3><0><0><0><0x84><0x3><0><0><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x80><0x1><0x
@hyrious
hyrious / renew-gpgkey.md
Created January 23, 2024 08:44
Renew expired GPG key
$ gpg --list-secret-keys --keyid-format=long
sec   rsa4096/0123456789ABCDEF 2020-12-22 [SC] [expired: 2021-12-22]
      0123456789ABCDEF0123456789ABCDEF12345678
uid                 [ expired] hyrious <hyrious@outlook.com>

$ # ok, they key 0123456789ABCDEF has expired, let's edit it
$ gpg --edit-key 0123456789ABCDEF
gpg> expire
@hyrious
hyrious / index.html
Created January 20, 2024 09:37
esbuild # 3604
<textarea id="code" rows="15" cols="80">import {useState} from 'react'
import {Button} from '@mui/material'
export default function App() {
const [count, setCount] = useState(0)
return &lt;&gt;
&lt;Button variant="outlined" onClick={() => setCount(c => c + 1)}>
Count: {count}
&lt;/Button&gt;
@hyrious
hyrious / short-commit.github.user.js
Created January 15, 2024 09:30
Get shorten URL if it has abbrev commit hash
// ==UserScript==
// @name GitHub Shorten Commit URL
// @namespace short-commit.github.com
// @match https://github.com/**/commit/*
// @grant none
// @version 1.0
// @author hyrious
// @description Replace shorter URL if abbrev commit hash exist
// ==/UserScript==
void function() {
@hyrious
hyrious / stroke-test.html
Created January 2, 2024 10:46
hyrious.me/ink
<!DOCTYPE html>
<title>Stroke Test</title>
<style>
* { box-sizing: border-box; }
body { margin: 0; }
.container {
position: absolute;
inset: 50px 100px;
border: 1px solid;
@hyrious
hyrious / SortPackageJson.py
Last active December 14, 2023 04:26
sublime plugin to sort package json on save
import sublime
import sublime_plugin
import json
from collections import OrderedDict
# https://github.com/antfu/eslint-config/blob/main/src/configs/sort.ts
KeyOrder = [
'publisher',
'name',
'displayName',