scrapbox のページ名とかを一括置換したい
Scrapbox のページ名とかを一括置換した
やりたいこと
2023-06-09のようなページやリンクを2023-06-09形式に置き換えたい
project-settings > page data > export pages から、"Include metadata such as line.created and line.updated." にチェックを入れて export して、JSON を得る
この json の中で一括置換
このまま import したら、行内リンクなどは overwrite できる
page 名を overwrite したときの振る舞いがちょっと微妙
pageA を pageA' に rename したとき何が起こるか
pageA をリンクしている行内リンクは、pageA' に overwrite される
title: pageA が title: pageA' に overwrite している状態でも、同じ line.updated 情報をもつ pageA' が新たに作られる
title: pageA の古い方は残る
関連: /forum-jp/大量のページを一括削除したい
直感的には overwrite されてほしいが…
rename した page を消したい場合
project-settings > page data > export pages から、"Include metadata such as line.created and line.updated." にチェックを入れて export する
置換作業をする
project-settings > settings > danger zone > delete this project して、project を発破解体する
すぐさま https://scrapbox.io/projects/new して、同じ名前の project を作る
デフォルトで生成される page を消す
しなくてもいいが、元の project を完全に再現するなら消すべき
project-settings > page data > import pages から置換した json を import する
古い名前の page は消えるし、左側にあるテロメアも再現される
この方法だと、一度 project を削除することになるのでやや怖い
もっといい方法はないものか…
削除に近いけど、/forum-jp/大量のページを一括削除したい#5a167d1997c291000090ee41 という方法もある
古いprojectを削除、もしくはURLとタイトルをdeprecated-(project名)みたいにしておく
URL とタイトルを変えるので、しくじったら戻すみたいなことがしやすいかも。