Hatena::ブログ(Diary)

W&R : Jazzと読書の日々 このページをアンテナに追加 RSSフィード

2016/04/27

HandyFlowyで使用中のタグを一覧表示する拡張スクリプト TagList

タグはEvernoteでも苦手。


タグ名を忘れてしまう

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

Evernoteはまだタグ・リストが出てきます。でもWorkFlowyにそんな親切はない。Homeにタグ名をまとめておかないと、そのうち忘れてしまう。でも、これからは大丈夫。WorkFlowy全体からタグを見つけ出し、一覧表示するスクリプトを組んでみました。

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


使い方

非公開APIにアクセスし、データ中から#や@で始まる文字列を拾い上げます。タグ以外のものもリストアップするけど、そこは大目に見てください。2バイト文字はコード化されているので諦めました。英数字のタグのみ有効。使う分には困らないと思います。

一覧表示されたタグをタップすると、そのタグで検索した結果を返します。これでうろ覚えでも、きちんと目的のトピックにたどり着けるのではないだろうか。


まとめ

動的なタグはよく使います。ポインターとして「@p」をトピックにつけ、それから移動先のトピックにも「@p」をつける。すると検索を掛けたとき、その2つのトピックが並ぶので、階層構造を飛び越えた移動が可能になります。編集としてのタグはよく使う。でも、分類としてのタグは忘れるんだよなあ。PoIC法を応用してるけど、@だったか#だったか。


ソース本体

スクリプトの中身はこんな感じ。

url="https://workflowy.com/get_initialization_data";
q=new XMLHttpRequest();
q.open("get",url,false);
q.send(null);
data=q.responseText;
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) && 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:large;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);
  location="https://workflowy.com/#/?q="+list[x].replace(/#/,"%23");
}