PHPackages                             ernestdefoe/espn-cfb-ticker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ernestdefoe/espn-cfb-ticker

ActiveFlarum-extension[Utility &amp; Helpers](/categories/utility)

ernestdefoe/espn-cfb-ticker
===========================

A FBS college football scores ticker powered by the ESPN API for Flarum 2.

v2.0.6(3w ago)060↓100%MITJavaScriptCI passing

Since May 9Pushed 1w agoCompare

[ Source](https://github.com/ernestdefoe/espn-cfb-ticker)[ Packagist](https://packagist.org/packages/ernestdefoe/espn-cfb-ticker)[ RSS](/packages/ernestdefoe-espn-cfb-ticker/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (7)Dependencies (1)Versions (8)Used By (0)

ESPN CFB Ticker — Flarum 2 Extension
====================================

[](#espn-cfb-ticker--flarum-2-extension)

[![Floxum](https://camo.githubusercontent.com/87a0a790fb38972605073c82b8673291dc24daf8d33af60fcd8abab9b7917527/68747470733a2f2f666c6f78756d2e636f6d2f657874656e73696f6e2f65726e6573746465666f652f6573706e2d6366622d7469636b65722f62616467652f6e616d65)](https://floxum.com/extension/ernestdefoe/espn-cfb-ticker)[![Version](https://camo.githubusercontent.com/a0e3f957d13f3498795d63e2bc988528188abddea90ba91f394cef186542e172/68747470733a2f2f666c6f78756d2e636f6d2f657874656e73696f6e2f65726e6573746465666f652f6573706e2d6366622d7469636b65722f62616467652f686967686573742d76657273696f6e)](https://floxum.com/extension/ernestdefoe/espn-cfb-ticker)[![Downloads](https://camo.githubusercontent.com/0cef1405d91147e6107ef68faba47225e30bc0fd15ac484ae5101c8d48f41fe6/68747470733a2f2f666c6f78756d2e636f6d2f657874656e73696f6e2f65726e6573746465666f652f6573706e2d6366622d7469636b65722f62616467652f646f776e6c6f616473)](https://floxum.com/extension/ernestdefoe/espn-cfb-ticker)[![Review](https://camo.githubusercontent.com/c26c28c02a99146b4deaafd2edc147b8e47b5437ccd5021efd4203b99d771cf1/68747470733a2f2f666c6f78756d2e636f6d2f657874656e73696f6e2f65726e6573746465666f652f6573706e2d6366622d7469636b65722f62616467652f726576696577)](https://floxum.com/extension/ernestdefoe/espn-cfb-ticker)[![License](https://camo.githubusercontent.com/cdcb0ea74a9bfe0939a82498e7ee62926aacf71fd17a076c042d1e3aa2fa2042/68747470733a2f2f666c6f78756d2e636f6d2f657874656e73696f6e2f65726e6573746465666f652f6573706e2d6366622d7469636b65722f62616467652f6c6963656e7365)](https://floxum.com/extension/ernestdefoe/espn-cfb-ticker)

[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](LICENSE)[![Flarum](https://camo.githubusercontent.com/8c51e363cac6b6bf60eb1801b15a9c6b2d22eceec59a501c335fac9ba8f9236c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f466c6172756d2d322e782d626c7565)](https://flarum.org)

A live **FBS college football** scores ticker for [Flarum 2](https://flarum.org) forums, powered by the free public ESPN API. Scores scroll automatically across a sticky banner at the top (or bottom) of your forum, updating on a configurable interval.

---

Features
--------

[](#features)

- 🏈 **FBS-only** — filters ESPN's API to Group 80 (NCAA Division I FBS)
- 📡 **Live scores** with a pulsing green dot for in-progress games
- 🏆 **AP/Coaches rankings** — shows `#N` next to ranked teams (Top 25)
- 🖼️ **Team logos** pulled directly from ESPN's CDN
- ⚙️ **Admin settings** — toggle on/off, top/bottom position, refresh interval, scroll speed
- 📱 **Responsive** — logos hidden on narrow screens to keep ticker readable
- 🔁 **Seamless loop** — CSS-only marquee with no layout jank
- ♻️ **Auto-refresh** — polls ESPN API on a configurable interval (default 60s)

---

Requirements
------------

[](#requirements)

- **Flarum** `^2.0`
- **PHP** `^8.3`
- No external PHP dependencies

---

Installation
------------

[](#installation)

```
composer require ernestdefoe/espn-cfb-ticker
```

Then enable the extension in your Flarum admin panel under **Extensions**.

---

Building JavaScript
-------------------

[](#building-javascript)

If you're contributing or modifying the extension:

```
cd js
npm install
npm run build   # production build
npm run dev     # watch mode
```

---

Admin Settings
--------------

[](#admin-settings)

SettingDefaultDescriptionEnable Ticker`true`Show/hide the ticker sitewidePosition`top`Sticky top or fixed bottomRefresh Interval`60` secondsHow often to poll ESPN API (min 15s)Scroll Speed`40`Per-game animation multiplier (lower = faster)---

How It Works
------------

[](#how-it-works)

1. On page load the extension mounts a Mithril component outside Flarum's main app node.
2. The component `fetch()`es `https://site.api.espn.com/apis/site/v2/sports/football/college-football/scoreboard?groups=80&limit=50` — the public ESPN API, no key required.
3. Games are rendered in a CSS `@keyframes` scroll animation. The track is duplicated so the loop is seamless.
4. A `setInterval` re-fetches on the configured interval, causing a Mithril redraw.

---

ESPN API Notes
--------------

[](#espn-api-notes)

The ESPN public scoreboard API (`site.api.espn.com`) is unofficial and undocumented but has been widely used by developers for years. It requires no API key and returns JSON. The `groups=80` parameter restricts results to FBS schools.

---

Support
-------

[](#support)

Questions, bug reports, and feature requests:

- **Support forum:**
- **Issues:**

License
-------

[](#license)

[MIT](LICENSE) © 2026 ernestdefoe

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance97

Actively maintained with recent releases

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

Top contributor holds 87.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

7

Last Release

21d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c9978664264055711c21fbcf73c937f758df771d9cb40f6a25370b10123e7abc?d=identicon)[ernestdefoe](/maintainers/ernestdefoe)

---

Top Contributors

[![ernestdefoe](https://avatars.githubusercontent.com/u/24905286?v=4)](https://github.com/ernestdefoe "ernestdefoe (77 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (11 commits)")

### Embed Badge

![Health badge](/badges/ernestdefoe-espn-cfb-ticker/health.svg)

```
[![Health](https://phpackages.com/badges/ernestdefoe-espn-cfb-ticker/health.svg)](https://phpackages.com/packages/ernestdefoe-espn-cfb-ticker)
```

###  Alternatives

[flarum-lang/russian

Russian language pack for Flarum.

12127.5k](/packages/flarum-lang-russian)[fof/byobu

Well integrated, advanced private discussions.

61112.4k10](/packages/fof-byobu)[flarum/tags

Organize discussions into a hierarchy of tags and categories.

38744.9k133](/packages/flarum-tags)[fof/gamification

Upvotes and downvotes for your Flarum community

4162.0k6](/packages/fof-gamification)[fof/polls

 A Flarum extension that adds polls to your discussions

25130.2k9](/packages/fof-polls)[michaelbelgium/flarum-discussion-views

Add views to flarum discussions

3155.4k6](/packages/michaelbelgium-flarum-discussion-views)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
