ESPN's hidden API endpoints
Latest News: http://site.api.espn.com/apis/site/v2/sports/football/college-football/news
Latest Scores: http://site.api.espn.com/apis/site/v2/sports/football/college-football/scoreboard
| # SETUP # | |
| DOMAIN=example.com | |
| PROJECT_REPO="[email protected]:example.com/app.git" | |
| AMOUNT_KEEP_RELEASES=5 | |
| RELEASE_NAME=$(date +%s--%Y_%m_%d--%H_%M_%S) | |
| RELEASES_DIRECTORY=~/$DOMAIN/releases | |
| DEPLOYMENT_DIRECTORY=$RELEASES_DIRECTORY/$RELEASE_NAME | |
| # stop script on error signal (-e) and undefined variables (-u) |
| import { BlurImage, YouTube } from "@dub/ui"; | |
| import { nFormatter } from "@dub/utils"; | |
| import { Eye, UserCheck, Video } from "lucide-react"; | |
| import { Suspense } from "react"; | |
| export function YoutubeChannel({ id }: { id: string }) { | |
| return ( | |
| <Suspense fallback={<div className="not-prose grid gap-4"></div>}> | |
| <YoutubeChannelRSC id={id} /> | |
| </Suspense> |
| { | |
| "recommendations": [ | |
| "dbaeumer.vscode-eslint", | |
| "esbenp.prettier-vscode", | |
| "streetsidesoftware.code-spell-checker", | |
| "GitHub.vscode-pull-request-github", | |
| "ms-playwright.playwright", | |
| "pflannery.vscode-versionlens", | |
| "ZixuanChen.vitest-explorer" | |
| ] |
| import { getAuth, withClerkMiddleware } from "@clerk/nextjs/server"; | |
| import { NextResponse, NextFetchEvent } from "next/server"; | |
| import type { NextRequest } from "next/server"; | |
| import { Ratelimit } from "@upstash/ratelimit"; | |
| import { Redis } from "@upstash/redis"; | |
| // Add public paths for Clerk to handle. | |
| const publicPaths = ["/", "/sign-in*", "/sign-up*", "/api/blocked"]; | |
| // set your rate limit. |
| name: PlanetScale Migration | |
| on: | |
| pull_request: | |
| types: [opened, synchronize] | |
| paths: | |
| - packages/shared/adapters/prisma/schema.prisma | |
| env: | |
| PLANETSCALE_ORG: flightcontrol | |
| PLANETSCALE_DB: fc-production |
| export const chaosTestStrings = (): void => { | |
| const textNodes = getAllTextNodes(document.body); | |
| for (const node of textNodes) { | |
| const textNodeLength = node.textContent ? node.textContent.length : 0; | |
| if (node.textContent === null) { | |
| return; | |
| } | |
| if (node.parentElement instanceof Element) { | |
| if (node.parentElement.dataset.originalText === undefined) { |
Latest News: http://site.api.espn.com/apis/site/v2/sports/football/college-football/news
Latest Scores: http://site.api.espn.com/apis/site/v2/sports/football/college-football/scoreboard