diff --git a/app/early-stage/page.tsx b/app/early-stage/page.tsx index 68e71e7..2ddb340 100644 --- a/app/early-stage/page.tsx +++ b/app/early-stage/page.tsx @@ -5,6 +5,7 @@ import matter from 'gray-matter' import { marked } from 'marked' import Link from 'next/link' import Image from 'next/image' +import Script from 'next/script' import { ArrowLeft, Github, ExternalLink, ChevronRight } from 'lucide-react' export const runtime = 'nodejs' @@ -59,7 +60,6 @@ const containsAny = (hay: string, items: string[]) => items.some((p) => contains function classify(meta: ResourceMeta): 'tooling' | 'courses' | 'guides' | 'code' | 'other' { const hay = haystack(meta) - // Tooling Docs (official docs, references, install guides, APIs, CLI) const toolingSignals = [ 'docs','documentation','reference','api reference','api docs', 'handbook','manual','spec','specification','readme','guide (cli)', @@ -68,23 +68,17 @@ function classify(meta: ResourceMeta): 'tooling' | 'courses' | 'guides' | 'code' 'hardhat','foundry','anvil','remix','metamask','phantom', 'solana cli','anchor','etherscan','solscan','node.js','npm','nvm', ] - - // Courses (programs, bootcamps, MOOCs) const courseSignals = [ 'course','courses','bootcamp','curriculum','syllabus','academy', 'track','learning path','program','cohort','mooc','udemy','coursera','edx', 'university','certificate' ] - - // Code Samples (templates, starters, examples, scaffolds) const codeSignals = [ 'example','examples','sample','samples','snippet','snippets', 'template','templates','boilerplate','boilerplates','starter','starter kit', 'scaffold','scaffolding','reference implementation','repo','github repository', 'playground' ] - - // Guides (how-tos, tutorials, deep dives, best practices, articles) const guideSignals = [ 'guide','how to','how-to','tutorial','walkthrough','step by step','step-by-step', 'deep dive','best practices','explained','overview','article','blog','cookbook', @@ -143,7 +137,6 @@ async function getEarlyResources(): Promise<(ResourceMeta & { key: string; secti }) } - // newest first list.sort((a, b) => (new Date(b.dateAdded || 0).getTime()) - (new Date(a.dateAdded || 0).getTime())) return list } @@ -201,6 +194,8 @@ export default async function EarlyStagePage() { ) : null + const listUrl = 'https://twitter.com/i/lists/1959973436228288972' + return (