Workflowyをマークダウンで出力するショートカット
アウトライナーアプリの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階層と同じ扱いになってしまいます。
ショートカットの流れ
- 共有シートからWorkflowyのデータを受け取ります。共有シートの使い方は後で説明します。
- リスト形式のデータに変換します。
- リストの最初のデータをタイトルとして取り出します。
- リストの2番目から最後までのデータを結合してリッチテキストに変換します。
- 変換後、テキストの先頭の記号と空白「• 」をマークダウン記法の見出し「##」に置き換える。
- 同様に、テキスト先頭の記号と空白「◦ 」を小見出し「###」に置き換える。
- さらに、テキスト先頭の記号と空白「▪ 」を「」に置き換える。何もないということです。
- 最後は、タイトルと変換したデータをつなげてメモアプリに出力する。
下記の画像がショートカットの画面になります。
ショートカット作成時に間違えやすい所
このショートカットを作るときに分かりづらい箇所が2つあるので、ご紹介します。
その1 リッチテキスト
画面のStep3のうち、上から3番目のリッチテキストの変換方法です。
iOS15.1のショートカットアプリでは、リッチテキストの作成する際、「マークダウンからリッチテキストを作成」というアクションと、「HTMLからリッチテキストを作成」というアクションがあります。
今回のショートカットでは、「マークダウンからリッチテキストを作成」というアクションを採用してください。
「HTMLからリッチテキストを作成」は正しく処理されません。
その2 先頭の記号と空白
Workflowyをマークダウンに変換するには、WorkflowyのデフォルトのExport機能のうち、「Formatted」の出力形式を利用します。
Formattedでは、階層ごとで先頭の記号が異なっています。
この記号をマークダウンに変換する際に、記号直後の空白も変換対象にする必要があります。
Workflowyから共有シートを使う方法
iOS15.1でのWorkflowyアプリ「バージョン3.12」を使って説明します。
- 階層構造になっているWorkflowyのデータから、タイトルにしたい項目の左端の丸をタップします。
- 画面が切り替わり、タイトルが最上段に表示され、下の階層データが表示されます。
- タイトルを左にフリックすると、メニューが表示されるので、1番左のアイコンをタップします。
- 表示されるメニューから”Share content”をタップします。
- 画面をスクロールすると、作成したショートカットのタイトルがあるので、それをタップするとショートカットが起動します。
出力結果と今後の機能拡張
前述の画面のとおりにショートカットを作成すると、出力結果がメモアプリ内に保存されているはずです。
タイトルは問題なく表示されます。
見出しになるマークダウン「##」や「###」も正しく表示されます。
ただし、見出し2「##」の下の階層はすべて、見出し3「###」になってしまいます。
つまり、見出し2の下に段落を設定することができません。
次回の投稿ではこの問題を解決したいと思います。