markdown AIでオモコロっぽい読書感想文を書く。

この記事はQiita Engineer Festa 2024のスポンサー企業テーマである、「[markdown AIを使った記事を投稿しよう！](https://qiita.com/official-events/142fdd0d69ff6bb2d547)」の記事です。

# そもそも`markdown AI`ってなんだろう…？

キャンペーン概要を読むと以下の記載がありました。

> markdown AIとはQiitaでも採用されているMarkdownの記述をするだけで簡単にWebサイトを作成することができるwebアプリケーションです。

面白そうですね。

「子供が真似をしたくなるような内容」がキャンペーンの選出基準になるとのことだったので、以下の流れで`オモコロっぽい読書感想文`をテーマにしました。

1. 今の時期の小学生は読書感想文を書くはず
1. 読書感想文は書いていて楽しくない
1. 小学生は[オモコロ](https://omocoro.jp/about/)が好き[^1]なので、簡単にオモコロっぽいフォーマットで読書感想文が書けるとモチベーションが上がるかもしれない

オモコロは「ゆるく笑えるコンテンツ」に特化したWebメディアで、[小学館のコロコロコミックとの掲載契約を結んでいる](https://corocoro.jp/news/357721/)こともあり、小学生も楽しめる記事を多数掲載しています。
読書感想文や作文はまずどんな形でもいいから書き始めるのが大切なので、 **最初の取っ掛かりを楽しんでもらう作戦** です。果たしてオモコロっぽくなるのでしょうか。

# 使い方

[いろいろな方](https://qiita.com/tags/markdownai)が丁寧に書いているので今更書くことはもうないです。Googleアカウントがあれば書き始められます。
初回起動時のみ[Markdown記法のサンプル](https://mdown.ai/content/3a688188-5678-444d-910f-eed769ab65d9)がエディタに生成されます。Markdownはサービスごとに方言がありますが、どの記法が使えるか検証してくださっている方がおり大変ありがたかったです。

https://qiita.com/pitao/items/2015fbcb4bb8827067d9

## 今回のレギュレーションで使用する機能

[markdownAIタグ](https://qiita.com/tags/markdownai)のついた他の方の記事を読むと、JavaScriptやCSSが無限に登場していて自由度は相当に高そうです。ただ、あまり複雑なことをすると`小学生が書く読書感想文`という前提条件から逸脱してしまいそうなので、ルールを設けることにしました。

1. 初回起動時に生成される[Markdownのサンプル](https://mdown.ai/content/3a688188-5678-444d-910f-eed769ab65d9)内で使用されている記法はすべて使う
1. `<br>`と`<span>`以外のHTMLタグは使用禁止
1. JavaScriptは使用禁止
1. CSSは使用禁止

「Markdown初見の小学生であれば、まずはサンプルを改造して読書感想文を書き始めるだろう」、「サンプルの機能は全部試してみたいだろう」という想定で、サンプル上のすべての記法を使用する縛りにしました。

オモコロの記事のフォーマットはライターによってかなりバラバラですが、共通している箇所として、強調したいところは<font color="red">**赤いデカ文字**</font>で書かれています。CSSは使用禁止にしましたが、このフォーマットだけはどうしても守りたいので、強調したいところは`<span style="color:red; font-size:300%">`タグとMarkdownの`**em記法**`を組み合わせて使うことにしました。HTMLタグは、この`<span>`と、テーブル内で改行するための`<br>`だけ使用可能とします。

小学校低学年でも無理なく文章を書き始められそうな縛りになりました。（多分）

# 作成したオモコロっぽい読書感想文

架空のライター優勝（すぐれまさる）さんが書いたという設定です。レギュレーションを守るために相当無茶をしていますね。

https://mdown.ai/content/d2ac4e0d-0aea-4ae0-8635-e6485d469bcf

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321603/aa1ee334-00d6-3de3-bd25-6b05a9135666.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321603/00c1db0a-b5e0-e303-cb46-4ee41eebf8a0.png)

内容はゴミカスでも雰囲気的にはそれっぽい記事になりました。技術的に小学校低学年でも無理なく書ける、かつ、Markdownのおかげで表現の幅がかなり広い読書感想文に仕上がっています。センスのある小学生なら余裕でオモコロクオリティの記事が作れそう。

作ってすぐにインターネットに公開されて色々な人から見てもらえるのも嬉しい点ですね…！自分が小学生の時は、同じことをするのに無料レンタルサーバー探しから始めなくてはならなかったので、当時このサービスがあったらむちゃくちゃ喜んだと思います。

# markdown AIを使ってみた所感

使ってみた所感です。「子供が真似をしたくなるような内容」というお題なので、

* 小学生が使えそうか
* 保護者・教育者といった大人が安心して子どもにサービスの使用を許可できるか

という判断基準で感想を書いています。

## 良かったところ

### サーバー関連の知識無しでWebサイトが公開できる

上述しましたが、作ってすぐにインターネットに公開されて色々な人から見てもらえるのが何より嬉しいと思いました。もし仮に一からWebサイトを公開しようとすると、Webサーバーの選定や契約から始めることになり、小学生や非エンジニアにはいきなりハードルが高いですが、そこで悩まなくていいのは大きなメリットです。

### Googleアカウント1つで始められる
 
 [Classroom](https://support.google.com/edu/classroom/answer/7582372?hl=JA)と相性が良さそうです。サービスごとにいくつもアカウントをつくるのは管理がしんどいので、この点は嬉しいです。ただ、[13歳未満は個人でGoogleアカウントを作れない](https://support.google.com/families/answer/7103338?hl=ja)ので、Classroomへ参加するか、もしくは、保護者からのアカウント発行が必須に見えるのは少し気になりました。

### UIがシンプル

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321603/4059dcf1-dfad-8b28-77fb-c328e6c74f5e.png)

潔すぎる。

~~学校で配布された~~スペックが低いデバイスでも問題なく使用できそうです。

### 画像が簡単にアップロードできる

特に悩まずに画像がアップロードできて記事に挿入できたのは良かったです。

![screen2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321603/41dd1ec3-1b44-8ed3-56b8-13be03c33030.png)

## 良くないと感じたところ

正直に言うとこれは本当にたくさんあって書ききれないので、「ベータ版だとしてもどうにかしたほうがいい」と思った箇所のみ列挙します。それでも多いです。

### 小学生目線

#### サービストップページとUIが全部英語

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321603/415c37da-58b2-6a92-8e82-6b7fb5081776.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321603/118b4b30-caf8-7b99-858b-58543997b464.png)

このUIはいきなり小学校低学年に使ってもらうのは厳しいと思いました。英語の授業と割り切ればギリギリ使えるかもしれませんが、書くことに集中させてあげたいです。

#### Markdownを書くためのチュートリアルがない

なにかしらのWikiを編集しまくっているリテラシーの高い小学生であれば問題なさそうですが、そうでない子が初見で一からMarkdownを書くのはハードルが高すぎると感じました。

#### ベータ版ということを考慮しても、実装が大雑把すぎる

ベータ版とはいえ、できることの少なさに対してバグが多すぎる印象で、この点は本当に残念だと感じています。「共有用のURLをコピーしたら、表示されているURLとクリップボードに表示される内容が異なっている」とか、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321603/844b02fb-97c9-ac46-ef88-6821e2ae3aed.png)

「Saveボタンを押下してもレスポンスがなく、ボタンはグレーアウトしたのにSaveされていないことがある」など、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321603/7058707e-17fa-131f-d6b5-d30d7cbfaf2f.png)

基本的な機能が正しく動作していないのは見直してほしいです。

### 保護者目線

#### 利用規約がない

個人が趣味で運用しているサービスではない以上、最低限以下は必要に見えます。

* Googleアカウント、及びアカウントから得られる情報をどのように扱うか
* 投稿された文章がどう利用されるのか、著作権の帰属先はどこにあるのか

#### JavaScriptが使い放題なのは強気すぎる

XSSだと思っています（直球）。

自由度が高く、いろいろなアプリケーションが作れる反面、もし授業等でWebサイトを作ることになった時、悪質なブラクラを作って他人に踏ませる~~クソガキ~~お子さんや、脆弱性を見つけて遊ぶ~~クソガキ~~お子さんがいそうです。`<script>`タグの使用可否を大人が決められるモードは検討して欲しいです。

別のサーバにあるスクリプトもロードできてしまうし（検証済み）、CORSでOriginを許可したAPIを適当に作って外部サーバにPOSTもできてしまうので（検証済み）、「`mdown.ai`のコンテンツだからアクセスしても大丈夫」という確証が得られません。これは保護者目線だとかなり厳しいです。

#### 悪意のある投稿を防止・通報できる機能がない

上述のJavaScriptの話に通じますが、自由度が高すぎる反面何でも書けてしまうので、裏サイトやSNS以上に治安が悪くなる可能性をどうしても否定できません。「子供が真似をしたくなるような内容」でサービスを利用してもらうのであれば、子供の邪悪さも考慮させてほしいです。

## 改善されたらうれしいところ

致命的な部分ではないけれど、正式版には追加されていると嬉しいと感じた箇所も列挙しておきます。

### 記事にタイトルを設定したい

記事にタイトルがつけられないので、ぱっと見てどれがどの記事なのかわかりにくいのと、生成されたHTMLに`<title>`がないので、ブラウザ上で見てもタブの内容がわからず使いにくいです。他の方は`<title>`タグを自分で書いて設定していましたが、UIから設定できれば嬉しいです。

### URLをSNS等に即共有する手段が欲しい

大人ですら[URLという概念を知らない人がいる](https://news.yahoo.co.jp/expert/articles/a278a72bd78e7a2a1f8767e6f68e55ccd022baff)ご時世なので、今の仕様だとせっかく作っても見てもらう手段がなさそうです。QRコードの生成機能と、URLをSNSに共有するボタンが欲しいです。

### URL発行までの動線がわかりにくい

一度Viewを押下しないとURLが発行できないのはわかりにくいと感じました。私は他の方の書いた記事を読みながら使ったのでなんとかなりましたが、初見で解決できたかは怪しいです。

### リアルタイムプレビューがほしい

今のままだとメモ帳でMarkdownを書いているのと何ら変わらないので、ぜひ追加して欲しいです。

### Gitではない共同編集機能がほしい

将来的にGitでの共同編集機能を提供するとのことですが、学校のグループ学習で成果物を公開する時はリアルタイムで共有しながら共同編集できてほしいです。グループ学習じゃなくても、ゲームの攻略サイトとかを友達と一緒にリアルタイムで編集できたら楽しいと思います…！

# 最後に

色々書きましたが、「Markdownの記述をするだけで簡単にWebサイトを作成することができる」というコンセプトは自分が小学生なら絶対に刺さったので、本当に応援しています。AI機能含めて正式版のリリースを楽しみにしています。

そして、サービス名が`MarkdownAI`だったり`markdown AI`だったりむちゃくちゃ表記ゆれしているので、正式版までにどちらに統一されるのか気になっています。

# どうでもいい余談

今回のオモコロフォーマット読書感想文は、あくまで読書感想文を楽しんでもらうための取っ掛かりとして想定していたのですが、[読書感想文全国コンクール公式サイト](https://www.dokusyokansoubun.jp/qa.html)を見ると、自分の考えが書けているならそのまま成果物として提出しても良さそうな気がしました。

> 読書感想文は、何のために書くの？
> 
> 書くことによって考えを深められるからです。読書感想文を書くことを通して思考の世界へ導かれ、著者が言いたかったことに思いをめぐらせたり、わからなかったことを解決したりできるのです

[^1]: 知り合いのお子さんはオモコロが好き（n=2）