フルスクリーン表紙画像

:information_source: 概要 ページ読み込み時にフォーラム全体に全画面のカバー画像を表示する Discourse テーマコンポーネントです。
:hammer_and_wrench: リポジトリ GitHub - communiteq/discourse-tc-fullscreen-coverimage · GitHub
:question: インストールガイド テーマまたはテーマコンポーネントのインストール方法
:open_book: 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: 0dismiss_on_clicks: 1 に設定すると、4 月 1 日の UTC 0 時にアクティブ化する単一クリックのスプラッシュ画面となり、各訪問者は 1 回しか表示されません。

もちろん、このテーマコンポーネントは政府機関向けに開発されたものではなく、オープンソース化してくれた @WorldIsMine さん向けに開発されたものです :smiling_face_with_three_hearts:

「いいね!」 6

素晴らしいですね!今日、私のフォーラムでもこれを実行します :grin:

便利なコンポーネントですね。ありがとうございます! :slight_smile:

「いいね!」 1

今日だけですが、SWAPD でライブ配信をご覧いただけます。このエイプリルフールのジョークは、まさに限界を超えています。ほぼすべてのメンバーを心臓発作寸前に追い込んでいます。

「いいね!」 2

今考えると、これは後々役立つでしょう。伝えたい告知を「全員」に確実に届けるために。

「いいね!」 2

ハハ、最高だね!みんな、いいジョークありがとう。