Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions app/agent-markdown/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,18 @@ Everything at Dev Weekends is free for the community. Our core mission is to mak

## Primary links

- Website: https://devweekends.com
- Sessions: https://devweekends.com/sessions
- Community: https://devweekends.com/community
- Mentorship: https://devweekends.com/mentorship
- Projects: https://devweekends.com/projects
- Website: https://www.devweekends.com
- Sessions: https://www.devweekends.com/sessions
- Community: https://www.devweekends.com/community
- Mentorship: https://www.devweekends.com/mentorship
- Projects: https://www.devweekends.com/projects

## Agent and machine-readable discovery

- Requested path: ${sourcePath}
- llms.txt: https://devweekends.com/llms.txt
- API catalog: https://devweekends.com/.well-known/api-catalog
- Agent skills index: https://devweekends.com/.well-known/agent-skills/index.json
- llms.txt: https://www.devweekends.com/llms.txt
- API catalog: https://www.devweekends.com/.well-known/api-catalog
- Agent skills index: https://www.devweekends.com/.well-known/agent-skills/index.json
`

return new NextResponse(markdown, {
Expand Down
1 change: 1 addition & 0 deletions app/dsoc/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ export const metadata: Metadata = {
title: "DSOC: Dev Weekends Summer of Code",
description:
"Dev Weekends Summer of Code (DSOC) is a mentored open source program with a monthly stipend per milestone. 2026 applications are closed.",
alternates: { canonical: "/dsoc" },
}

export default function DsocLayout({ children }: { children: ReactNode }) {
Expand Down
13 changes: 13 additions & 0 deletions app/dsoc/login/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import type { Metadata } from "next"
import type { ReactNode } from "react"

// A sign-in screen has nothing to rank for
export const metadata: Metadata = {
title: { absolute: "DSOC sign in | Dev Weekends" },
alternates: { canonical: "/dsoc/login" },
robots: { index: false, follow: false },
}

export default function DsocLoginLayout({ children }: { children: ReactNode }) {
return children
}
11 changes: 11 additions & 0 deletions app/dsoc/projects/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import type { Metadata } from "next"
import type { ReactNode } from "react"

export const metadata: Metadata = {
title: { absolute: "DSOC projects | Dev Weekends" },
alternates: { canonical: "/dsoc/projects" },
}

export default function DsocProjectsLayout({ children }: { children: ReactNode }) {
return children
}
11 changes: 11 additions & 0 deletions app/dsoc/register/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import type { Metadata } from "next"
import type { ReactNode } from "react"

export const metadata: Metadata = {
title: { absolute: "DSOC registration | Dev Weekends" },
alternates: { canonical: "/dsoc/register" },
}

export default function DsocRegisterLayout({ children }: { children: ReactNode }) {
return children
}
2 changes: 1 addition & 1 deletion app/dwosi/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ export const metadata: Metadata = {
siteName: "Dev Weekends",
title,
description,
url: "https://devweekends.com/dwosi",
url: "https://www.devweekends.com/dwosi",
images: [{ url: "/og-image.jpg", width: 1200, height: 630, alt: "Dev Weekends" }],
},
twitter: {
Expand Down
16 changes: 8 additions & 8 deletions app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,20 @@ import Script from 'next/script'
import { Analytics } from "@/components/analytics"
import { SiteHeader } from "@/components/site-header"
import { dwosiThemeScript } from "@/app/dwosi/theme"
import { jsonLdString, siteJsonLd } from "@/lib/seo"
import { SITE_URL, jsonLdString, siteJsonLd } from "@/lib/seo"

const inter = Inter({ subsets: ["latin"], display: "swap" })

// Without an id the tag would request gtag.js?id=undefined on every page view
const gaId = process.env.NEXT_PUBLIC_GA_ID

export const metadata: Metadata = {
metadataBase: new URL('https://devweekends.com'),
metadataBase: new URL(SITE_URL),
title: {
default: "Dev Weekends - Your Gateway to becoming a better Software Engineer",
default: "Dev Weekends | Great engineers. Greater impact.",
template: "%s | Dev Weekends"
},
description: "Join a thriving community of students and tech enthusiasts learning, building, and growing together through weekend events and bootcamps. Learn from industry experts and enhance your skills in various tech domains.",
description: "Great engineers. Greater impact. Dev Weekends is a free community of engineers with programs, mentorship, open source and partnerships that open doors to the world.",
keywords: ["software engineering", "tech community", "coding bootcamp", "mentorship", "tech events", "developer community", "programming", "software development", "tech learning", "career development"],
authors: [{ name: "Dev Weekends Team" }],
creator: "Dev Weekends",
Expand All @@ -46,14 +46,14 @@ export const metadata: Metadata = {
openGraph: {
type: "website",
locale: "en_US",
title: "Dev Weekends - Your Gateway to becoming a better Software Engineer",
description: "Join a thriving community of students and tech enthusiasts learning, building, and growing together through weekend events and bootcamps.",
title: "Dev Weekends | Great engineers. Greater impact.",
description: "Great engineers. Greater impact. Dev Weekends is a free community of engineers with programs, mentorship, open source and partnerships that open doors to the world.",
siteName: "Dev Weekends",
},
twitter: {
card: "summary_large_image",
title: "Dev Weekends - Your Gateway to becoming a better Software Engineer",
description: "Join a thriving community of students and tech enthusiasts learning, building, and growing together through weekend events and bootcamps.",
title: "Dev Weekends | Great engineers. Greater impact.",
description: "Great engineers. Greater impact. Dev Weekends is a free community of engineers with programs, mentorship, open source and partnerships that open doors to the world.",
creator: "@devweekends",
},
robots: {
Expand Down
2 changes: 1 addition & 1 deletion app/links/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export const metadata: Metadata = {
openGraph: {
title: "Dev Weekends | Links",
description: "Find and join the right Dev Weekends community in one tap.",
url: "https://devweekends.com/links",
url: "https://www.devweekends.com/links",
images: ["/og-image.jpg"],
},
}
Expand Down
48 changes: 24 additions & 24 deletions app/llms-full.txt/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,37 +5,37 @@ export function GET() {

## Organization
Name: Dev Weekends
Website: https://devweekends.com
Website: https://www.devweekends.com
Description: Community-driven software engineering education through weekend sessions, mentorship, project building, and tech initiatives.

## Public Website URLs
- https://devweekends.com/
- https://devweekends.com/team
- https://devweekends.com/community
- https://devweekends.com/sessions
- https://devweekends.com/projects
- https://devweekends.com/mentorship
- https://devweekends.com/mentor
- https://devweekends.com/testimonials
- https://devweekends.com/ambassadors
- https://devweekends.com/ambassador-program
- https://devweekends.com/fellowship
- https://devweekends.com/network
- https://www.devweekends.com/
- https://www.devweekends.com/team
- https://www.devweekends.com/community
- https://www.devweekends.com/sessions
- https://www.devweekends.com/projects
- https://www.devweekends.com/mentorship
- https://www.devweekends.com/mentor
- https://www.devweekends.com/testimonials
- https://www.devweekends.com/ambassadors
- https://www.devweekends.com/ambassador-program
- https://www.devweekends.com/fellowship
- https://www.devweekends.com/network

## Program URLs
- https://devweekends.com/dsoc
- https://devweekends.com/dsoc/projects
- https://devweekends.com/dsoc/register
- https://www.devweekends.com/dsoc
- https://www.devweekends.com/dsoc/projects
- https://www.devweekends.com/dsoc/register

## Discovery and Interoperability
- robots.txt: https://devweekends.com/robots.txt
- sitemap.xml: https://devweekends.com/sitemap.xml
- llms.txt: https://devweekends.com/llms.txt
- API Catalog: https://devweekends.com/.well-known/api-catalog
- OpenAPI: https://devweekends.com/openapi.json
- API Documentation: https://devweekends.com/api-docs
- API Health: https://devweekends.com/api/health
- Agent Skills Index: https://devweekends.com/.well-known/agent-skills/index.json
- robots.txt: https://www.devweekends.com/robots.txt
- sitemap.xml: https://www.devweekends.com/sitemap.xml
- llms.txt: https://www.devweekends.com/llms.txt
- API Catalog: https://www.devweekends.com/.well-known/api-catalog
- OpenAPI: https://www.devweekends.com/openapi.json
- API Documentation: https://www.devweekends.com/api-docs
- API Health: https://www.devweekends.com/api/health
- Agent Skills Index: https://www.devweekends.com/.well-known/agent-skills/index.json

## AI Preferences
Content-Signal: ai-train=no, search=yes, ai-input=no
Expand Down
28 changes: 14 additions & 14 deletions app/llms.txt/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,24 @@ export function GET() {
const body = `# Dev Weekends
> Dev Weekends is a learning community for software engineers with events, mentorship, projects, and career growth programs.

Canonical: https://devweekends.com
Sitemap: https://devweekends.com/sitemap.xml
Robots: https://devweekends.com/robots.txt
Canonical: https://www.devweekends.com
Sitemap: https://www.devweekends.com/sitemap.xml
Robots: https://www.devweekends.com/robots.txt

## Primary Pages
- Home: https://devweekends.com/
- Team and story: https://devweekends.com/team
- Sessions: https://devweekends.com/sessions
- Community: https://devweekends.com/community
- Links: https://devweekends.com/links
- Projects: https://devweekends.com/projects
- Mentorship: https://devweekends.com/mentorship
- Home: https://www.devweekends.com/
- Team and story: https://www.devweekends.com/team
- Sessions: https://www.devweekends.com/sessions
- Community: https://www.devweekends.com/community
- Links: https://www.devweekends.com/links
- Projects: https://www.devweekends.com/projects
- Mentorship: https://www.devweekends.com/mentorship

## Machine-Readable Discovery
- API Catalog (RFC 9727): https://devweekends.com/.well-known/api-catalog
- OpenAPI: https://devweekends.com/openapi.json
- API Health: https://devweekends.com/api/health
- Agent Skills Index: https://devweekends.com/.well-known/agent-skills/index.json
- API Catalog (RFC 9727): https://www.devweekends.com/.well-known/api-catalog
- OpenAPI: https://www.devweekends.com/openapi.json
- API Health: https://www.devweekends.com/api/health
- Agent Skills Index: https://www.devweekends.com/.well-known/agent-skills/index.json

## Content Preferences
- Content-Signal: ai-train=no, search=yes, ai-input=no
Expand Down
11 changes: 8 additions & 3 deletions app/page.tsx
Original file line number Diff line number Diff line change
@@ -1,16 +1,21 @@
import type { Metadata } from "next"
import { withSocial } from "@/lib/seo"

import { Communities, Products } from "@/components/home/sections-mid"
import { Partnerships, Qantara, Resources, Voices } from "@/components/home/sections-bottom"
import { StartHere } from "@/components/site/start-here"
import { Hero, Impact, Network, Outcomes, Reach } from "@/components/home/sections-top"
import "./home.css"

export const metadata: Metadata = {
const title = "Dev Weekends | Great engineers. Greater impact."

export const metadata = withSocial({
title: { absolute: title },
description:
"Great engineers. Greater impact. Dev Weekends is a free community of engineers with programs, mentorship, open source and partnerships that open doors to the world.",
alternates: { canonical: "/" },
}
openGraph: { title },
twitter: { title },
})

/** The header and footer come from the root layout, shared with every other page. */
export default function HomePage() {
Expand Down
4 changes: 3 additions & 1 deletion app/sitemap.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ import path from 'path'
import matter from 'gray-matter'
import { MetadataRoute } from 'next'

const baseUrl = 'https://devweekends.com'
import { SITE_URL } from '@/lib/seo'

const baseUrl = SITE_URL

type Entry = {
path: string
Expand Down
3 changes: 2 additions & 1 deletion lib/seo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@

import type { Metadata } from 'next'

export const SITE_URL = 'https://devweekends.com'
// The live site answers on www; the bare domain redirects there
export const SITE_URL = 'https://www.devweekends.com'
export const SITE_NAME = 'Dev Weekends'
export const SITE_TAGLINE = 'Great engineers. Greater impact.'

Expand Down
Loading