東京生まれHOUSE MUSIC育ち

悪そうな奴はだいたい友達なの?

golangでhtmlをmarkdownに変更する


スポンサードリンク

このブログは過去、livedoorで書いてました。その時代、htmlのタグを打って記事を書いてました。

ただ、htmlタグがある状態だと、記事のメンテをしにくいので、html形式をmarkdown形式に変更します。

golangをかじっているので、golangでhtmlをmarkdownに変更してみます。

html2mdでやってみる

githubを探すと、以下のようにhtmlをmarkdownに変換するライブラリがありました。

github.com

実際に使ってみる

簡単なコードを書いてみます。

html.htmlというhtmlタグで記述されたファイルを読み込み、html2md.Convert()でmarkdownに変換するという簡単なコードです。

package main

import (
    "fmt"
    "io/ioutil"
    "log"

    "github.com/lunny/html2md"
)

func main() {
    html, err := ioutil.ReadFile("html.html")
    if err != nil {
        log.Fatal(err)
    }
    md := html2md.Convert(string(html))
    fmt.Println(string(md))
}

困ったのは、md := html2md.Convert(string(html))の部分でした。

読み込んだhtmlを変換するのに、stringで変換しないと以下のようなエラーが出てしまうので、stringを使用して変換しました。

cannot use html (type []byte) as type string in argument to html2md.Convert

「見たまま」編集モードで諦めた

これでまとめてmarkdownに変換しようと計画しました。

しかし、やっかいなことがありました。

それは、はてなブログの「見たまま」編集モードです。記事がこのモードになっていると、後で変更ができないのです。

というわけで、まとめてmakrdownに変更することは諦めました。

編集モードを後で変更できるようにしてくれれば、良いのですが。。。