HandyFlowyのタグをリスト表示してコピーする拡張スクリプト TagCopy

日々勉強。


TagListUni

HandyFlowyで日本語タグも一覧表示するTagListUni - aitatena
こちらのTagListスクリプトのカスタマイズ版です。d.hatena.ne.jpHandyFlowyTagListUniではTagListから以下の箇所を変更しました。・日本語(含むUnicode)...

なるほど、日本語タグにこう対応するのか。正規表現に関数を埋め込む方法を初めて知りました。勉強になります。これで2バイト文字のタグも呼び出せる。


TagCopy

HandyFlowy 1.1
分類: 仕事効率化,ユーティリティ
価格: 無料 (Michinari YAMAMOTO)

使ううちにタグ検索が不要に思えてきた。タグを調べるのは、トピックにタグを付けたいとき。タグ名が曖昧なときに使う。すると、そのあと検索画面に飛ぶのは、戻す手間が増えるだけ。検索窓に貼り付ければタグ検索できるんだし、コピーができれば用は足りそうです。

url="https://workflowy.com/get_initialization_data";
q=new XMLHttpRequest();
q.open("get",url,false);
q.send(null);
data=q.responseText;
data = data.replace(/((?:\\\\)*)\\(u[0-9a-f]{4})/g, function(arg0,arg1,arg2){return arg1+"%"+arg2});
data=unescape(data);
list=new Array();
tag="@";
for(k=0;k<2;k++){
d=data.split(tag);
for(i=1;i<d.length;i++){
s=d[i].split(" ")[0].split("\"")[0].split("\\")[0];
if(s && !/[;{)\/\+]/.test(s) && s.length<20 && list.indexOf(tag+s)==-1) list.push(tag+s);
}
tag="#";
}
list.sort();

listwidth=320;
listleft=(window.innerWidth-listwidth)/2;
html="<hr style=border-color:white;>";
for(i=0;i<list.length;i++){
html+="<div onclick=Select("+i+") style=padding:5px;overflow:hidden;white-space:nowrap;>"+list[i]+"</div><hr style=border-color:white;>";
}

e=document.createElement("div");
e.innerHTML=html;
e.style.cssText="color:black;background:beige;font-family:Hiragino Sans;font-size:medium;font-weight:bold;position:fixed;overflow:scroll;text-align:left;height:72%;top:14%;left:"+listleft+"px;width:"+listwidth+"px;z-index:99;border:1px white solid;box-shadow:5px 5px 5px 5px rgba(0,0,0,0.2);";
document.body.appendChild(e);

function Select(x){
document.body.removeChild(e);
webkit.messageHandlers.CopyToClipboard.postMessage(list[x]);
};

MemoFlowy経由で登録→ http://tinyurl.com/zr9m8va


使い方

タグを一覧表示。タップすると、そのタグがクリップボードに入ります。あとはトピックにペーストする塩梅。ツールバーの「P1」では前後に空白が必要になります。


まとめ

日本語のタグも書いてるものだなあ。調べてみないと忘れている。ただ、スクリプトの下書きがあると「#」がカラーコードに使われるせいで、要らないヒットも多い。カラーコードは16進法で、必ずしも数字とは限らないし。でも、通常は気にしなくても良いかな。