ふとローカルのスニペット管理ツール使ってよく使うのは選んでコピペするだけで済むようにしようと思いました
言語指定でちゃんとやるなら VSCode の機能があるけど もっとゆるくグローバルで使うもの
コード対応で軽量のメモツールってあまりないからとりあえず markdown 系メモの適当なやつ

それにこのブログの「コード」カテゴリのも登録しとこうかと思って自動で登録するためのところを作ったのでメモ

const fetch = require("node-fetch")
const { JSDOM } = require("jsdom")
const { add } = require("./add.js")

const main = async (url) => {
const res = await fetch(url)
const html = await res.text()
const dom = new JSDOM(html)
const articles = dom.window.document.querySelectorAll("main article")

for(const article of articles) {
const title = article.querySelector(".article-header .article-title").textContent
const body = Array.from(
article.querySelectorAll(".article-body pre code"),
code => {
for(const br of code.querySelectorAll("br")) {
br.replaceWith("\n")
}
const type = code.dataset.lang || ""
const c = code.textContent.trimEnd()
return "```" + type + "\n" + c + "\n```"
}
).join("\n\n")

add(title, body)
}
}

main("http://let.blog.jp/category/%E3%82%B3%E3%83%BC%E3%83%89")
yarn add node-fetch jsdom
node <script>.js

add.js はパースされた title と body を登録する処理

title は記事のタイトル
body はテキストで本文のコードブロックをマークダウン形式にしたもの
複数あるなら空行挟んで複数個のコードブロック

Node.js でもブラウザと同じように DOM 操作できる jsdom 便利