Add Copilot Workshops sync workflow + Learning Hub i18n (#2325)

Adds an agentic (gh-aw) workflow that mirrors the multi-harness workshop
from github-samples/copilot-workshops into the Learning Hub, plus the
Starlight infrastructure it needs: GitHub-admonition rendering, i18n
locales with English at the site root, and a language picker that only
appears when a page has a non-English translation.


Copilot-Session: 9e1d1a4c-a422-4cae-8ea7-b3d5171f58e3

Co-authored-by: GeekTrainer <GeekTrainer@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Christopher Harrison
2026-07-16 17:06:29 -07:00
committed by GitHub
parent 7c2009f436
commit 65ef449bda
6 changed files with 2015 additions and 0 deletions
+34
View File
@@ -1,8 +1,22 @@
import sitemap from "@astrojs/sitemap";
import starlight from "@astrojs/starlight";
import { defineConfig } from "astro/config";
import remarkGithubAdmonitionsToDirectives from "remark-github-admonitions-to-directives";
import pagefindResources from "./src/integrations/pagefind-resources";
// Learning Hub course content mirrored from external workshop repos is authored
// in GitHub admonition syntax (`> [!NOTE]`). This remark plugin rewrites those
// callouts into Starlight aside directives before Starlight renders them, so the
// same syntax used in the source repos and on github.com also produces styled
// callouts here. The mapping targets Starlight's aside types (note / tip / caution).
const githubAdmonitionMapping = {
NOTE: "note",
TIP: "tip",
IMPORTANT: "note",
WARNING: "caution",
CAUTION: "caution",
};
const site = "https://awesome-copilot.github.com/";
const siteDescription =
"Community-contributed agents, instructions, and skills to enhance your GitHub Copilot experience";
@@ -19,6 +33,11 @@ export default defineConfig({
site,
base: "/",
output: "static",
markdown: {
remarkPlugins: [
[remarkGithubAdmonitionsToDirectives, { mapping: githubAdmonitionMapping }],
],
},
integrations: [
starlight({
title: "Awesome GitHub Copilot",
@@ -66,6 +85,20 @@ export default defineConfig({
"./src/styles/starlight-overrides.css",
"./src/styles/global.css",
],
// English is served at the site root (no locale prefix), preserving all
// existing URLs. Additional locales are served under a locale prefix
// (e.g. /es-es/…) and fall back to the English page when a translation
// does not yet exist. These keys match the locale directory names used by
// mirrored Learning Hub course content (website/src/content/docs/<locale>/…).
defaultLocale: "root",
locales: {
root: { label: "English", lang: "en" },
"es-es": { label: "Español", lang: "es-ES" },
"ja-jp": { label: "日本語", lang: "ja-JP" },
"ko-kr": { label: "한국어", lang: "ko-KR" },
"pt-br": { label: "Português (Brasil)", lang: "pt-BR" },
"zh-cn": { label: "简体中文", lang: "zh-CN" },
},
editLink: {
baseUrl:
"https://github.com/github/awesome-copilot/edit/staged/website/",
@@ -144,6 +177,7 @@ export default defineConfig({
Head: "./src/components/Head.astro",
Footer: "./src/components/Footer.astro",
Search: "./src/components/Search.astro",
LanguageSelect: "./src/components/LanguageSelect.astro",
},
}),
sitemap(),