CSS から読み取るためのデータを SVG として返す API。応答は 3 つのチャンネルに分かれる: info(値を SVG の寸法にエンコード)、view(表示用テキストを画像として返す)、post(フォーム POST を受け付ける)。以下では機能ごとに、その機能が持つ各チャンネルのエンドポイントをまとめている。
現在日時。アクセス元のタイムゾーン・ロケールに対応する。
/info/datetime/clock現在時刻。SVG 内で animate し、時計のように進む。
使用例:
/info/datetime/clock → 進み続ける時計
/info/datetime/current-time現在の時分秒(静的)。
使用例:
/info/datetime/current-time → 現在の時分秒
/info/datetime/current-date現在の年月日(静的)。
使用例:
/info/datetime/current-date → 現在の年月日
/info/datetime/current-day現在の曜日。月曜を 0 とした 0〜6。
使用例:
/info/datetime/current-day → 現在の曜日
/view/datetime/now現在日時を、人が読めるテキスト画像で返す。基準は常に現在時刻で、パラメータでずらして表示できる。
使用例:
/view/datetime/now?addhour=3&show=hour,minute&pad → 3 時間後の時分をゼロ埋めで表示
現在の天気(Open-Meteo)。lat / lon を省略するとアクセス元の現在地(取得できなければ東京)を使う。
/info/weather/temperature現在の気温。摂氏の10倍。
使用例:
/info/weather/temperature?lat=35.6895&lon=139.6917 → 236(23.6℃)
/info/weather/apparent-temperature現在の体感温度。摂氏の10倍。
使用例:
/info/weather/apparent-temperature → 291(29.1℃)
/info/weather/humidity現在の相対湿度(%)。
使用例:
/info/weather/humidity → 81
/info/weather/precipitation現在の降水量(mm)。
使用例:
/info/weather/precipitation → 0
/info/weather/probability現在の降水確率(%)。
使用例:
/info/weather/probability → 59
/info/weather/wind-speed現在の風速(km/h、四捨五入)。
使用例:
/info/weather/wind-speed → 12
/info/weather/weather-code現在の天気コード(WMO code)。0=晴れ、45=霧、51-67=雨、71-77=雪、95-99=雷雨など。
使用例:
/info/weather/weather-code → 3(曇り)
/info/weather/pressure現在の気圧(hPa、四捨五入)。
使用例:
/info/weather/pressure → 1013
/view/weather/now現在の天気を、人が読めるテキスト画像で返す。show で表示要素を選べる。
使用例:
/view/weather/now?show=weather,temperature,humidity → 快晴 23℃ 湿度81%
株価。東証銘柄は .T を付ける(例: 5244.T)。取引時間中は最大1分キャッシュ、時間外はキャッシュされる。
/info/stock/open/:symbol指定銘柄の始値。始値は確定後、翌9:05までキャッシュされる。
使用例:
/info/stock/open/5244.T → 171
/info/stock/high/:symbol指定銘柄の高値。取引時間中は最大1分キャッシュ。時間外はキャッシュされる。
使用例:
/info/stock/high/5244.T → 174
/info/stock/low/:symbol指定銘柄の安値。取引時間中は最大1分キャッシュ。時間外はキャッシュされる。
使用例:
/info/stock/low/5244.T → 170
/info/stock/close/:symbol指定銘柄の終値。取引時間中は最大1分キャッシュ。時間外はキャッシュされる。
使用例:
/info/stock/close/5244.T → 173
/view/stock/:symbol指定銘柄の株価を、人が読めるテキスト画像で返す。show で表示要素を選べる。取引時間中は最大1分キャッシュ。時間外はキャッシュされる。ただし show=open のみの場合は始値専用の長期キャッシュ(翌9:05まで)を使う。
.T を付ける(例: 5244.T)使用例:
/view/stock/5244.T?show=all → 始値171円 高値174円 安値170円 終値173円
cookie の読み書き。数値・カンマ区切りリスト操作つき。env 空間はサービスが管理する予約 cookie で、読み取り専用。
/cookie/view/:namecookie の値をテキスト画像で返す。数値でなくても、範囲外でもそのまま表示する。存在しなければ 404。
使用例:
/cookie/view/name → name の中身をそのまま表示
/cookie/set/:namecookie に値を書き込む(上書き)。
使用例:
/cookie/set/score?value=100 → score に 100 を書き込む
/cookie/delete/:namecookie を削除する。
使用例:
/cookie/delete/score → score を削除する
/cookie/number/get/:namecookie の値を数値として読んで返す。数値でない、または -8388607〜8388607 の範囲外なら 404。
使用例:
/cookie/number/get/score → score を数値で読む
/cookie/number/add/:namecookie の値に数値を加算する。存在しなければ 0 を基準に加算する。既存値または加算値が数値として読めなければ 400。範囲制限はなく、値はそのまま保持される。
使用例:
/cookie/number/add/count → count を 1 増やす
/cookie/number/add/count?value=10 → count を 10 増やす
/cookie/list/push/:namecookie を「,」区切りのリストとみなし、末尾に要素を追加する。既存が空(または存在しない)ときは区切りなしでそのまま書く。value 未指定なら何もしない。
使用例:
/cookie/list/push/fruits?value=apple → apple を追加(apple → apple,banana → ...)
/cookie/list/remove/:name「,」区切りリストから要素を 1 つ取り除く。value か index のどちらか一方を指定する(両方・皆無は 400)。value 指定なら最初に一致した要素、index 指定ならその位置(0 始まり、負で末尾から)。対象がなければ 404。
使用例:
/cookie/list/remove/fruits?value=banana → banana を取り除く
/cookie/list/remove/fruits?index=-1 → 末尾を取り除く
/cookie/list/includes/:name「,」区切りリストに指定要素が含まれるかを 1(あり)/ 0(なし)で返す。完全一致で判定する(部分一致しない)。value 未指定なら 400。
使用例:
/cookie/list/includes/fruits?value=banana → 含めば 1、なければ 0
/cookie/list/index/:name「,」区切りリスト内で指定要素が何番目かを返す(0 始まり)。見つからなければ 404。value 未指定なら 400。
使用例:
/cookie/list/index/fruits?value=banana → apple,banana なら 1
/cookie/list/at/:name「,」区切りリストの指定位置の要素をテキスト画像で返す。位置は 0 始まり、負なら末尾から(-1 が最後)。範囲外なら 404、index が数値でなければ 400。
使用例:
/cookie/list/at/fruits?index=1 → apple,banana なら banana
/cookie/list/at/fruits?index=-1 → 最後の要素
/cookie/env/view/:nameenv 空間(サービスが管理する予約 cookie)の値をテキスト画像で返す。env 空間は読み取り専用で、書き込み・削除はできない。存在しなければ 404。
使用例:
/cookie/env/view/comment.name → env 空間の comment.name を表示
/cookie/env/number/get/:nameenv 空間の値を数値として読んで返す。数値でない、または -8388607〜8388607 の範囲外なら 404。
使用例:
/cookie/env/number/get/count → env 空間の count を数値で読む
/cookie/env/list/includes/:nameenv 空間の「,」区切りリストに指定要素が含まれるかを 1(あり)/ 0(なし)で返す。完全一致で判定する。value 未指定なら 400。
使用例:
/cookie/env/list/includes/tags?value=vip → 含めば 1、なければ 0
/cookie/env/list/index/:nameenv 空間の「,」区切りリスト内で指定要素が何番目かを返す(0 始まり)。見つからなければ 404。value 未指定なら 400。
使用例:
/cookie/env/list/index/tags?value=vip → 見つかった位置
/cookie/env/list/at/:nameenv 空間の「,」区切りリストの指定位置の要素をテキスト画像で返す。位置は 0 始まり、負なら末尾から(-1 が最後)。範囲外なら 404、index が数値でなければ 400。
使用例:
/cookie/env/list/at/tags?index=0 → 先頭の要素
掲示板。フォーム UI は CSS 側が持ち、この API は投稿・名前変更の受け口と、一覧・投稿者名の表示画像を提供する。
/view/comment/listコメント一覧の最新20件を、デザインされた画像で返す。名前・日時・本文を表示し、本文は自動折り返し。日時は見る人のタイムゾーンで表示される。0件のときは「まだコメントはありません」と表示。
使用例:
/view/comment/list → 最新20件のコメント一覧
/view/comment/name現在の投稿者名をテキスト画像で返す。未設定なら「名無し」。
使用例:
/view/comment/name → 投稿者名を表示する
/post/commentコメントを投稿する。フォームの action 先として使う。投稿者名は cookie に保存された名前(未設定なら名無し)。成功すると referer へ 303 リダイレクトで戻る(referer 必須)。
使用例:
<form action="/post/comment" method="post"> に name="comment" の textarea を置いて送信
/post/comment/renameコメントの投稿者名を変更する。名前は cookie に保存され、以後の投稿に使われる。成功すると referer へ 303 リダイレクトで戻る(referer 必須)。
使用例:
<form action="/post/comment/rename" method="post"> に name="rename" の input を置いて送信
/heartbeatアクセスを打刻し、現在の同時接続数をテキスト画像で返す。
使用例:
/heartbeat → 同時接続数を表示する
/info/online-count現在の同時接続数。打刻はせず数だけ返す。
使用例:
/info/online-count → 現在の同時接続数
/info/random指定範囲の整数乱数(両端を含む)。
使用例:
/info/random?from=1&to=6 → 1 から 6 までの乱数を返す