import { createFileRoute, Link } from "@tanstack/react-router"; import { CtaBand } from "~/components/marketing/CtaBand"; import { MarketingHero } from "~/components/marketing/MarketingHero"; import { FEATURE_CATALOG } from "~/lib/marketing/catalog"; import { featurePage } from "~/lib/marketing/features"; import { buttonClass } from "~/ui/Button"; import { PageContainer } from "~/ui/PageContainer"; import { TextLink } from "~/ui/TextLink"; import { seo } from "~/utils/seo"; export const Route = createFileRoute("/features/")({ head: ({ match }) => ({ meta: seo({ origin: match.context.publicUrl, path: "/features", title: "Features ยท gitfor", description: "Code hosting, review, CI/CD, planning, a browser editor, security scanning and site hosting.", }), }), component: FeaturesPage, }); function FeaturesPage() { return ( <> Create an account Self-host gitfor } />
{FEATURE_CATALOG.map((group) => { const page = group.page ? featurePage(group.page) : undefined; return (

{group.title}

{page && ( <>

{page.lede}

Read more about {page.nav.toLowerCase()} )}
    {group.items.map((item) => (
  • {item}
  • ))}
); })}
); }