Markdown→ HTMLは普通ですが、一旦HTML化して保存してしまったブツをMarkdown形式にしたいと思って探して見つけた一つの方法です。
「url2markdown」というOSS(Python製)で出来ます。
変換したいだけなら、curl
コマンドで変換対象URL投げるだけでOKです。
先に書いておくと、変換は完璧では無いです。ただ、以下に書いた私の要件は満たせたので書いています。
目的
HTML形式→ Markdown形式に変換したい。しかもなるべく簡単に。
何でこんなことをやりたいのか?
以前、WordPressでブログを始めた際、「Markdown on Save Improved」というMarkdown→HTMLプラグインを入れて書いてたんですが、公開するとHTMLとして保存されてました。
でも、これだと、編集が超絶めんどくさいのと、そもそもWordPressも試しに始めただけなので、本格的にブログ始める前に、デフォでMarkdown使える&SEOも強いと言われる、はてなブログに乗り換えることにしました。
で、移行したんですが、その時点だと、やっぱり過去記事に関しては何も対応してないのでHTML形式で保存されたままです。
過去記事もちょっと編集したい時があったので、Markdown形式に変えたいなと思って探したのが今回記事内容のキッカケです。
色々探してみた
で、まず例によってググると色々出て来ます。
適当にひと通り軽く見てみて、楽に変換できそうな以下の記事に目をつけました。
記事には、日本語ダメと書いてましたが、私の環境だと何も意識せずいけました。
参考記事
私の要件(優先順位順)
- 当然、日本語変換出来ないとダメ
- インスコ不要(準備なし)がいい:上記日本語の前提外すと、この手軽さが最優先事項
- 完璧でなくてもいいんで、修正かなり少なくて済むぐらいには変換してくれる
試した環境
他は試してません。すいません。
- OS:OSX 10.9.1
- 必要なモノ:curl
やり方
では、やり方です。
$ curl http://url2markdown.herokuapp.com/?url=[変換対象URL(つまりHTML)]
これだけ。超簡単ですね。
ただ、これだとコンソールにダラっと変換結果が出力されるだけなので、普通に考えるとファイルにリダイレクトしたり、ある程度まとまった量を一度に変換かけるならシェル等のプログラムに噛ませば良いと思います。
使用例
これは、私が書いたブログ記事をMarkdown形式に変換して、ファイルに出力する例です。
$ curl http://url2markdown.herokuapp.com/?url=http://humangas.hatenablog.jp/entry/2014/01/22/193847 > ~/Desktop/test.md
感想
うーん、どうでしょう。
上記例の結果を自分で書いたMarkdownファイルと比べてみましたが、いくつか情報が抜け落ちてるのと、若干形式がおかしいですね。。。
ここまで読ませといて最後にそんなガッカリしたこと書くなよ。て感じですが、どうせワンタイムでしか使わないし、だいたい変換出来てて、後はちょっと手修正入っても良いぐらい思ってる自分にとっては、まぁ使えるかなという感覚でした。
完璧な変換を求める方にはオススメ出来ません。
ただ、HTMLの形式や、サイトの構成によっては、もうちょっと綺麗に変換がかかるかもしれません。
そこまで試してはいないです。すみません。