Skip to content

Instantly share code, notes, and snippets.

View Getaji's full-sized avatar
💭
Sleepy

Getaji Getaji

💭
Sleepy
  • Japan
  • 01:31 (UTC +09:00)
  • X @Getaji
View GitHub Profile
@Getaji
Getaji / script.js
Created September 27, 2022 15:30
Wayback Machineで指定URL以下のキャプチャ(アーカイブ)を表示するページを開くスクリプト
(() => {
const s = prompt("URL", location.href);
if (!s) return;
open("https://web.archive.org/web/*/" + s + (s.endsWith("/") ? "*" : "/*"));
})();
@Getaji
Getaji / twitter-web-app-recent-searches.js
Last active July 8, 2023 04:09
Twitter Web Appの検索履歴のJSONを出力するやつ
(async () => {
/** ログイン中のユーザーID (数値の文字列) */
const userId = "730631798";
/** 出力モード ("dialog" | "console") */
const mode = "dialog";
const dbReq = await indexedDB.open("localforage");
dbReq.onsuccess = (evOpenDB) => {
@Getaji
Getaji / about.md
Last active February 7, 2022 04:21
Mocha-RepositoryのLevel Reviewのレベル評価とコメントをアラートポップアップでリスト表示するスクリプト

image

Mocha-RepositoryのLevel Reviewのレベル評価とコメントをアラートポップアップでリスト表示するスクリプトです。以下の javascript: から末尾までの一行をブックマークレットとして使用できます。

javascript:(()=>{const a=a=>Number.isInteger(a)?a:+a.toFixed(2),b=b=>doubleplay?12<=b?"\u2605"+a(b-11):"\u2606"+a(b):13<=b?"\u2605"+a(b-12):"\u2606"+a(b),c=scores.filter(a=>0<a.level);alert([document.querySelector("h1").textContent.trim(),c.length+"\u4EF6\u306E\u30EC\u30D3\u30E5\u30FC",...c.map(a=>b(a.level)+" "+a.comment)].join("\n"))})();

偏差値を載せる案もありますが、整形が面倒なのと余計な情報になるかもしれないので実装するかは未定です。

@Getaji
Getaji / about.md
Last active July 13, 2022 04:13
Mocha-Repositoryの楽曲ページでLevel Reviewの平均、中央値、範囲、分散、標準偏差を表示するスクリプト

スクリプトの最終更新: 2022/07/13 01:12 (v1.0.2)

説明

Mocha-Repositoryの楽曲ページでLevel Reviewの平均、中央値、範囲(最低Lvと最高Lv)、分散、標準偏差、変動係数を計算するスクリプトです。実行するとアラートポップアップで表示します。

image

  • Mocha-Repositoryにログインする必要があります。
  • 一部ブラウザで動かない可能性があります。
Popular repositories 非表示用の無
@Getaji
Getaji / sqlite-on-browser.js
Last active October 21, 2021 23:21
SQL.jsを使って<input type="file">からSQLiteのDBファイルを読み込む方法
// バージョンは適宜書き換える
// 非同期なので適切なタイミングで初期化する
const SQL = await initSqlJs({
locateFile: (file) =>
`https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.6.1/${file}`
});
/** <input type="file"> の change イベントハンドラ */
async function onChangeFileInput(event) {
if (!event.target.files.length) return;
(_ => {
const favEl = document.querySelector("section ul li>div>div:nth-child(2)>div>div:last-child>div>div:last-child>div>span:nth-child(3)");
if (!favEl) {
alert("♥要素を取得できません");
return;
}
const selector = [...favEl.classList].map((cls) => "." + cls).join("") + ":last-child";
console.log("♥数ハイライトセレクタ:", selector);
const heartAmountEls = document.querySelectorAll(selector);
if (!heartAmountEls.length) {
(() => {
if (globalThis.lastFloatedComment) lastFloatedComment.el.style.cssText = "";
const commentEls = document.getElementsByTagName(
"ytd-comment-thread-renderer"
);
const comments = [...commentEls].map((el, index) => {
const contentTextEl = el.querySelector("#content-text");
return {

Keybase proof

I hereby claim:

  • I am getaji on github.
  • I am getaji (https://keybase.io/getaji) on keybase.
  • I have a public key ASAw1_Vdg0YNUUdQcW5TCqZF0dreoW-0sqXq6VWPcRWDkgo

To claim this, I am signing this object:

@Getaji
Getaji / amazon-music-albums.js
Created July 24, 2020 02:52
Amazon Musicのアルバム一覧のデータを取得するスクリプト
$(".albumTile").toArray().map((el) => ({
albumArt: el.querySelector(".albumArt").src,
playerLink: el.querySelector("a[data-ui-click-action=\"playAlbum\"]").href,
title: el.querySelector(".primaryTitle").innerText,
albumLink: el.querySelector(".primaryTitle a").href,
author: el.querySelector(".secondaryTitle").innerText,
authorLink: el.querySelector(".secondaryTitle a").href,
albumSongCount: el.querySelector(".albumSongCount").innerText.match(/\d+/)[0],
}));