Expand description
<iframe> の代替表示(純粋モジュール): 埋め込み先 HTML の OGP からタイトル・説明・画像を読む。
【2026-10-03】AtmOS は入れ子のブラウジングコンテキスト(iframe の中で別ページを動かすこと)を
まだ持たない。sugi-lab.net/smarthome.htm の Microsoft Sway 埋め込みは大規模な JS アプリで、
中身を実行しても表示できない。一方、埋め込みページの <head> には OGP
(og:title・og:description・og:image)があり、Chrome で Sway が最初に見せる画面
(タイトルと説明文)と同じ内容である。そこで iframe の中身の HTML を取得し、ここで
OGP を読んで「タイトルと説明文のカード」として枠内に描く(地図の osm_embed と同じ考え方の、
iframe 一般に効く縮退表示)。
属性値は引用符あり・なし(Sway は content=Website のように省略する)の両方を受け付け、
文字参照(& 等)は戻す。OGP が無ければ <title> と <meta name=description> を使う。
Structs§
- Preview
- 代替表示に使う情報。
Functions§
- attr 🔒
- end_
forbidden 🔒 - 行末に置かない文字(開き括弧)。
- parse_
attrs 🔒 - タグ 1 個(
<の直後から>の手前まで)の属性を (小文字名, 値) で返す。 - parse_
preview - HTML から代替表示の情報を読む。タイトルも説明も無ければ None。
- squash 🔒
- 連続する空白を 1 個にまとめ、前後を落とす。
- start_
forbidden 🔒 - 行頭に置かない文字(句読点・閉じ括弧)。
- wrap_
lines - 説明文を幅
max_wで折り返した行の列。文字幅はadvで測る(描画側はフォントの送り幅を渡す)。 折り返し規則は本文と同じline_break::break_positions。行頭・行末の空白は落とす。