generated at
Scrapboxの行IDの書式
reverse engineeringして特定したのでメモ

Scrapboxの行IDは8文字 (A )+6文字( B )+4文字( C )+6文字( D )の単位で構成された24文字のIdである
例:
61483d6b1280f00000288feb
AAAAAAAABBBBBBCCCCDDDDDD
各単位の説明
A: IDを生成したUnix時刻の16進表記の末尾8文字
unix時刻で 0xFFFFFFFF 2106-02-07T15:28:15Z+0900 なので、これより前なら末尾8文字をそのままUnix時刻として扱って良い
この性質はUserCSSで使えそうだなtakker
B: その行を生成したUserのIDの末尾6文字分
C: 常に 0000
D: 0x000000 から 0xfffffe までの完全にランダムな16進数
サーバで作成した行IDは、この規則に従っていない
新規作成したページのタイトル行のIDなどが例

生成コード
mod.ts
const zero = (n: string) => n.padStart(8, '0'); export function createNewLineId(userId: string) { const time = Math.floor(new Date().getTime() / 1000).toString(16); const rand = Math.floor(0xFFFFFE * Math.random()).toString(16); return `${zero(time).slice(-8)}${userId.slice(-6)}0000${zero(rand)}`; }

#2021-10-02 09:54:37
#2021-09-22 16:13:11 表現修正
#2021-09-20 16:55:02