ホームページの生存証明
更新情報を生存証明とも言ってますよね。
個人ホームページは1ページずつ「ページを作る」ことになるので、毎日なにか放流してるSNSや、月に何度か(の予定の)ブログと違って、停滞してしまう。
なもんで、SNSやブログの最新情報を取得・表示させるようにしている。
このブログ「ひまつぶし雑記帖」はRSSを配信してる。
RSSは1.0系と2.0系があるけど、モノはXMLなのでやることは
1)RSSを取得する
2)XMLを解析する
3)必要なものを表示させる
の3段階。
RSSは枯れた仕様なのでGETでXMLを取得したらXML::SimpleあたりでXMLを解析して必要なもの「タイトル/リンク/概要」を引っ張り出してHTMLに整えて表示するだけ。
SNSのおひとり様ActivityPubサーバーはRSSなど配信していない。
ActivityPubの仕様にoutboxコレクションというのがあって、これはアクターの投稿を順番に並べたもの。新着順なので、これを取得すれば更新情報として使える。
1)アカウント情報からOUTBOXのURLを探す
2)OUTBOXのJSONを取得する
3)JSONを解析する
・OUTBOXがページャーだけだったら1ページめを取得する(2に戻る)
4)必要なものを表示させる
webfingerから辿ってアクター情報(アカウント情報)の中にあるoutboxのURLにGETリクエストを投げる。mimetypeを「application/activity+json」にすればJSONが返ってくる。
JSONを解析して必要なもの「タイトル/リンク/概要(投稿を文字数でトリム)」を引っ張り出してHTMLに整えて表示する。
こちらはRSSよりもひと手間かかる、かな。
ActivityPubのoutboxはRSSと同じように更新情報に使えるけど、発想や仕組みは別もの。
RSSの場合は広く告知するためにRSSを配信してるサイトならページのどこにでもRSSを取得取得できるリンクの記載があって、RSSリーダーに登録してね、と。
outboxの方はSNSで利用するためのもので、どこにあるのかわからない。アカウント情報→プロフィールページでわかるとはいえ、それ単体であちこちにリンクがあるわけではない。
outboxを要求された時にJSONを返すのかHTMLを返すのかリクエスト次第というのもRSSとは違うところ。
outboxについては個人ホームページの 「On Golden Pond」 のActivityPubページに追加する(予定)
今さらまた「ねこあつめ」2
このゲーム、猫と過ごしたことのあるひとが開発にいるよなあ。
猫は「そこにいてくれてありがとう」なんだよーーー
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」