diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs index 3ac9e4cd02a..bf8805027d1 100644 --- a/docs/astro.config.mjs +++ b/docs/astro.config.mjs @@ -12,7 +12,6 @@ import remarkStripEmojis from './src/lib/remark/stripEmojis.js'; import remarkTableDataLabels from './src/lib/remark/tableDataLabels.js'; import remarkInlineMarkdownInHtml from './src/lib/remark/inlineMarkdownInHtml.js'; import rehypeTableWrapper from './src/lib/rehype/tableWrapper.js'; -import { WORKSHOP_SLUGS } from './src/lib/workshop/config.ts'; /** * Creates blog authors config with GitHub profile pictures @@ -298,7 +297,7 @@ export default defineConfig({ exclude: ({ file, link }) => file.includes('/src/generated/workshop-markdown/') && link.includes('?__gh_aw_workshop_local__=') - && WORKSHOP_SLUGS.some((slug) => link.startsWith(`/gh-aw/workshops/${slug}/`)), + && link.startsWith('/gh-aw/workshop/?__gh_aw_workshop_local__='), }) ], sidebar: [ diff --git a/docs/scripts/sync-workshop-content.js b/docs/scripts/sync-workshop-content.js index 79f7cb507e7..5710410a9a3 100644 --- a/docs/scripts/sync-workshop-content.js +++ b/docs/scripts/sync-workshop-content.js @@ -8,8 +8,7 @@ const outputFile = join(generatedDir, 'workshop-content.ts'); const workshopRepo = process.env.GH_AW_WORKSHOP_REPO || 'githubnext/gh-aw-workshop'; const workshopRef = process.env.GH_AW_WORKSHOP_REF || 'main'; const localWorkshopSourceDir = process.env.GH_AW_WORKSHOP_SOURCE_DIR; -const workshopOrgSlug = process.env.GH_AW_WORKSHOP_ORG_SLUG || '2026-07-24-hackathon-blue-bat-18'; -const workshopLocalLinkPrefix = `/gh-aw/workshops/${workshopOrgSlug}/?__gh_aw_workshop_local__=`; +const workshopLocalLinkPrefix = `/gh-aw/workshop/?__gh_aw_workshop_local__=`; const publicWorkshopBase = `https://github.com/${workshopRepo}`; const publicWorkshopTreeUrl = `${publicWorkshopBase}/tree/${workshopRef}/workshop`; const publicWorkshopBlobBaseUrl = `${publicWorkshopBase}/blob/${workshopRef}/workshop/`; diff --git a/docs/src/components/workshop/WorkshopExperience.astro b/docs/src/components/workshop/WorkshopExperience.astro index 06a76e51e9c..2a410721fe1 100644 --- a/docs/src/components/workshop/WorkshopExperience.astro +++ b/docs/src/components/workshop/WorkshopExperience.astro @@ -11,11 +11,6 @@ import { } from '../../lib/workshop/manifest'; import { workshopContent, workshopSource, type WorkshopContentEntry } from '../../generated/workshop-content.ts'; -interface Props { - org: string; -} - -const { org } = Astro.props; type WorkshopEntry = { id: string; @@ -45,7 +40,7 @@ type WorkshopMarkdownModule = { const workshopGithubBase = workshopSource.githubBaseUrl; const workshopImageBase = workshopSource.rawBaseUrl; -const workshopLocalLinkPrefix = `/gh-aw/workshops/${org}/?__gh_aw_workshop_local__=`; +const workshopLocalLinkPrefix = `/gh-aw/workshop/?__gh_aw_workshop_local__=`; const workshopMarkdownModules = import.meta.glob('../../generated/workshop-markdown/*.md', { eager: true }) as Record; const primerIcons = octicons as Record) => string }>; diff --git a/docs/src/content/docs/index.mdx b/docs/src/content/docs/index.mdx index d1c5823f4cf..fbe7b0e1687 100644 --- a/docs/src/content/docs/index.mdx +++ b/docs/src/content/docs/index.mdx @@ -23,7 +23,6 @@ import FeatureGrid from '../../components/FeatureGrid.astro'; import Video from '../../components/Video.astro'; import BlogLinkSection from '../../components/BlogLinkSection.astro'; import WorkflowHero from '../../components/WorkflowHero.astro'; -import { CURRENT_WORKSHOP_SLUG } from '../../lib/workshop/config'; @@ -203,7 +202,7 @@ Create custom agentic workflows directly from the GitHub web interface using nat ## Workshop - + Choose a terminal, browser, or Copilot path and work through the workshop directly in the docs with saved progress. diff --git a/docs/src/lib/workshop/config.ts b/docs/src/lib/workshop/config.ts index 4622a296c94..30fe383bbd1 100644 --- a/docs/src/lib/workshop/config.ts +++ b/docs/src/lib/workshop/config.ts @@ -1,10 +1 @@ -/** - * All workshop slugs, ordered newest-first, in the form `YYYY-MM-DD-org-name`. - * Add a new entry at the top of the array for each new workshop. - */ -export const WORKSHOP_SLUGS = [ - '2026-07-24-hackathon-blue-bat-18', -] as const; - -/** The slug for the current (latest) active workshop. */ -export const CURRENT_WORKSHOP_SLUG = WORKSHOP_SLUGS[0]; +// Workshop configuration — no per-org slugs; the workshop is served at /workshop/. diff --git a/docs/src/pages/workshops/[org].astro b/docs/src/pages/workshop/index.astro similarity index 63% rename from docs/src/pages/workshops/[org].astro rename to docs/src/pages/workshop/index.astro index ff472fd4738..39b7da65f39 100644 --- a/docs/src/pages/workshops/[org].astro +++ b/docs/src/pages/workshop/index.astro @@ -1,14 +1,6 @@ --- import StarlightPage from '@astrojs/starlight/components/StarlightPage.astro'; import WorkshopExperience from '../../components/workshop/WorkshopExperience.astro'; -import { WORKSHOP_SLUGS } from '../../lib/workshop/config'; - -export function getStaticPaths() { - return WORKSHOP_SLUGS.map((org) => ({ params: { org } })); -} - -const { org } = Astro.params; -if (!org) throw new Error('Workshop route: missing org param'); --- - +