WorkFlowyからScrapboxにコピペするときになんとかしたいブックマークレット
code:script.js
var selectedText = window.getSelection().toString();
var level = 0
var textbody = [];
var f = [];
var e = document.querySelectorAll('div.addedToSelection');
for (let i = 0;i < e.length; i++){
f.push(ei.querySelectorAll('div.project div.name, div.children')) }
function searchName(node){
for (let i = 0;i < node.length; i++){
if (nodei.classList.contains('name') == true){ textbody.push(String(level) + nodei.innerText); }else if (nodei.classList.contains('children') == true){ level++;
}
}
level--;
}
いったん仕切り直し
for (i = 0;i < f.length;i++){
if (fi.matches('div.name')){ }
}
解析
0 name _1n6wdmk
1 children _15ttbmm
2 name _1n6wdmk
3 children _15ttbmm
4 name _1n6wdmk
(ここで階層を上がっている?
5 name _1n6wdmk
6 children _15ttbmm
7 name _1n6wdmk
alert(f[1].childNodes[0].childNodes[0].innerText);
これで潜っていけばいい。
childrenにぶつかるたびにノードを潜る→テキストのインデントを深くする
単行はwindow.getSelection().toString()で取得できるが、複数行では無理。
https://gyazo.com/ea3006969c2643d0d9f9cf703a684dc0
addedToSelection というdivの中身を取得すればいいのでは?
spanにテキストは入っている
階層を無視すればとりあえずこれでいける。
nameとchlidrenで再帰処理すれば階層も取れる。
ref: