気がつくと、もう三月。
iPod touchを使い始めた頃は、カレンダーの壁紙を貼り付けたり、ホーム画面にカレンダーアプリを置いたりしていました。でも、そういうのって手間がかかる分、使わなくなる。見たいときにすぐ出るのじゃないと、普段の生活には溶け込みません。それで、通知センターを活用しようと思いました。MyShortcuts経由でカレンダーを置くDraftPadアシスト。
draftpad://self/web?source=<script>d=new Date();year=d.getFullYear();month=d.getMonth()+1;week=(36+d.getDay()-d.getDate())%257;leap=((year%254==0 %26%26 year%25100!=0)||(year%25400==0));long=new Array(0,31,28+leap,31,30,31,30,31,31,30,31,30,31);cal=" □ "+year+"/"+("0"+month).substr((month>9))+" ";for (i=0,j=0;i<week;i++,j++)cal+=" ";for(i=1;i <=long[month];i++){cal+=(" "+i).substr((i>9)*2);j++;if(j>6){cal+="\n ";j=0;}}location.href="myshortcuts://addreminder?dtime=1%26title="+encodeURI(cal)+"%26autocallbackurl=draftpad:%26url=myshortcuts:";</script>
登録リンクはこちら→http://tinyurl.com/d2cwbfz
実行すると、通知センターにカレンダーが追加されます。最小限の表示だけど、一応日曜始まりということで。通知センターの性格上、4段だけしか見ることができないので、最後の週が切れてしまうのが難点。そこあたり想像力でカバーしてください。
シンプルなので、わざわざDraftPadから起動しなくても、MyShortcutsに直接登録する方法もありそうです。エンコードを残したままjavascript:を付けてみる。
javascript:d=new Date();year=d.getFullYear();month=d.getMonth()+1;week=(36+d.getDay()-d.getDate())%257;leap=((year%254==0 %26%26 year%25100!=0)||(year%25400==0));long=new Array(0,31,28+leap,31,30,31,30,31,31,30,31,30,31);cal=" □ "+year+"/"+("0"+month).substr((month>9))+" ";for (i=0,j=0;i<week;i++,j++)cal+=" ";for(i=1;i <=long[month];i++){cal+=(" "+i).substr((i>9)*2);j++;if(j>6){cal+="\n ";j=0;}}location.href="myshortcuts://addreminder?dtime=1%26title="+encodeURI(cal)+"%26autocallbackurl=myshortcuts://?home%26url=myshortcuts:";
(注意) 絵文字がはてなでは文字コード化してしまい、そのまま貼り付けることが出来ません。「□」に置き換えてあります。その部分を「📅」と入れ替えてください。
このスクリプトをコピーしてMyShortcutsに貼り付けます。これで実行してもカレンダーが作れますね。より手軽。ただ、通知センターの項目が減るのがデメリットかな。
今回の実験で、MyShortcutsにスクリプトを登録するとき「&」と「%」をエンコードする必要があると分かりました。DraftPadアシストと同じだから、使い回しがしやすそう。