/ #workflowy 

WorkFlowyをMarkdown/HTMLへ変換するChrome拡張 — Porter for WorkFlowy

#### はじめに

ここ1年ほどWorkFlowyWorkFlowyというアウトライナーを文章や議事録の作成、ひとりブレストなどに使っています。

操作性が良く動作も快適で、年間約$50のプロアカウントにしたほど気に入っているのですが、作ったデータを他のアプリで使おうとした場合、標準ではOPML/Plain Text/Formattedのいずれかのフォーマットでしかエクスポートできません。

個人的にMarkdownやHTMLで出力したいことが多く、WorkFlowyのアウトラインをMarkdownとHTMLで出力するChrome拡張を作りました。

Porter for WorkFlowy

使い方

ChromeウェブストアからChrome拡張をインストールします。

WorkFlowyでエクスポートしたいノードにズームインします。

アドレスバーに表示されているPorter for WorkFlowyのアイコンをクリックすると、ポップアップが開きます。

ポップアップ画面では出力フォーマット(Markdown/HTML)と出力モード(Heading/Bulleted/Numbers)を選択できます。(出力モードは後述します)

画面中のラジオボタンをクリックすると、テキストエリアに指定したフォーマット、出力タイプのテキストが表示されますのでコピペしてご利用ください。

出力モードとは

出力モードにはHeading/Bulleted/Numbersがありますが、意味的にはHeadingとBulleted/Numbersの2パターンにわかれます。

Heading

HeadingはWorkflowyでブログや技術系のメモなど、見出しつきの構造を持つ文章を作成することを想定したモードです。以下のルールでアウトラインを変換します。

  • 子供がいるノードは見出しに変換する。
  • 見出しのレベルはアウトラインの階層に応じて変換する。
  • 子供がいないノードはそのまま出力

いまいち、わかりにくいかもしれませんが、このブログエントリ自体もWorkflowyで作成し、PorterでHTMLへ変換しました。

こちらでアウトラインを公開していますのでご参考まで。

Bulleted/Numbers

Bulleted/Numbersはすべてのノードをリスト要素として扱います。アウトラインの階層をそのままリストの階層に変換します。WorkFlowyで見たままの構造が出力されるイメージです。

Bulletedは番号なしリスト(HTMLではul、Markdownでは#)、Numbersは番号付きリスト(HTMLではol、Markdownでは1.)に変換します。

注意事項

閉じているノードの配下は出力されません。

全てを出力したい場合は、WorkFlowy上ですべてのノードを開いてから、Porter for WorkFlowyを起動してください。

おわりに

ソースコードはhtakeuchi/porterで公開しています。

今回、必要にかられて初めてChrome Extensionを作りましたが、WorkFlowyのAPIが公開されればもっと面白いことができそうです。

Edit(Admin)