Table of Contents

Community Bulletin TV

Community Bulletin TV is a retro-inspired, web-based bulletin board system designed to emulate classic cable-access and community information channels from the 1980s–1990s.

It uses modern HTML, CSS, and JavaScript, but keeps the visual and behavioral feel of old-school TV bulletin systems: fixed-resolution screens, rotating pages, scrolling tickers, blinking text, and date/time overlays.


https://github.com/mobbyg/Community-Bulletin-TV

https://mobbyg.github.io/Community-Bulletin-TV/


Core Concepts

Community Bulletin TV is driven entirely by a single JSON file:

No database is required for playback.


Key Features


File Layout (Typical)

/community-bulletin-tv
├── play.html              # Playback screen
├── editor.html            # Bulletin editor UI
├── css/
│   └── bulletin.css
├── js/
│   ├── bulletin.js        # Playback logic
│   └── editor.js          # Editor logic
├── data/
│   └── bulletin.json      # Main configuration
└── save.php               # Optional server-side save endpoint

bulletin.json Overview

The system is controlled via a JSON file with the following major sections:

Example structure:

{
  "settings": {
    "aspectRatio": "4:3",
    "screenDuration": 10
  },
  "screens": [ ... ],
  "ticker": { ... },
  "macros": { ... }
}

Band Properties

Each screen contains one or more bands with properties such as:

Bands stack vertically from top to bottom.


Macros

Macros allow dynamic replacement inside band and ticker text.

Date / Time

Macros are defined in JSON using strftime-style format strings:

"macros": {
  "date": "%Y-%m-%d",
  "time": "%H:%M:%S",
  "datetime": "%Y-%m-%d %H:%M:%S"
}

Usage in text:

These update live every second.

Spacing Macros

Built-in spacing helpers:

These help with alignment and formatting in fixed-width layouts.


Playback Behavior


Editor Notes

The editor allows:

GitHub Pages demo is playback-only.


Planned / Future Upgrades


Personal Notes

This project is ideal for:

The design intentionally favors predictability, legibility, and nostalgia over modern responsiveness.


Last updated: DATE