コミットログを取得する
対象のページ上で実行すること
memberでないprojectのページのコミットログは取得できない code:bookmarklet.js
javascript: (() => {
const project = scrapbox.Project.name;
const id = scrapbox.Page.id;
window.open(https://scrapbox.io/api/commits/${project}/${id});
})();
Ajaxなしで書き換えたversion
code:bookmarklet2.js
javascript: (async () => {
const project = scrapbox.Project.name;
const title = scrapbox.Page.title;
const id = scrapbox.Page.id;
const res = await fetch(/api/commits/${project}/${id})
const {commits} = await res.json();
const log = [
${project}/${title} の編集履歴,
...commits.flatMap(({created, changes}) => [
"----",
${new Date(created * 1000)},
...changes.map(change => ${JSON.stringify(change)})
]),
];
window.open().document.write(<pre>${log.join('\n')}</pre>);
})();
<table>を使って出力するver.