ブログや小説などの執筆に使える執筆アプリを個人で開発する企画「執筆アプリ作り隊」。
執筆アプリには素晴らしいアプリが既にたくさん存在する。しかし自分にフィットするアプリが見つからない・・・であれば自分で作ってしまえ!という想いから始まった企画です。
「執筆アプリ作り隊」では、執筆アプリの開発の進捗や、エピソードなどをお伝えしていきます。
こんにちは、わつぃです。
執筆アプリ第五話です。前回は「小説家になろう」と「カクヨム」のフォーマットでのコピーと「YouTube動画の埋め込み」に対応しました。
アプリの開発は時間はかかるものの、徐々に自分の使いやすいアプリが出来上がっていくのはとても嬉しいものです。そして「自分の作りたいもの」ゆえに、特別なモチベーションも必要ないといいますか、無理にモチベーションを上げる必要がないので、精神的にすごく楽です。
とはいえ、根気は必要ですしある程度機能ができてきたら今度はそれぞれの機能の安定性・利便性を向上させる必要があります。また当然ながらバグも取り除いていく必要があるのでこれからが正念場というべきでしょうか。
では、今回の進捗内容から初めていきます!
今回の更新内容
今回実装した内容は以下のとおりです。
- マークダウン形式での書き込みに対応
- リストアイテムに対応
- 引用ブロックに対応
Markdown形式での書き込みに対応
マークダウンでの執筆に対応しました。全てのタグに対応しているわけではありませんが、大方使用頻度の高いマークダウンのタグには対応しています。見出しを表す「#」や、リストを表す「-, *, +」、その他にボールド、イタリックなどのフォーマット、リンク、引用などのマークダウン記法に対応しています。
このマークダウン形式での書き込みが必要ない人は設定などから無効にできるようにする予定です。(現在は未実装)
リストアイテムに対応
リストアイテムとは、箇条書きのことです。現状は、「・」で表されるリストと「1」などの数字で表されるリストに対応しています。前項でお伝えしましたが、これもマークダウンで入力ができます。
引用ブロックに対応
引用ブロックに対応しました。
引用ブロックを作成すると自動的に引用の枠組みが作成されるので、その中に引用文を記述していきます。引用ブロック内で改行する際には、「シフト+エンター」キーを押します。エンターキーで改行をすると引用ブロックから抜け出して通常の行の入力に変わります。
引用ブロックの挿入もマークダウン記法で一瞬で挿入できます。マークダウン記法便利。
アプリ開発の現状
現在開発している執筆アプリも、少しづつ使えるものになってきていてブログの執筆を行うのにはそこまで不便はないレベルになってきました。ですが細かい部分の使い勝手がまだまだ使いづらい状況です。UXが悪いということですね。このアプリではこうしたらこうなってほしい!というユーザーが思う直感的な操作を実現していきたいなと思っているので、まだまだ課題は多いです。
あと、このアプリの開発の技術スタックとしては「Electron + React + TypeScript」をベースにしています。実は私、ElectronもReactも全く触ったことがなくて、最初は全然意味がわからなかったのですが、ちょこちょこいじっているうちになんとなくは理解できてきました。
Webサイト自体はある程度制作した経験があり、HTML/CSS/JavaScriptはある程度わかるので、後はReactとElectronの勉強をしていけばなんとかなるかと見切り発車でスタートした感じです。TypeScriptに関しては私は静的型付け言語が好きだったので、そこまで苦労することはありませんでした。(意味がわからないこともままあるけど...)
ただ、モジュールバンドラーやら、トランスパイラやらは今もよくわかっていません。そのうちしっかり勉強していかないと茨の道を歩むことになる気がしてるので、どこかで腰を据えて学習していこうかなと考えています。
あと、TypeScript(JavaScript)は値がないことを表す方法として、nullとundefinedがあるのですが、正直似たようなのが2つあるとコードを書くときに悩むんですよね……一応サバイバルTypeScriptさんではundefinedに寄せておくのが無難と書かれていたので脳死で従っております。
言語学習も合わせて開発をしているので、β版のリリースまでにはまだ時間がかかりそうですが、応援してただけますと幸いです。
ご支援もお待ちしております。
この執筆アプリの開発に対して少しでも支援してあげてもいいよ、という方がいらっしゃいましたら、ぜひご支援していただけますとものすごく喜びます。
また、直接的なご支援でなくてもこのアプリの応援をしていただけましたら大変うれしく思います...!