mygems

Markdownのアウトラインをマインドマップにする方法

インデントしたリストはそのままツリー。変換は見え方の切り替えです。きれいに取り込めるアウトラインの書き方と書き出し方。

執筆: uos ·

インデントされたリストは、それだけでツリーです。マインドマップは、そのツリーを別の形で描いたものです。つまり変換というより、見え方を切り替えるだけです。対応しているツールはどれも同じ仕組みで動きます。インデント1段が、階層1段になります。

# Product launch
## Positioning
- Who it is for
- What it replaces
## Channels
- App Store
- Newsletter

これをインポートすると、中心ノードから2本のブランチが伸び、それぞれに子が2つ付きます。ドラッグも、レイアウトの判断も要りません。そのため、アウトラインを打ち込むのがマインドマップを作る最速の方法になります。描くよりずっと速く、ノードをドラッグして配置するよりはるかに速いです。

知っておきたい2つの形式

Markdown(マークダウン) はすでに手元にあるはずです。メモ、議事録、AIの出力、README。何かをインポートできるマインドマップアプリなら、Markdownは必ず読み込めます。

OPML はアウトライン用に作られたXMLで、利便性より構造を重視するときに使う形式です。往復しても壊れません。OPMLで書き出し、別のアプリで編集して、また読み込んでも、ツリーはそのままです。ノードごとのメモも持てますが、Markdownにはその置き場所がありません。ほとんどのアウトライナーが書き出せるので、ツール間の交換形式にもなります。

実用上のルールはこうです。アウトラインをマップにするならMarkdown、マップをアプリ間で移すならOPML。

きれいにインポートできるアウトラインの書き方

インポートの問題は、ほぼ次の4つのルールで防げます。

インデントの書き方を1つに決めて、守ってください。 同じ文書で見出し(#、##)とリストのインデントを混ぜると、インポーターごとに解釈が分かれます。見出しだけ、または入れ子の箇条書きだけで統一します。混ぜるなら、上の2階層は見出し、その下は箇条書きにすると、最も安定して読み込まれます。

スペースは2つか4つ、両方は使わない。 スペースだらけのファイルにタブが1つ混ざると、存在しない階層ができます。しかも目に見えません。ブランチが1段深く読み込まれたら、原因はたいていこれです。

1行に1つのアイデア、3〜5語まで。 長い行はパラグラフだらけのマップになり、手間が増えただけの文書になります。アウトラインを 読みやすい マップとして取り込むための心がけは、マップを価値あるものにする心がけと同じです。ラベルはアイデアを指し示すもので、説明するものではありません。

4階層で止める。 それより深いと放射状のレイアウトでは読めず、すぐに折りたたむ羽目になります。本当に6階層あるなら、3階層目以降は別のマップに分けて、相互リンクでつなぐほうがよいでしょう。

AIからマップを作る

これが最も効果の大きい使い方です。マップではなく、アウトラインを頼みます。どのモデルもMarkdownは上手に書けますが、開けるマインドマップのファイルは作れません。

Produce a Markdown outline of <topic>. Use "#" for the centre, "##" for
top-level branches, and "-" bullets below that, indented two spaces per
level. Maximum four levels. Each line is three to five words, no
sentences, no punctuation at the end. No preamble and no closing text.

最後の一文には意味があります。モデルは出力を「アウトラインをご用意しました!」という前置きと締めの段落で包みたがり、どちらもインポート時に余計なノードになるからです。

インポートする前に、次の3点を確認してください。モデルが決まって間違えるところです。子であるべき兄弟階層(並列の項目が1段高くなっている)、偏ったツリー(1つのブランチに子が12個、ほかの3つには2個ずつ。たいていはトピックの形ではなく、モデルの知識が尽きたことを意味します)、そしてでっち上げの具体情報です。これはほかの用途でも同じ注意点です。

Mind Map: Smart MindiPhone・iPad · Android

MarkdownとOPMLを読み込めます。アウトライン表示は双方向で、リストを打てばマップになり、マップを編集すればアウトラインも追従します。Markdown、OPML、PDF、PNG、HTML、プレーンテキストに書き出せるので、取り込んだものが閉じ込められることはありません。

できること

逆方向:マップからアウトラインへ

マップをMarkdownに書き出すと、アプリの外でもマップが使えるようになります。日常的にやっておく価値があります。

  • マップが文書の下書きになる。 アウトラインがそのままセクション構成で、順番も整っています。
  • マップがタスクリストになる。 Markdownのチェックボックスは、多くのタスクツールが読み込める形式です。
  • マップが持ち運べるようになる。 Markdownファイルは50年後でも読めます。独自形式のマップファイルは、そのアプリがある間しか読めません。

最後の点が、ここまで気にする本当の理由です。MarkdownとOPMLに書き出せるかどうかで、そのマインドマップアプリが考えるための場所になるか、データを失う場所になるかが決まります。本格的に使い込む前に確認しておきましょう。

アウトラインの形が合わないとき

インポートするとマップがうまくできず、直すべきは上流という場合が2つあります。

メモが構造ではなく文章である。 文章だらけのページをインポートすると、すべてのノードが段落のマップになります。まず抽出してください。主張、決定事項、疑問を取り出し、それをアウトラインにします。本当の作業は抽出で、インポートは手間がかかりません。

内容が階層ではなく順序である。 手順、年表、レシピなどです。インポート自体はできますが、見た目がおかしくなります。放射状のレイアウトでは、肝心の順序が失われるからです。直すのはアウトラインではなくレイアウトです。リニア表示やタイムライン表示に切り替えれば、同じツリーが正しく読めます。

相互リンクについて

MarkdownにもOPMLにも、ブランチ間のリンクは表現できません。そして、マップの価値の多くは相互リンクにあります。そのため、インポートで得られるのは階層までです。つながりは、あとから手で足します。

これは回避すべき制約ではありません。妥当な役割分担です。階層は機械的な部分なので、打ち込めば済みます。相互リンクは内容を理解していないと引けない部分で、リンクを引くことが、理解できているかを確かめることにもなります。

よくある質問

Markdownのアウトラインをマインドマップにするには?
Markdownを読み込めるマインドマップアプリにファイルをインポートします。インデント1段が階層1段になるので、アウトラインのツリーがそのままマップのツリーになります。インデントは統一し、見出しと入れ子の箇条書きは混ぜずにどちらか一方を使い、1行は数語に収めてください。手動のレイアウトは不要で、アウトラインを打ち込むのが通常はマップを作る最速の方法です。
マインドマップにはMarkdownとOPMLのどちらを使うべき?
すでにあるアウトラインをマップにするならMarkdownです。メモもAIの出力も文書も、もともとMarkdownで書かれているからです。マップをアプリ間で移すならOPMLです。アウトライン用に設計されており、往復しても構造が崩れず、Markdownにはできないノードごとのメモも持てます。
AIにマインドマップを作らせるには?
マップではなくMarkdownのアウトラインを頼み、形式を指定します。中心は「#」、第1階層のブランチは「##」、その下はインデントした箇条書き、最大4階層、1行は3〜5語、前置きと締めの文は不要、と伝えてください。そのアウトラインをインポートします。モデルはMarkdownを安定して書けますが、開けるマップのファイルは作れないので、アウトラインが受け渡しの接点になります。
アウトラインをインポートしたらインデントの階層がずれたのはなぜ?
多くはタブとスペースの混在が原因です。ほとんどのエディターでは見えず、実際にはない階層ができてしまいます。もう1つの原因は、同じ文書で見出しとリストのインデントを混ぜていることで、インポーターによって解釈が分かれます。ファイル全体で書き方を1つに統一してください。
マインドマップをMarkdownに書き出せますか?
ほとんどのマインドマップアプリは、Markdown、OPML、またはプレーンテキストのアウトラインに書き出せます。日常的に使う価値があります。書き出したアウトラインは、順番の整った文書のセクション構成にも、ほかのツールに取り込めるタスクリストにもなるからです。マップを持ち運べるかどうかも決まるので、アプリで本格的に作り込む前に確認しておきましょう。
アウトラインをインポートすると相互リンクは残りますか?
残りません。MarkdownにもOPMLにも、2つのブランチをつなぐリンクは表現できないため、インポートで得られるのは階層だけで、つながりはあとから足す必要があります。妥当な分担です。階層は機械的な部分なので打ち込めば済み、相互リンクは内容を理解しているかどうかに左右される部分です。

uos — Smart Mindを開発。リストを打ち込むのが今でもマップを描く最速の方法だから、アウトライン表示があります。