WorkFlowyのトピック更新日時を表示するブックマークレット LastTime
WorkFlowyの検索で「last-changed:1d」とすると、この1日以内に更新されたトピックを列挙します。つまり、タイムスタンプを持っている。ところが、iPhone/iPadでは直接それを確かめる方法がない。意外と重要な情報だと思うのですが、用意されていない。
ならばSafariのブックマークレットで、という小品です。
LastTime
HTML内には更新日時の情報がありません。なので、非公開APIから全体シートを取得してURLアドレスと照合する方法を取りました。ちょっと時間が掛かる。javascript:(function(){url="https://workflowy.com/get_initialization_data";q=new XMLHttpRequest();q.open("get",url,false);q.send(null);data=q.responseText.replace(/\"no\":\"(.+?)\",\"id\":/g,"\"id\":").split("{");begin=Number(new Date(2013,1,14,0,31));id=location.href.replace(/(.+?)#\/(.+?)$/,"$2");e=new RegExp("\"lm\":(.+?),\"id\":\"(.+?)-"+id,"mi");s="???";for(i=0;i<data.length;i++) if(data[i].match(e)) s=new Date(Number(RegExp.$1)*60000+begin).toLocaleString().replace(/ JST/,"");alert("- Last Time -\n\n"+s);})();
登録リンクはこちら→ http://tinyurl.com/hpwoyyh力技
JSON内の"lm"が"last modified"の略号だな、とは気づいたものの、いつの日付を起点としているか、わからなかった。でも十年日記のトピックと格闘しているうちに「2013年1月14日0時31分」が零点であろうと推測しました。WorkFlowyが世界で最初に起動した時刻を「0」とし、そこからの経過時間を分単位で"lm"に記録している。そういう推理で更新日時を表示します。ぜんぜん根拠がないから、まったく違うかもしれない。