Update README.md.
This commit is contained in:
@@ -40,8 +40,10 @@ This demo runs with sample XMLTV feeds to showcase the interface.
|
||||
- 📡 **Multi-EPG sources** — configure multiple EPG/M3U sources, switch from the topbar
|
||||
- 👤 **Personal EPG** — optionally let visitors use your instance with their own EPG/M3U URLs (saved in localStorage)
|
||||
- 🔍 **Search** — filter the grid by channel name or program title/synopsis (debounced)
|
||||
- ⭐ **Favorites** — pin channels to the top of the grid, persisted in localStorage
|
||||
- 🌍 **i18n** — auto-detects browser language, supports EN / FR / ES (add your own in `locales/`)
|
||||
- ⚙️ **Guided setup** on first launch — no config files to edit manually
|
||||
- ⚙️ **Re-editable setup** — protected by an admin key, no SSH required to update config
|
||||
- 🔔 **Update notifications** — a badge appears in the topbar when a new release is available on GitHub
|
||||
- 🔄 **Auto-reload** EPG every 30 minutes
|
||||
- 0️⃣ **Zero JS dependencies** — vanilla PHP, hls.js loaded from CDN
|
||||
|
||||
@@ -172,6 +174,8 @@ You can re-open the setup page at any time using the admin key generated during
|
||||
http://guide.your-domain.com/setup.php
|
||||
```
|
||||
|
||||
Enter your admin key to unlock the configuration form. The key is stored in `config.json` under `admin_key` — if you lose it, you can retrieve it there via SSH.
|
||||
|
||||
Or edit `config.json` directly:
|
||||
|
||||
```bash
|
||||
@@ -206,8 +210,9 @@ nano /var/www/gridtv/config.json
|
||||
```
|
||||
gridtv/
|
||||
├── index.php # Entry point
|
||||
├── setup.php # First-launch + re-configuration page
|
||||
├── setup.php # Setup + re-configuration (admin key protected)
|
||||
├── proxy.php # HTTP→HTTPS stream proxy
|
||||
├── version.json # Current version (used for update check)
|
||||
├── config.example.json # Config template
|
||||
├── Dockerfile
|
||||
├── docker-compose.yml
|
||||
@@ -223,13 +228,24 @@ gridtv/
|
||||
│ └── steampunk.css
|
||||
└── src/
|
||||
├── config.php # Config loader, migration, locale detection
|
||||
├── css/ # CSS modules (one file per feature)
|
||||
│ ├── base.css # Variables, reset, global layout
|
||||
│ ├── topbar.css # Topbar, nav, source switcher, theme selector
|
||||
│ ├── grid.css # Grid, channels, programs, ruler, tooltip, loading
|
||||
│ ├── mobile.css # Mobile list view
|
||||
│ ├── player.css # HLS PiP player
|
||||
│ ├── modals.css # Personal EPG modal
|
||||
│ ├── search.css # Search bar + highlight
|
||||
│ ├── program.css # Program info modal + midnight marker
|
||||
│ ├── favorites.css# Favorite button + separator
|
||||
│ └── updater.css # Update notification badge
|
||||
├── tpl/ # HTML templates
|
||||
│ ├── head.php # DOCTYPE, <head>, CSS
|
||||
│ ├── head.php # DOCTYPE, <head>, includes CSS modules
|
||||
│ ├── topbar.php # Topbar (nav, source switcher, search, theme)
|
||||
│ ├── grid.php # Grid + mobile + PiP + overlays
|
||||
│ ├── modals.php # Program info modal + Personal EPG modal
|
||||
│ └── footer.php # JS modules loader, </body></html>
|
||||
└── js/ # JavaScript modules
|
||||
└── js/ # JavaScript modules (one file per feature)
|
||||
├── config.js # Constants + PHP-injected vars (incl. locale)
|
||||
├── utils.js # Helpers, clock, EPG fetch
|
||||
├── epg.js # Grid rendering
|
||||
@@ -241,6 +257,8 @@ gridtv/
|
||||
├── themes.js # Theme switcher
|
||||
├── search.js # Search + filter (debounced)
|
||||
├── program.js # Program info modal + IMDb link
|
||||
├── favorites.js # Favorites (localStorage)
|
||||
├── updater.js # GitHub update checker
|
||||
└── live.js # Live updates + responsive
|
||||
```
|
||||
|
||||
@@ -345,15 +363,16 @@ GNU Affero General Public License v3.0 (AGPLv3)
|
||||
- Theme system (4 built-in themes)
|
||||
- Multi-EPG sources with topbar switcher
|
||||
- Personal EPG (localStorage)
|
||||
- Modular codebase (src/tpl + src/js)
|
||||
- Modular codebase (src/tpl + src/js + src/css)
|
||||
- Docker support
|
||||
- **Search** — filter grid by channel name or program title/synopsis (debounced)
|
||||
- **Date in timebar** — midnight markers with day/date in the ruler
|
||||
- **Program popup** — full details + IMDb search link on any program click
|
||||
- **i18n** — EN / FR / ES with browser auto-detection, extensible via locales/
|
||||
- **Favorites** — pin channels to the top of the grid (localStorage)
|
||||
- **Setup re-editable** — protected by an admin key, auto-generated on first setup
|
||||
- **Update notifications** — topbar badge links to latest GitHub release
|
||||
|
||||
### 🔜 Coming soon
|
||||
- **Favorites** — pin channels to the top of the grid (localStorage)
|
||||
- **Setup re-editable** — reopen setup.php with an admin key, no SSH required
|
||||
- **Dark/Light auto mode** — follow system preference when using the default theme
|
||||
- **Grid export** — export today's schedule as PDF or image
|
||||
|
||||
Reference in New Issue
Block a user