🟩 もくじ
サクラエディタのJavaScriptマクロで、ツイートの絶対年月日がブレイクする位置に区切りの見出しが付いているところへ日付の連番を入れるマクロ
// hiduke.js
// 全選択してテキストを取得
Editor.SelectAll();
var text = Editor.GetSelectedString();
// 連番用のカウンタ(1からスタート)
var count = 1;
// 置換処理
// 「## 2021-08-」の直後に連番を挿入する(文字列が完全一致する場合)
var updatedText = text.replace(/(## \d{4}-\d{2}-)/g, function(match) {
// 2桁の0詰め(例: 01, 02...)
var no = ("0" + count).slice(-2);
count++;
// 見つかった文字列(## 2021-08-)の直後に連番を結合して返す
return match + no;
});
// 編集中のテキストを更新
Editor.InsText(updatedText);
// 選択状態を解除してカーソルを先頭へ
// Editor.CancelMode();
// Editor.GoFileTop();
Editor.SelectAll(0);
Editor.Copy(0);
【欠点1】:見出しが01日相当部分から始まらないと連番が狂うので正常には機能しない。【欠点(1)】
【欠点2】:月末あたりの最終日以降において[## 2019-09-]などの見出しがないと尻切れトンボになる。【欠点(2)】
【欠点(1)】:月初あたりの初回ツイート日以前において[ツイートなし=見出しなし]は人間が判断して補う必要がある
- 例えば、## 2019-09-06が初回ツイートなしだとしたら、[## 2019-09-(01)|なし][## 2019-09-(02)|なし][## 2019-09-(03)|なし][## 2019-09-(04)|なし][## 2019-09-(05)|なし]を人間が手動で補う。
- (01)~(05)は、連番マクロhiduke.jsを使うなら、打ち込む必要はない。[## 2019-09-]を5行分挿入しておくだけでよい。
【欠点(2)】:月末あたりの最終ツイート日以降において[ツイートなし=見出しなし]は人間が判断して補う必要がある
- 例えば、## 2019-09-30がツイートなしだとしたら、## 2019-09-29があれば、そこで見出しが止まっているので、## 2019-09-30を人間が手で補う必要がある。
- 連番マクロhiduke.jsを使うなら、[## 2019-09-]までしか打ち込む必要がない。