朝一番にカレンダーをカスタムするやつが出てきていたので、 id:bulldra さんは相変わらずサクサクとコード書いているのが良いですねぇと思った。
はぶ(噛まない方)*1にissue投げるか考えて、あっちはあっちの文化というか、やり取りがダラダラ残る仕組みなので、はてブの方にあとでやるフラグを立てて置いたら更に更新されていた。良い。
糞コードを供養しておく
<script> window.addEventListener("DOMContentLoaded", function(){ // カレンダー取得タイミングをとる方法を書くのが面倒だったのでタイミング決め打ち // わりとなんとかなる setTimeout("kusocode();", 200); }, false); function kusocode(){ // 対象ノードを選択 var target = document.querySelector('div.js-archive-module-calendar-container'); // オブザーバインスタンスを作成 var observer = new MutationObserver(function(mutations){ mutations.forEach(function(mutation){ console.log(mutation.type); // 必要処理 // transformCalendar(); }); }); // オブザーバの設定 var config = { attributes: true, childList: true, characterData: true} // 対象ノードとオブザーバの設定を渡す observer.observe(target, config); // 後ほど、監視を中止 //observer.disconnect(); } </script>
糞コードというかサンプルそのものだったりしますが、
攻め方は色々あるなぁという感じです。
斧じゃなくて糞コード投げる。カウボーイコーディング。
テーブルの<td>欠けについて
内部処理がどうなっているか*2ちょっとわからないので何とも言えないのですが、7日分(<tr>で囲む分)テンプレートを使うようになれば解決できるんじゃないかなと。
テーブルの多段囲みというアレな時代もありましたし、秘伝のタレのようなカレンダーモジュールがあったのかもしれません。
と思ったら、はてダのカレンダー2はしっかりできてるぞ!?
そういう事もあります。(お茶を濁す)
とりあえず、テーマ作者側から要望を出せばKAIZENされるのではないでしょうか。
出来そうなものは大体実装完了した感じです。お疲れ様でした。