| 概要 | ページ読み込み時にフォーラム全体に全画面のカバー画像を表示する Discourse テーマコンポーネントです。 | |
| リポジトリ | GitHub - communiteq/discourse-tc-fullscreen-coverimage · GitHub | |
| インストールガイド | テーマまたはテーマコンポーネントのインストール方法 | |
| Discourse テーマが初めての方へ | Discourse テーマの使い方に関する入門ガイド |
このテーマコンポーネントをインストール
ページ読み込み時にフォーラム全体に全画面のカバー画像を表示する Discourse テーマコンポーネントです。
元々は政府機関向け(「このサイトは押収されました」のような表示)に開発されましたが、メンテナンス通知、スプラッシュスクリーン、イベント告知など、あらゆる用途に汎用的に使用できます。
仕組み
ページ読み込み時に画像が画面中央にレンダリングされ、アスペクト比を維持したまま (object-fit: contain) 可能な限りビューポートを埋めるように拡大されます。画像外の残りの領域は、設定可能な背景色で埋められます。
オーバーレイは、以下のいずれかの条件が先に満たされたときに消去されます。
- 設定された秒数が経過した、または
- ユーザーが設定された回数オーバーレイをクリックした。
いずれかの値を 0 に設定すると、そのdismiss方法が無効になります。
設定
| 設定 | 型 | デフォルト | 説明 |
|---|---|---|---|
cover_image |
upload | (なし) | 全画面表示する画像 |
trigger_after |
string | (なし) | オーバーレイが有効になる ISO-8601 UTC 日時(例:2026-04-01T08:00:00Z) |
display_seconds |
integer | 5 |
自動dismissまでの秒数(0 = 無効) |
dismiss_on_clicks |
integer | 3 |
dismissに必要なクリック回数(0 = 無効) |
background_color |
string | #000000 |
画像外の領域の CSS 色 |
Cookie の動作
訪問者がオーバーレイをdismiss(タイマーまたはクリックにより)すると、trigger_after 値を記録する tc_coverimage_seen という名前の Cookie が設定されます。trigger_after が新しい値に変更されるまで、オーバーレイは再度表示されません。変更されると、すべての人の「既読」状態がリセットされ、次のページ遷移時に再度表示されます。
例
trigger_after: "2026-04-01T00:00:00Z"、display_seconds: 0、dismiss_on_clicks: 1 に設定すると、4 月 1 日の UTC 0 時にアクティブ化する単一クリックのスプラッシュ画面となり、各訪問者は 1 回しか表示されません。
もちろん、このテーマコンポーネントは政府機関向けに開発されたものではなく、オープンソース化してくれた @WorldIsMine さん向けに開発されたものです ![]()
