ホームページの生存証明

2024/12/8 [11:34:11] (日) 天気

更新情報を生存証明とも言ってますよね。

個人ホームページは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

image

このゲーム、猫と過ごしたことのあるひとが開発にいるよなあ。

猫は「そこにいてくれてありがとう」なんだよーーー

<<2026/1>>
    123
45678910
11121314151617
18192021222324
25262728293031
検索:

【最近の20件】