diff --git a/.github/plugin/marketplace.json b/.github/plugin/marketplace.json index e5b29404..a7a7742a 100644 --- a/.github/plugin/marketplace.json +++ b/.github/plugin/marketplace.json @@ -849,6 +849,36 @@ "description": "Visual whiteboard collaboration for Copilot CLI. Opens an interactive whiteboard in your browser where you can draw, sketch, and add sticky notes — then share everything back with Copilot. Copilot sees your drawings and responds with analysis, suggestions, and ideas.", "version": "1.0.0" }, + { + "name": "netlify", + "description": "Netlify platform skills covering functions, edge functions, blobs, database, identity, image CDN, forms, config, CLI, frameworks, caching, AI Gateway, and deployment — plus the official Netlify MCP server for creating and managing projects, deploys, and environment variables.", + "version": "1.1.0", + "author": { + "name": "Netlify", + "url": "https://www.netlify.com" + }, + "repository": "https://github.com/netlify/context-and-tools", + "homepage": "https://www.netlify.com", + "license": "MIT", + "keywords": [ + "netlify", + "deployment", + "serverless", + "functions", + "edge-functions", + "blobs", + "database", + "mcp", + "ai-gateway", + "frameworks" + ], + "source": { + "source": "github", + "repo": "netlify/context-and-tools", + "ref": "v1.2.0", + "sha": "e10cd19c000651620453e99ed138b8f012d069c7" + } + }, { "name": "noob-mode", "source": "plugins/noob-mode", diff --git a/.github/workflows/build-website.yml b/.github/workflows/build-website.yml index 77080a3e..ba0a0f0d 100644 --- a/.github/workflows/build-website.yml +++ b/.github/workflows/build-website.yml @@ -4,14 +4,19 @@ on: pull_request: branches: [main] paths: - - website - - agents - - skills - - plugins - - instructions - - hooks - - workflows - - extensions + - "website/**" + - "agents/**" + - "skills/**" + - "plugins/**" + - "instructions/**" + - "hooks/**" + - "workflows/**" + - "extensions/**" + - "cookbook/**" + - "eng/**" + - ".all-contributorsrc" + - "package.json" + - "package-lock.json" permissions: contents: read diff --git a/package-lock.json b/package-lock.json index 89bb0758..72e4f3cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "js-yaml": "^5.2.1", + "js-yaml": "^5.2.2", "vfile": "^6.0.3", "vfile-matter": "^5.0.1" }, @@ -643,9 +643,9 @@ } }, "node_modules/js-yaml": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.2.1.tgz", - "integrity": "sha512-zfLtNfQqxVqq3uaTqSkh4x4hZw3KHobGUA0fJUj4wawW8bsQLTVqpHdXSIzidh7o+4lEW36tANuAGdaFx6Zgnw==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.2.2.tgz", + "integrity": "sha512-dayzUzKkJ1MkuUtZglSebU43utNXH0OWQByK9rKOOuYIO8M5TV1y+n8ALMdG0rdzBnfNkOmZEqrURepb0ejqBw==", "funding": [ { "type": "github", diff --git a/package.json b/package.json index dd6a905d..323c3d63 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "all-contributors-cli": "^6.26.1" }, "dependencies": { - "js-yaml": "^5.2.1", + "js-yaml": "^5.2.2", "vfile": "^6.0.3", "vfile-matter": "^5.0.1" } diff --git a/plugins/external.json b/plugins/external.json index 04af67c2..1c45ecb4 100644 --- a/plugins/external.json +++ b/plugins/external.json @@ -575,6 +575,36 @@ "sha": "ef5367b446566bdc90960deeb40def63f9e7024e" } }, + { + "name": "netlify", + "description": "Netlify platform skills covering functions, edge functions, blobs, database, identity, image CDN, forms, config, CLI, frameworks, caching, AI Gateway, and deployment — plus the official Netlify MCP server for creating and managing projects, deploys, and environment variables.", + "version": "1.1.0", + "author": { + "name": "Netlify", + "url": "https://www.netlify.com" + }, + "repository": "https://github.com/netlify/context-and-tools", + "homepage": "https://www.netlify.com", + "license": "MIT", + "keywords": [ + "netlify", + "deployment", + "serverless", + "functions", + "edge-functions", + "blobs", + "database", + "mcp", + "ai-gateway", + "frameworks" + ], + "source": { + "source": "github", + "repo": "netlify/context-and-tools", + "ref": "v1.2.0", + "sha": "e10cd19c000651620453e99ed138b8f012d069c7" + } + }, { "name": "pm-skills", "description": "MCP server and 12 skills for product analysis, specification writing, strategy, narrative, and stakeholder alignment. Run competitive analyses, write zero-question specs, design metrics, and produce executive-ready documents directly from Copilot.", diff --git a/website/astro.config.mjs b/website/astro.config.mjs index 77f25a4d..b9d80718 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -1,3 +1,4 @@ +import { unified } from "@astrojs/markdown-remark"; import sitemap from "@astrojs/sitemap"; import starlight from "@astrojs/starlight"; import { defineConfig } from "astro/config"; @@ -34,9 +35,16 @@ export default defineConfig({ base: "/", output: "static", markdown: { - remarkPlugins: [ - [remarkGithubAdmonitionsToDirectives, { mapping: githubAdmonitionMapping }], - ], + // Astro 7.1+ uses Sätteri as the default Markdown processor, but its plugin + // API is incompatible with remark/rehype plugins. We explicitly opt into the + // unified() (remark/rehype) processor so we can keep using + // remark-github-admonitions-to-directives, which rewrites > [!NOTE] callouts + // from Learning Hub course content into Starlight aside directives. + processor: unified({ + remarkPlugins: [ + [remarkGithubAdmonitionsToDirectives, { mapping: githubAdmonitionMapping }], + ], + }), }, integrations: [ starlight({ diff --git a/website/package-lock.json b/website/package-lock.json index daab1888..25fa52ce 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -9,6 +9,7 @@ "version": "1.0.0", "license": "MIT", "dependencies": { + "@astrojs/markdown-remark": "^7.2.0", "@astrojs/sitemap": "^3.7.2", "@astrojs/starlight": "^0.41.1", "astro": "^7.1.3", @@ -135,9 +136,6 @@ "cpu": [ "arm64" ], - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -154,9 +152,6 @@ "cpu": [ "arm64" ], - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -173,9 +168,6 @@ "cpu": [ "x64" ], - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -192,9 +184,6 @@ "cpu": [ "x64" ], - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -280,6 +269,47 @@ "unified": "^11.0.5" } }, + "node_modules/@astrojs/markdown-remark": { + "version": "7.2.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@astrojs/markdown-remark/-/markdown-remark-7.2.1.tgz", + "integrity": "sha1-aqr0TwtErS/QUYN+btMULs0y5Mg=", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.10.1", + "@astrojs/prism": "4.0.2", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remark-smartypants": "^3.0.2", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.1.0", + "unist-util-visit-parents": "^6.0.2", + "vfile": "^6.0.3" + } + }, + "node_modules/@astrojs/markdown-remark/node_modules/@astrojs/internal-helpers": { + "version": "0.10.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@astrojs/internal-helpers/-/internal-helpers-0.10.1.tgz", + "integrity": "sha1-P5a2TPc9ORmbGnCQneSIoAXFB3Y=", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.4", + "@types/mdast": "^4.0.4", + "js-yaml": "^4.1.1", + "picomatch": "^4.0.4", + "retext-smartypants": "^6.2.0", + "shiki": "^4.0.2", + "smol-toml": "^1.6.0", + "unified": "^11.0.5" + } + }, "node_modules/@astrojs/markdown-satteri": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/@astrojs/markdown-satteri/-/markdown-satteri-0.3.4.tgz", @@ -1427,9 +1457,6 @@ "cpu": [ "arm" ], - "libc": [ - "glibc" - ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1446,9 +1473,6 @@ "cpu": [ "arm64" ], - "libc": [ - "glibc" - ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1465,9 +1489,6 @@ "cpu": [ "ppc64" ], - "libc": [ - "glibc" - ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1484,9 +1505,6 @@ "cpu": [ "riscv64" ], - "libc": [ - "glibc" - ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1503,9 +1521,6 @@ "cpu": [ "s390x" ], - "libc": [ - "glibc" - ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1522,9 +1537,6 @@ "cpu": [ "x64" ], - "libc": [ - "glibc" - ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1541,9 +1553,6 @@ "cpu": [ "arm64" ], - "libc": [ - "musl" - ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1560,9 +1569,6 @@ "cpu": [ "x64" ], - "libc": [ - "musl" - ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1579,9 +1585,6 @@ "cpu": [ "arm" ], - "libc": [ - "glibc" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1604,9 +1607,6 @@ "cpu": [ "arm64" ], - "libc": [ - "glibc" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1629,9 +1629,6 @@ "cpu": [ "ppc64" ], - "libc": [ - "glibc" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1654,9 +1651,6 @@ "cpu": [ "riscv64" ], - "libc": [ - "glibc" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1679,9 +1673,6 @@ "cpu": [ "s390x" ], - "libc": [ - "glibc" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1704,9 +1695,6 @@ "cpu": [ "x64" ], - "libc": [ - "glibc" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1729,9 +1717,6 @@ "cpu": [ "arm64" ], - "libc": [ - "musl" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1754,9 +1739,6 @@ "cpu": [ "x64" ], - "libc": [ - "musl" - ], "license": "Apache-2.0", "optional": true, "os": [ @@ -5886,9 +5868,9 @@ "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.15", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz", - "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==", + "version": "3.3.16", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", + "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", "funding": [ { "type": "github", @@ -6205,9 +6187,9 @@ } }, "node_modules/postcss": { - "version": "8.5.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.16.tgz", - "integrity": "sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==", + "version": "8.5.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.23.tgz", + "integrity": "sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==", "funding": [ { "type": "opencollective", @@ -6224,7 +6206,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.12", + "nanoid": "^3.3.16", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, diff --git a/website/package.json b/website/package.json index 81322eb6..cc178d95 100644 --- a/website/package.json +++ b/website/package.json @@ -19,6 +19,7 @@ "author": "GitHub", "license": "MIT", "dependencies": { + "@astrojs/markdown-remark": "^7.2.0", "@astrojs/sitemap": "^3.7.2", "@astrojs/starlight": "^0.41.1", "astro": "^7.1.3",