Generate an iCal file with fight events from UFC, OKTAGON MMA, ONE FC, and GR MMAF.
Use this link to subscribe directly. Daily updates.
Fight Calendar
pnpm install
pnpm buildRun the CLI to fetch upcoming events and create an .ics file:
node dist/cli.js --output fight_calendar.icsOptions:
-o, --output <file>: Path to the output.icsfile (default:events.ics)--promotions <list>: Comma-separated promotions (ufc,oktagon,one,grmmaf) orall(default:all, alias:grmma)-p, --include-past: Include past events in addition to upcoming ones--past-only: Include only past events (implies--include-past)-l, --log-level <level>:fatal|error|warn|info|debug|trace|silent(default:error)
Example selecting only GR MMAF:
node dist/cli.js --promotions grmmaExample including past events:
node dist/cli.js --output fight_calendar.ics --include-pastWhen past events are enabled (--include-past or --past-only), UFC also performs one extra "Load More" fetch to include one additional page of historical events.
Example for past events only:
node dist/cli.js --output fight_calendar.ics --past-onlyAfter execution, the CLI prints a summary of event counts by promotion and writes the calendar file to the specified location.
The GR MMAF fetcher uses GitHub Models to classify news posts and extract event metadata.
Required environment variables:
FC_MODELS_TOKEN: Token withmodels:read
Optional environment variables:
FC_MODELS_MODEL: Model ID (default:openai/gpt-4.1-mini)FC_MODELS_ENDPOINT: Endpoint (default:https://models.github.ai/inference/chat/completions)GRMMAF_FEED_PAGE_LIMIT: Number of RSS pages to scan (default:3)GRMMAF_MAX_LATEST_ARTICLES: Number of latest GR MMAF posts to process (default:5)GRMMAF_ARTICLE_MAX_CHARS: Max article chars sent to model (default:2400)
If no token is configured, GR MMAF is skipped and other promotions continue normally.
0 comments
log in to comment.