ToolActToolAct

Markdown エディタ

エディタ0 文字数 · 0 単語数 · 0 行数
プレビュー
Ln 1, Col 1Markdown
UTF-8

Markdownとは?

Markdownは、2004年にJohn Gruberによって作成された軽量マークアップ言語です。シンプルなテキストフォーマット構文を使用し、構造化されたHTMLに変換できます。Markdownはドキュメント、ブログ記事、READMEファイルの作成に広く使用されており、そのシンプルで読みやすいフォーマットから開発者に愛されています。

使い方

使い方

  1. 左側のエディタにMarkdownテキストを入力します
  2. 右側のパネルにリアルタイムのプレビューが表示されます
  3. ツールバーのボタンで一般的な構文を挿入できます
  4. 下部バーに単語数・文字数・行数が表示されます
  5. コンテンツはブラウザのローカルストレージに自動保存されます

機能

見出し#記号で見出しを作成し、#の数で見出しレベルを示します
太字**テキスト** または __テキスト__ で太字にします
イタリック*テキスト** または _テキスト** で斜体にします
リンク[表示テキスト](URL) でリンクを作成します
画像![代替テキスト](画像URL) で画像を挿入します
コードバッククォート ` でインラインコード、三重バッククォートでコードブロックを作成します
リスト- または * で順序なしリスト、数字で順序付きリストを作成します
引用ブロック> 記号で引用ブロックを作成します

編集のヒント

  • プレビュー表示はプラットフォームによって異なるため、表・HTML・拡張Markdown機能を使う場合は、最終出力先のシステムで確認してください。
  • 自動保存は下書きに便利ですが、ブラウザのデータを消去する前やデバイスを切り替える前には、重要なメモのバックアップを別途保存してください。

利用シーン

ライブプレビューでMarkdownを執筆する左側のエディタでメモ、READMEセクション、リリースノート、ドキュメントを起草し、右側のペインでは改行を有効にしたGitHub Flavored Markdownがレンダリングされます。プレビューライブラリの読み込み後にコードブロックがハイライトされるため、技術的なドラフトの確認がしやすくなります。
ブラウザローカルの執筆スクラッチパッドとして活用するコンテンツはロケールごとにlocalStorageに保存されるため、アカウントやリモート保存なしにページリフレッシュ後も下書きが残ります。レンダリング、構文ハイライト、HTMLサニタイズはすべてブラウザ内で行われるため、未完成のリリースノート、社内のインシデント分析、未公開の機能説明はデバイス上に留まります。文字数、単語数、行数は入力中にリアルタイムで更新されるため、簡潔なチェンジログエントリの準備や記事の抜粋を目標の長さに調整する際に役立ちます。
コンテキストを同期しながら長いドキュメントを編集するエディタはカーソルの行と列を追跡し、Tabにスペースを挿入し、ソースペインとプレビューペインのスクロール位置を同期します。これにより、レンダリングされたセクションとソースセクションを揃えておく必要がある dense なMarkdownの修正がより快適になります。
CommonMarkとGFMのレンダリングモードを切り替えるGitHub Flavored Markdownを切り替えてテーブル、タスクリスト、自動リンクのレンダリングを確認したり、独自のフレーバーを持つ静的サイトジェネレーター向けに厳密なCommonMarkに切り替えたりできます。プレビューペインで公開前に違いを視覚的に確認できます。CommonMarkは元のMarkdown文法のネストリストのインデントやインラインコードの境界に関する曖昧さを解決し、GFMはそのベースにパイプテーブル、`~~取り消し線~~`、`- [ ]`タスクリスト、自動リンクURLを拡張します。同じソースでもレンダラーが実装する仕様によって異なるHTMLが生成されます。
CMSへの貼り付け用にレンダリングされたHTMLをコピーするWordPress、Confluence、または貼り付けHTMLを受け付ける他のエディタにドラフトを移行する際に、生のHTML出力を使用します。見出し、リスト、テーブルを手作業で再フォーマットする手間が省け、Markdownソースは正式な記録として残ります。GFMテーブルの列配置は2行目のコロン配置を使用します(`:---`左、`---:`右、`:---:`中央)。この構文はCommonMarkには含まれないため、同じソースも厳密なCommonMark専用エンジンでは段落としてレンダリングされます。フェンス付きコードブロックは```tsや```pythonのような言語ヒントを受け付け、highlight.jsがその文法リストと照合します。本文が後に定義される`[^1]`のような脚注参照は、レンダラーがその拡張を実装している場合にのみ動作します。

仕組み

Markdownのレンダリングは通常3つのステップで構成されます。まずトークナイザーがテキストを見出し、段落、リスト、コードブロックなどの構文単位に分割し、次にパーサーがトークンストリームを文法規則に従って抽象構文木(AST)に変換し、最後にレンダラーがASTを走査して対応するHTMLを出力します。代表的なJavaScriptライブラリにはmarked、markdown-it、remark、micromarkがあり、バンドルサイズ、速度、拡張性は異なりますが、いずれもCommonMark仕様に従います。 CommonMarkは元のMarkdown文法の曖昧さ(ネストリストのインデント方法やインラインコードの境界の見つけ方など)を解決し、異なる実装が同じ結果をレンダリングできるようにしました。CommonMarkの上にGitHubがGFM(GitHub Flavored Markdown)を追加しました。GFMはテーブル、タスクリスト(- [ ])、取り消し線(~~)、自動リンク、フェンス付きコードブロックを追加し、現在では事実上の標準となっています。ほとんどの現代的なMarkdownツールはデフォルトでGFMを有効にしています。 コードブロックのシンタックスハイライトは通常highlight.jsまたはPrism.jsで行われ、レンダリング時に言語タグを認識してキーワード、文字列、コメントにCSSクラスを付与し、テーマが色を適用します。ユーザーが提供したHTMLによるXSSを防ぐため、レンダラーは出力をDOMPurifyや同様の許可リストフィルターに通し、script、iframe、on*イベント属性を除去します。これにより、他人のMarkdownを貼り付けても悪意あるスクリプトが実行されることはありません。

  • 解析フロー:生テキストはTokenizer → Parser → Rendererを経てHTMLとなり、ASTが中間表現として使用されます。
  • 標準:CommonMarkが公式文法であり、GFMはそれにテーブル、タスクリスト、取り消し線、フェンス付きコードブロック、自動リンクを追加拡張します。
  • ライブラリ比較:markedは小型で高速、markdown-itは豊富なプラグイン生態系を持ち、remarkはunified生態系上にありドキュメント処理パイプラインに適しています。
  • シンタックスハイライト:highlight.jsまたはPrism.jsがコードブロックの言語タグを解析時に読み取り、キーワード、文字列、コメントにCSSクラスを付与します。
  • XSS対策:DOMPurifyなどのライブラリが出力HTMLを許可リストでフィルタリングし、script、iframe、on*イベント属性を除去してスクリプト注入を防ぎます。
  • ライブプレビュー:エディタは入力イベントをリッスンし、各変更をデバウンスして再解析し、diffで右側のDOMを更新することで応答性とパフォーマンスのバランスを取ります。

使用例

見出し、リスト、コードブロック

# 見出し 1

## 見出し 2

- リスト項目 A
- リスト項目 B
  - ネストされた項目

```javascript
function hello() {
  console.log('Hello Markdown');
}
```

テーブル

| ツール  | 種類    | サイズ |
|---------|--------|------|
| Vite    | Build  | 小  |
| Webpack | Build  | 大  |
| Rollup  | Bundle | 中  |

引用とリンク

> 「Markdown は執筆をコンテンツそのものに立ち返らせる。」
> -- John Gruber

参考: [CommonMark Spec](https://commonmark.org)

よくある質問

対応しているMarkdownの方言はどれですか?

ほとんどのビルドはCommonMarkに加えて、GitHub Flavored Markdownの拡張(テーブル、取り消し線、タスクリスト、言語ヒント付きフェンス付きコードブロック)に対応しています。$math$ブロック用のMathJax/KaTeX、図表用のMermaidを含むものもあります。利用可能な機能はツールバーで確認してください。

ドキュメントはアップロードされますか?

いいえ。Markdownの解析とレンダリングは、JSライブラリ(一般的にmarkdown-itまたはremark)を使用してブラウザ内で行われます。下書きがデバイスから外に出ることはありません。

ライブプレビューはどのように動作しますか?

入力するたびにソース側のペインが解析され、プレビュー側のペインにHTMLとしてレンダリングされます。スクロール同期は段落の位置を一致させて2つのペインを揃えます。ほとんどのビルドはフルスクリーンや左右並列表示の切り替えにも対応しています。

ドキュメントをエクスポートできますか?

はい。.md(生のソース)、HTML(レンダリング済み、Webページに埋め込み可能)、PDF(ブラウザの印刷エンジンで出力)として保存できます。PDF出力では見出し、リスト、コードブロック、埋め込み画像が保持されます。ピクセル単位で正確なPDFが必要な場合は、HTMLを実際のワードプロセッサに貼り付けてください。

タブを閉じても下書きは保存されますか?

ほとんどのビルドはlocalStorageに自動保存するため、同じブラウザで再度開けば下書きが復元されます。プライベートウィンドウを閉じたりサイトデータを消去すると消えます。確実な保存のためには、定期的に.mdファイルとしてファイルシステムやgitリポジトリにエクスポートしてください。

画像を貼り付けるとアップロードされますか?

一部のエディタは貼り付けた画像をインラインのbase64として保存します(Markdownソース内に表示されます)。他のエディタは画像ホストにアップロードします。ページの動作を確認してください。プライバシーが重要な場合は、まず画像をファイルシステムに保存し、相対パスで参照することをおすすめします。

テーブル、数式、図表を挿入できますか?

GitHub Flavored Markdownのテーブル(| col1 | col2 |)はどこでも動作します。数式ブロック($x^2$)やMermaid図(```mermaid)は明示的なサポートが必要です。ツールバーにボタンがあるか確認してください。対応している場合、プレビューにライブで描画されます。

関連ツール

テキスト比較ツール

オンラインテキスト比較ツール。2つのテキストの差異をハイライト表示。行単位比較で、追加、削除、変更内容を素早く特定。

文字数カウントツール

オンライン文字数カウントツール。文字数、日本語文字数、英単語数、段落数、読書時間をリアルタイム集計。ライティング必須アシスタント。

正規表現テストツール

オンライン正規表現テストツール。リアルタイムマッチング、結果をハイライト表示。よく使う正規表現ライブラリ対応、正規表現のデバッグと検証に役立ちます。

Mermaid エディタ

オンラインMermaid図表エディタ。フローチャート、シーケンス図、クラス図、状態図、ER図、ガントチャート、円形図、マインドマップ、ユーザージャーニーマップを作成。リアルタイムプレビューとPNG/SVGエクスポート対応。

JSON フォーマットツール

オンラインJSONフォーマットツール。シンタックスハイライト、エラー検出、圧縮・美化をサポート。ワンクリックでJSONデータを美化し、フォーマットエラーを素早く特定し、開発効率を向上させます。

大文字小文字変換ツール

オンライン大文字・小文字変換ツール。キャメルケース、スネークケース、ケバブケース、定数など複数命名フォーマットの相互変換。プログラマー必須、ワンクリックで変数名フォーマットを変換。