はじめに
最近、何でもかんでもMarkDownでメモする習慣が身につきました。仕事もプライベートも全部MarkDownになりました。個人的に2018年の大きな変化だと思います。
手元にMarkDownファイルが増えてきたため、さらに活用する幅広げたいと思い、pandoc
をインストールしてみました。
できるようになりたいこと
- MarkDownでメモしたセミナー内容を、Wordで出力して報告書にしたい
- MarkDownファイルのままでいいやんけ、、、と思わなくもないですが、業務参加したセミナー報告の場合は、Wordファイルのほうがちゃんと仕事してる感があるようです。
- MarkDownで設計書を書きたい
- もう、Excelで設計書書くのはやめたい。。。
- 同じことを考えている人もいるようだ。
pandocとは?
.md
のMarkDownファイルを、Wordの.docx
や、PDFに変換することができるツールです。公式ページはこちら。
日本語版のユーザーズガイドも用意されています。ただし、翻訳されたのが2014年なので注意が必要です。
Pandoc ユーザーズガイド 日本語版 - Japanese Pandoc User's Association
試した環境
- Windows10 pro 64bit
- pandoc 2.2.2.1
インストール方法
- 以下から、
.msi
ファイルをダウンロードします。zip
だとパスが通らないため、.msi
形式のほうがおすすめです。
ダウンロードしたインストーラを起動してインストールします。
- 同意するだけでOKです。
インストールが完了します。
【動作確認】MarkDown→Wordへの変換
MarkDownからWordへの変換を試してみます。 サンプルのMarkDownは、以下のQiita記事を参考にしました。
- ローカルの任意のフォルダに、MarkDownファイルを配置します。
pandoc
コマンドを実行します。
> cd .\pandoc_test\ > pandoc .\sample.md -t docx -o sample.docx
見事にWordファイルに変換されました!すごい!!
--toc --highlight-style=zenburn
をつけると、目次が付与されるようです。
> pandoc .\sample.md -t docx -o sample2.docx --toc --highlight-style=zenburn
【動作確認】WordからMarkDownへの変換
続いて、逆も行けるのかやってみます。
以下のQiitaの記事を参考にしてみましたが、raw_html,native_divs,native_spans
を指定するとエラーになりました。
結局、フォーマットは指定せずにやってみたところ、成功しました。
> pandoc .\sample.docx -o sample.md
出力されたMarkDownファイルです。 オリジナルと比べると、Rubyのコード記述の部分が変わっていますが、内容は欠落していないように見えます。これもすごいですね。
A First Level Header ==================== A Second Level Header --------------------- Now is the time for all good men to come to the aid of their country. This is just a regular paragraph. The quick brown fox jumped over the lazy dog's back. ### Header 3 > This is a blockquote. > > This is the second paragraph in the blockquote. This is an H2 in a blockquote {#this-is-an-h2-in-a-blockquote .BlockText} ----------------------------- Some of these words *are emphasized*. Some of these words *are emphasized also*. Use two asterisks for **strong emphasis**. Or, if you prefer, **use two underscores instead**. - Candy. - Gum. - Booze. 1. Red 2. Green 3. Blue - A list item. <!-- --> - With multiple paragraphs. <!-- --> - Another item in the list. This is an [example link](http://example.com/). `ruby def hello puts "Hello, world!" end \`
使ってみた感想
- 想像以上に便利!!
- 欠落する情報がない
- 既存のWordファイルをMarkDownに変換して、様子を見たい
- 書式をガシガシ使っていると、どうなるか気になる
- MarkDownで設計書が作れそうな気がしてきた
- JavaDocでAPI設計書を作るよりも楽。
おわりに
ということで、今回はpandoc
に関する記事を書きました。いやー、想像以上にきちんと変換してくれて、欠落する情報もなさそうでテンション上がりました。MarkDownファイルの資産の活用が捗りそうです!