nikkie-ftnextの日記

イベントレポートや読書メモを発信

Markdownは半角スペース2つだけで改行が入るんです!(<br>タグの必要はないわ)

はじめに

その必要はないわ、nikkieです。

Markdownに関するtipsをアウトプットです。
タイトルの通り、改行ってすっごく簡単に入れられるんですよ!

目次

ニュース!connpassの「参加者への情報」でMarkdownをサポート

IT勉強会プラットフォームのconnpass。
勉強会に参加する際やスタッフとして開催する際、いつも大変お世話になっております。

connpassには参加者にだけ見える欄がある1のですが、そこでMarkdownが使えるようになったのです!!

これは積年待望した機能なんです!
今まで何回「ここにMarkdownが書けたら」と思ったことか2

引用したツイートにあるお知らせ(2023/02/08 「参加者への情報」欄 Markdown 対応のお知らせ)を見ると、画像を埋め込んだ例3があります!
Markdown対応なので、箇条書きやリンクだけでなく画像もいけるんですね、これはすごい!👏

Markdownに改行を入れるには

スタッフをしていると、connpassにMarkdownがどのように書かれているか目にする機会が多いです。
その中で改行の入れ方に苦戦している例が目に付きました4

私は声を大にして言いたい!

📣半角スペース2つ入力するだけで改行できます!!

これら2つの入力と比べたら、半角スペース2つだけですから、楽ですよね🙌7

「半角スペース2つで改行」を知った経緯

connpassでMarkdownを書くより前から、このはてなブログGitHubのREADME.mdをMarkdownで書いてきました。
これらで改行を入れるには半角スペース2つを覚える必要がありました。
何千文字も書くはてなブログで行末のたびに<br>は大変すぎますからね。

はてなブログの開発ブログ8GitHubのドキュメント9では、Markdownの書き方として以下が案内されていました。

これはMarkdownの生みの親 ジョン・グルーバー(John Gruber)氏10による文法定義です。
改行については以下のようにあります(Paragraphs and Line Breaksより)

When you do want to insert a <br /> break tag using Markdown, you end a line with two or more spaces, then type return.

(nikkie訳) Markdownを書いていて改行の<br />タグを入れたいときは、行の終わりに2つ以上のスペースを入力してからreturnキーを叩いてください

改行したいところに半角スペースを2つ以上入れると  
改行されます。

Markdownは生まれたときから半角スペース2つ(以上)で改行できたのです!

IMO:半角スペースで改行するのがオススメ

Markdownに改行を入れる方法はいくつかありますが、私のオススメは2つ以上の半角スペースを使う方法です。
Markdownの文法仕様としてサポートしている書き方というのが、オススメする理由です。

HTMLの出力しかないconnpassでは、Markdownで改行するために<br>タグも有用かもしれません。
ですが、例えばドキュメント変換ツールSphinxの入力にMarkdownを使い、出力は(LateXを介して)PDFとするような(つまり、出力がHTMLでない)場合、<br>タグはノイズに思えます。
Markdown中に<br>タグは書けますが、出力フォーマットに依存してしまうので、私は採用したくありません11

終わりに

connpassの「参加者への情報」がMarkdownをサポートしたニュースをきっかけに、Markdownには半角スペース2つで改行を入れられることを共有しました。
一次情報まで辿ったところ、Markdownが生まれたときから使えた記法ということも分かりました。

少ない打鍵数で改行を入れられるtipsですので、よろしければ使ってみてください。
connpass、はてなブログGitHubなど、1回覚えればいろいろなところで活用できますよ。

今回のアウトプットの元ネタはこちらでした:

P.S. CommonMarkの仕様では

Markdownの仕様をまとめるプロジェクト、CommonMark12
仕様を確認すると半角スペース以外の書き方もありました。

https://spec.commonmark.org/0.30/#hard-line-breaks

  • 半角スペース2つ以上(foo
  • バックスラッシュ(foo\
バックスラッシュを入れても\
改行されます。

CommonMark対応のパーサでは半角スペース2つの代わりにバックスラッシュで、楽に改行が入れられそうですね!


  1. 思えばこの欄(参加者への情報)ができたのは、コロナ禍でオンライン開催の勉強会が増え、Zoomなどの参加URLをメッセージ以外の方法で共有できたら便利とみなが感じ始めた頃でした
  2. PyCon JPなどのスタッフ活動を精力的にしてきたため、connpassでイベントを作る回数が人並み外れて多かったのです(=超ヘビーユーザ)。
  3. この記事の立場からするとHTMLタグ<img>よりMarkdownの記法![altテキスト](画像URL)をオススメします。 https://help.connpass.com/organizers/markdown#id10 にも記載されています
  4. 複数のイベントページで改行に苦戦している印象を受けたので、Markdownで改行を入れる記法が広く知られるといいなと思ってこの記事を書いています
  5. connpassに書けるMarkdownとして掲載されてしまっていることで、Markdownの仕様に沿った記法が広まりにくくなっているのかなと思いました
  6. https://help.connpass.com/organizers/markdown#id7
  7. 使用例です:https://raw.githubusercontent.com/ftnext/sphinx-new-tab-link/ad7468f698bcbf15097cf408f915eb6efb26a726/docs/markdown-example.md#L3
  8. Markdown記法に対応しました - はてなブログ開発ブログ
  9. 基本的な書き方とフォーマットの構文 - GitHub Docs
  10. Sphinxをはじめよう 第3版』付録Dより
  11. 原稿の記法は出力フォーマットに依存させたくありません。Clean Architectureの影響を受けた考え方のように思われます(原稿=ビジネスロジック、出力フォーマット=詳細)
  12. Markdownの原稿をSphinxで変換して作ったHTMLの中の外部リンクも、sphinx-new-tab-link を使ってブラウザの新しいタブで開けることを確認しました - nikkie-ftnextの日記 でも取り上げました