diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 7d9549e0fc4c747..43b7891ad26ee51 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -10,6 +10,7 @@ /.github/actions/assign-pr/index.js @cloudflare/pcx-technical-writing /.github/styles/cloudflare/spelling-exceptions.txt @cloudflare/pcx-technical-writing /src/components/ @cloudflare/developer-advocacy @kristianfreeman @kodster28 @pedrosousa @marciocloudflare @haleycode @maxvp @GregBrimble @KianNH @WalshyDev +/src/schemas/tags.ts @kodster28 @KianNH @joslyn-cf *.js @cloudflare/developer-advocacy @kristianfreeman @kodster28 @pedrosousa @haleycode @maxvp @marciocloudflare @GregBrimble @KianNH @WalshyDev *.ts @cloudflare/developer-advocacy @kristianfreeman @kodster28 @pedrosousa @haleycode @maxvp @marciocloudflare @GregBrimble @KianNH @WalshyDev /src/content/workers-ai-models/ @craigsdennis @pedrosousa @cloudflare/pcx-technical-writing diff --git a/src/schemas/tags.ts b/src/schemas/tags.ts new file mode 100644 index 000000000000000..a5b6824422e6c9a --- /dev/null +++ b/src/schemas/tags.ts @@ -0,0 +1,124 @@ +/* This is the allowlist for the tags we allow +in our page frontmatter. Refer to https://developers.cloudflare.com/style-guide/frontmatter/custom-properties/#tags +and https://developers.cloudflare.com/style-guide/frontmatter/tags/ for more details. +*/ + +const data_structures: Array = [ + { label: "JSON" }, + { label: "TOML" }, + { label: "XML" }, + { label: "YAML" }, +]; + +const frameworks: Array = [ + { label: "Angular" }, + { label: "Astro" }, + { label: "Hono" }, + { label: "Next.js", variants: ["nextjs"] }, + { label: "Node.js", variants: ["node", "nodejs"] }, + { label: "Nuxt" }, + { label: "Ruby", variants: ["rb", "ruby on rails"] }, + { label: "Svelte" }, + { label: "SvelteKit" }, + { label: "Vue.js", variants: ["vue", "vuejs"] }, +]; + +const integrations: Array = [ + { label: "Azure", variants: ["Microsoft Azure", "MS Azure"] }, + { label: "AWS", variants: ["Amazon Web Services"] }, + { label: "GCP", variants: ["Google Cloud", "Google Cloud Platform"] }, + { label: "G Suite Group", variants: ["gsuite", "g suite"] }, + { label: "GitHub" }, + { + label: "Microsoft Entra ID", + variants: ["AzureAD", "Azure Active Directory", "MS Entra ID", "Entra ID"], + }, + { label: "Postgres", variants: ["PostgresSQL"] }, + { label: "S3" }, + { label: "Sentry" }, + { label: "Stripe" }, + { label: "Sumo Logic", variants: ["sumo"] }, + { label: "Okta" }, + { label: "WordPress" }, +]; + +const languages: Array = [ + { label: "Go" }, + { label: "GraphQL" }, + { label: "JavaScript", variants: ["js"] }, + { label: "MySQL" }, + { label: "NoSQL" }, + { label: "PowerShell", variants: ["js"] }, + { label: "Python", variants: ["py"] }, + { label: "Rust", variants: ["rs"] }, + { label: "Shell", variants: ["sh"] }, + { label: "SQL" }, + { label: "TypeScript", variants: ["ts"] }, + { label: "WebAssembly", variants: ["Web Assembly", "wasm"] }, +]; + +const protocols: Array = [ + { label: "FTP", variants: ["file transfer protocol", "ftps"] }, + { label: "IPsec" }, + { label: "IPv4" }, + { label: "IPv6" }, + { label: "JSON web token (JWT)", variants: ["jwt"] }, + { label: "MASQUE" }, + { label: "mTLS" }, + { label: "NetFlow" }, + { label: "MQTT" }, + { label: "QUIC" }, + { label: "RDP" }, + { label: "SAML" }, + { label: "SCIM" }, + { label: "SMTP" }, + { label: "SFTP" }, + { label: "SSH" }, + { label: "TCP" }, + { label: "UDP" }, + { label: "WebSockets", variants: ["websocket"] }, + { label: "Wireguard" }, +]; + +const operating_systems: Array = [ + { label: "Android" }, + { label: "iOS" }, + { label: "Linux" }, + { label: "MacOS", variants: ["OS X"] }, + { label: "Windows", variants: ["ms windows"] }, +]; + +const use_cases: Array = [ + { label: "Authentication", variants: ["auth"] }, + { label: "A/B testing", variants: ["ab test"] }, + { label: "Caching", variants: ["cache"] }, + { label: "CMS" }, + { label: "Cookies" }, + { label: "CORS" }, + { label: "Debugging", variants: ["debug", "troubleshooting"] }, + { label: "Forms" }, + { label: "Geolocation" }, + { label: "HTMLRewriter" }, + { label: "Headers", variants: ["header"] }, + { label: "Localization" }, + { label: "Logging" }, + { label: "Middleware" }, + { label: "Playback" }, + { label: "Privacy" }, + { label: "Redirects", variants: ["redirect"] }, + { label: "Request modification", variants: ["request"] }, + { label: "Response modification", variants: ["response"] }, + { label: "RPC" }, + { label: "Security" }, + { label: "URL rewrite", variants: ["rewrite"] }, +]; + +export const tags = { + data_structures, + frameworks, + integrations, + languages, + protocols, + operating_systems, + use_cases, +};