アウトライナーアプリのWorkflowyに書いた文章をマークダウンで出力する方法の紹介です。iOS 15.1のショートカットアプリで作成しています。

アウトライナーとは

アウトライナーアプリは、テキストを入力するという点では、iPhoneのメモアプリに代表されるテキストアプリと差はありません。

しかし、アウトライナーは2つの点でメモアプリと大きく異なります。

第一に、見出しより下の階層の文章を非表示にする機能(折りたたみ機能)があります。

下の階層の文章を非表示にすることで、見出しだけを表示できるので、全体の概要を把握しやすくなります。

第二に、メモアプリの編集機能では「段落単位」で文章を移動できるが、アウトライナーは「見出し単位」や「小見出し単位」で移動する機能があります。

つまり、見出し単位や小見出しの単位に折りたたんだ文章を、折りたたんだまま移動できるので、1章と2章を入れ替える時などに大変便利です。

アウトライナーWorkflowyの特徴

数あるアウトライナーアプリのうち、Workflowyの特徴は次のとおりです。

  • クラウドに保存されるので、どんなデバイスからも編集可能
  • 機能が少なく、初心者でも操作が容易
  • 1月あたり250項目までは無料で利用可能

なお、250項目を超えると、課金を促すメールがどんどん届きます。

メールが届くだけなので、使い続けることは可能ですが、かなりストレスを感じるでしょう。

Workflowyの出力機能

他のアウトライナーアプリに比べて、シンプルな分、機能が少ないです。

メニューの「Export」のフォーマットは下記のとおりです。

  • Formatted
  • Plain text
  • OPML

マークダウンでExportする機能はありません。

Workflowyに機能を付け加えることができるHandyflowyというアプリがあります。課金するとマークダウンでExportする機能がありましたので、使ってみましたが、動作が不安定でした。

WorkflowyのメニューにあるShareからコピーを選択すると、クリップボードに保存されるデータは「Formatted」と同じです。

今回のショートカットは、この「Formatted」の特徴を利用して、マークダウンに変換する処理を組み立ていきます。

ショートカット利用の前提条件

Workflowyに次のとおり記載されていることが条件となります。

  • 第1階層が「タイトル」になるよう記載している。
  • 第2階層は、「見出し」として記載している。
  • 第3階層は、「小見出し」として記載している。
  • 第4階層は、「段落」として記載している。

なお、第5階層以降を作成してあっても、第4階層と同じ扱いになってしまいます。

ショートカットの流れ

  1. 共有シートからWorkflowyのデータを受け取ります。共有シートの使い方は後で説明します。
  2. リスト形式のデータに変換します。
  3. リストの最初のデータをタイトルとして取り出します。
  4. リストの2番目から最後までのデータを結合してリッチテキストに変換します。
  5. 変換後、テキストの先頭の記号と空白「• 」をマークダウン記法の見出し「##」に置き換える。
  6. 同様に、テキスト先頭の記号と空白「◦ 」を小見出し「###」に置き換える。
  7. さらに、テキスト先頭の記号と空白「▪ 」を「」に置き換える。何もないということです。
  8. 最後は、タイトルと変換したデータをつなげてメモアプリに出力する。

下記の画像がショートカットの画面になります。

ショートカット作成時に間違えやすい所

このショートカットを作るときに分かりづらい箇所が2つあるので、ご紹介します。

その1 リッチテキスト

画面のStep3のうち、上から3番目のリッチテキストの変換方法です。

iOS15.1のショートカットアプリでは、リッチテキストの作成する際、「マークダウンからリッチテキストを作成」というアクションと、「HTMLからリッチテキストを作成」というアクションがあります。

今回のショートカットでは、「マークダウンからリッチテキストを作成」というアクションを採用してください。

「HTMLからリッチテキストを作成」は正しく処理されません。

その2 先頭の記号と空白

Workflowyをマークダウンに変換するには、WorkflowyのデフォルトのExport機能のうち、「Formatted」の出力形式を利用します。

Formattedでは、階層ごとで先頭の記号が異なっています。

この記号をマークダウンに変換する際に、記号直後の空白も変換対象にする必要があります。

Workflowyから共有シートを使う方法

iOS15.1でのWorkflowyアプリ「バージョン3.12」を使って説明します。

  1. 階層構造になっているWorkflowyのデータから、タイトルにしたい項目の左端の丸をタップします。
  2. 画面が切り替わり、タイトルが最上段に表示され、下の階層データが表示されます。
  3. タイトルを左にフリックすると、メニューが表示されるので、1番左のアイコンをタップします。
  4. 表示されるメニューから”Share content”をタップします。
  5. 画面をスクロールすると、作成したショートカットのタイトルがあるので、それをタップするとショートカットが起動します。

出力結果と今後の機能拡張

前述の画面のとおりにショートカットを作成すると、出力結果がメモアプリ内に保存されているはずです。

タイトルは問題なく表示されます。

見出しになるマークダウン「##」や「###」も正しく表示されます。

ただし、見出し2「##」の下の階層はすべて、見出し3「###」になってしまいます。

つまり、見出し2の下に段落を設定することができません。

次回の投稿ではこの問題を解決したいと思います。