Skip to main content

Module iframe_preview

Module iframe_preview 

Source
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 のように省略する)の両方を受け付け、 文字参照(&amp; 等)は戻す。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。行頭・行末の空白は落とす。