この記事は旧ブログサービスからの移植記事です。
表示がおかしい場合があります、ご了承ください。
制作報告記事です。manabaは大学で利用されているLMSのこと。
公開先
※ 動作保証はしていません。利用は自己責任でお願いします。
作るきっかけ
自分はタスク管理にGitHub Projects(Kanban)を利用しています。
大学周りのタスク登録を行うために毎回manabaの情報を読んでMarkdownで書くのが億劫だったため、今回作成する運びになりました。
なんとなく授業の匿名化をしました。
いい感じで吐き出してくれます。
作るのに使った技術
- Pure JavaScript
- Closure Compiler
開発中つまづいたり体験したこと
自分の将来のために感じたことを書いておきます。
自分はBlazorやVue.js、Reactを普段遣いしているため直接DOMをいじる経験が今まであまりなく、今回はDOM周りの基礎勉強をもう一度やり直しながら実装しました。
その中でつまづいたり体験したことは以下の通り
- DOMを直接触るので状態を想像しながら書かなければいけなくつまづく(何回もエラーを踏む)
- Element と Node の違いがわからない (学んだ)
- ChildNode.remove() が内部だけで行われるものと勘違いしていたために、叩いた際に画面の要素消えて驚く(あたりまえ)
- こういうブックマークレット系の単体テストの知見がないため、本当にバグが含まれていないのか不安なまま開発をすすめる
- TypeScriptで記述すればよかったと開発中盤で後悔する
さいごに
m2GMという名前は “manaba to GitHub Markdown” から来ています。
バグなど見つけた際はissueなどで教えて下さい。気が向けば修正します。