テロメアを本文中に出力するUserScript
code:script.js
let telomereIndex = 0;
scrapbox.PopupMenu.addButton({
title: 'テロメア出力',
// index: 選択行が0はじまり、次の行が1...
onClick: text => text.split('\n').map(function(line, index) {
if (line.length == 0) return;
// タイトル0はじまり、一行目が1...
let lines = scrapbox.Page.lines;
let cursorElement = document.getElementsByClassName('cursor-line')0; let parentElement = document.getElementsByClassName('line');
parentElement = [].slice.call(parentElement);
// タイトル1はじまり、一行目が2...
const cursorIndex = parentElement.indexOf(cursorElement);
const selectRowCount = text.split('\n').length;
if (index == 0) {
telomereIndex = cursorIndex - 1 - index;
} else {
telomereIndex = cursorIndex - selectRowCount + index;
}
}
const ye = date.getFullYear();
const mo = ("0"+(date.getMonth() + 1)).slice(-2);
const da = ("0"+(date.getDate())).slice(-2);
const ho = ("0"+(date.getHours())).slice(-2);
const mi = ("0"+(date.getMinutes())).slice(-2);
const se = ("0"+(date.getSeconds())).slice(-2);
const ts = ye + '-' + mo + '-' + da + ' ' + dw + ' ' + ho + ':' + mi + ':' + se;
telomereIndex++;
return line.replace(/^(\s*)(.*)/, (s, p1, p2) => p1 + '' + ts + '' + p2);
}).join('\n')
})
更新履歴
コードブロックとか引用記法に対して実行するとこわれる
選択行のupdatedを取得して行末にペーストするため、一度実行すると行の最終更新日が変わる
先頭に出力するように修正(2020/02/20)
空行の場合出力しないように修正(2020/02/20)
updateじゃなくてcreateでとってみる(2020/02/21)
やっぱupdate(2020/02/22)
時間をオリジナルの時間記法で出力するようにした(2020/06/29)
リンクはやめた(2020/09/30)
動かなくなってた…(2021/11/10)