まあ誰が利用するという訳でもないんだけど、自分で過去の記事を確認するのが大変なので、Google Sitesを利用してこのブログのカテゴリ毎の記事まとめを作成した。
これ今のところ手動で更新するしか無いんだよな。。。カテゴリと記事の更新があれば、まとめサイトの更新も自動化できそうだけど。そのあたり調べてみよう。 まだカテゴリ毎のサブカテゴリでちゃんと整理出来ていないんだけど、時間をみてやります。
おまけ: はてなブログから記事リンクの一覧を取得する方法
これちょっとハマった。いつも通りruby のatomutilを使ってはてなブログの記事一覧を取得しようと思ったんだけど、良く見るとブログのリンクアドレスが編集用のアドレスになっていた。 確認しようとしたら間違えているのに気がついた。あぶないあぶない。
entry = feed.entries entry.each{|content| out_fp.printf("<ul><li><a href=\"%s\">%s</a></li></ul>\n", content.links[1].href, content.title) # content.links[0]は編集用のアドレス }
content.links[0].href
で取得できるのが以下:
https://blog.hatena.ne.jp/msyksphinz/msyksphinz.hatenablog.com/atom/entry/10328749687182581271
content.links[1].href
で取得できるのが以下:
http://msyksphinz.hatenablog.com/entry/2016/09/09/020000
全ソースコード
#!/usr/bin/env ruby # -*- encoding: utf-8 -*- require 'atomutil' POST_URI = "https://blog.hatena.ne.jp/msyksphinz/msyksphinz.hatenablog.com/atom/entry" auth = Atompub::Auth::Wsse.new( username: 'ユーザ名', password: 'パスワード' ) client = Atompub::Client.new(auth: auth) feed = client.get_feed(POST_URI); out_fp = File.open("output.txt", "w") while feed != nil do entry = feed.entries entry.each{|content| out_fp.printf("<ul><li><a href=\"%s\">%s</a></li></ul>\n", content.links[0].href, content.title) } if feed.next_link == nil then break else feed = client.get_feed(feed.next_link); end end out_fp.close