😀

はてなの記事をZenn形式のMarkdownで保存して管理する

2020/10/12に公開

※この記事ははてなブログからインポートされました

概要

Zenn で記事を GitHub に管理しているのですが、ここに はてなブログで書いた記事も加えたくて、はてなブログの記事を Zenn 形式で保存するコマンドを作りました。

blogsync というライブラリを利用させてもらいました。

[https://github.com/x-motemen/blogsync:embed:cite]

インストール

GO111MODULE=on go get -u github.com/ikawaha/zenn-importer

使い方

Zenn と連係しているレポジトリの articles の配下で以下を実行します。

$ zenn-importer hatena -blog ikawaha.hateblo.jp -user ikawaha -apikey **** -verbose
Go module の最大サイズ 500MB に挑む
形態素解析器 kagome v2 をリリースした
備忘:heroku で go.mod 環境のアプリをデプロイする
Goa v3 でサービスメソッドに到達する前に発生するエラーをカスタマイズする
Goa v3 の入力と出力のバリデーション
Goa v3 における Trailing Slash 問題を整理する
Goa v3 でレスポンスをXMLにしたときトップレベルのタグを指定したい
Goa v3 のサービスメソッドを単体テストする
Goa v3 の HTTPトランスポートの Payload どうしてます問題
GoLandでEmacsキーバインドにしているとTabが入力できない
Rust の開発環境を整える
Goa v3 で application/x-www-form-urlencoded を使う
Goa v3 で Default は required な Attribute には効かない
2019年買い物ふりかえり
...snip

パラメーター

キー
blog はてなブログのアドレス部分 ikawaha.hateblo.jp
user はてなのユーザーID ikawaha
apikey はてなでAtomPubキー と呼ばれるAPIキー http://blog.hatena.ne.jp/my/config/detai で発行可能
$ ls
hatena-20150130-174538.md	hatena-20160420-145940.md	hatena-20190618-113513.md
hatena-20150131-103558.md	hatena-20160520-155504.md	hatena-20190628-095922.md
hatena-20150202-231030.md	hatena-20160907-175820.md	hatena-20190907-163335.md
...snip

記事は公開しない状態で作成されます。また、絵文字は決め打ちになっています。

制限

  • 記事中の画像はダウンロードできません
  • タイトルは60文字までで切り取られます
  • Markdown で書いてない記事や、埋め込まれた HTML 様のものはそのまま抽出されます
    • リンクの埋め込みなど、Markdown でない記法もそのままです

公開記事は、公開する前に上記の点など一度目を通し下さい。

Happy hacking!

Discussion