feat: host cc4e-course quiz and advanced-claude-workflows lesson on the unified Pages site

The quiz app is a pure client-side Next.js page, so it static-exports with
output: 'export' and a basePath under the site; the lesson thumbnail is a
self-contained HTML file served as that directory's index.
This commit is contained in:
2026-08-11 11:45:21 +07:00
parent 462e1fff6d
commit cf612bc23f
5 changed files with 16 additions and 8 deletions
+7
View File
@@ -47,6 +47,10 @@ jobs:
SITE_URL: https://tiennm99.github.io
SITE_BASE: /ai-coding-workflow-labs/gstack
- name: Build cc4e-course quiz
run: npm ci && npm run build
working-directory: cc4e-course/quiz-project
- name: Assemble site
run: |
set -euo pipefail
@@ -58,6 +62,9 @@ jobs:
cp -r gstack/dist _site/gstack
mkdir -p _site/oh-my-claudecode
cp -r oh-my-claudecode/index.html oh-my-claudecode/src oh-my-claudecode/styles _site/oh-my-claudecode/
cp -r cc4e-course/quiz-project/out _site/cc4e-course
mkdir -p _site/advanced-claude-workflows
cp advanced-claude-workflows/thumbnail.html _site/advanced-claude-workflows/index.html
- uses: actions/upload-pages-artifact@v3
with:
+2 -2
View File
@@ -11,8 +11,8 @@ together at **[tiennm99.github.io/ai-coding-workflow-labs](https://tiennm99.gith
| [`bmad/`](./bmad/) | BMAD method (Vite/JS) | [/bmad/](https://tiennm99.github.io/ai-coding-workflow-labs/bmad/) |
| [`oh-my-claudecode/`](./oh-my-claudecode/) | oh-my-claudecode (static) | [/oh-my-claudecode/](https://tiennm99.github.io/ai-coding-workflow-labs/oh-my-claudecode/) |
| [`gstack/`](./gstack/) | gstack starter (Astro/Bun) | [/gstack/](https://tiennm99.github.io/ai-coding-workflow-labs/gstack/) |
| [`cc4e-course/`](./cc4e-course/) | Claude Code for Everyone course work | [Vercel](https://cc4e-course-lilac.vercel.app) |
| [`advanced-claude-workflows/`](./advanced-claude-workflows/) | Hooks/aliases notes | |
| [`cc4e-course/`](./cc4e-course/) | Claude Code for Everyone course work | [/cc4e-course/](https://tiennm99.github.io/ai-coding-workflow-labs/cc4e-course/) |
| [`advanced-claude-workflows/`](./advanced-claude-workflows/) | Hooks/aliases notes | [/advanced-claude-workflows/](https://tiennm99.github.io/ai-coding-workflow-labs/advanced-claude-workflows/) |
The `Deploy to GitHub Pages` workflow builds every app with its base path under
this repo and publishes them as one site with a root index.
+1 -1
View File
@@ -1,6 +1,6 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />
import "./.next/dev/types/routes.d.ts";
import "./.next/types/routes.d.ts";
// NOTE: This file should not be edited
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
+4 -1
View File
@@ -1,7 +1,10 @@
import type { NextConfig } from "next";
const nextConfig: NextConfig = {
/* config options here */
// Static export so the quiz can be served from GitHub Pages
// under /ai-coding-workflow-labs/cc4e-course/.
output: "export",
basePath: "/ai-coding-workflow-labs/cc4e-course",
};
export default nextConfig;
+2 -4
View File
@@ -22,10 +22,8 @@
<li><a href="./bmad/">bmad</a> — trying the BMAD method</li>
<li><a href="./oh-my-claudecode/">oh-my-claudecode</a> — trying oh-my-claudecode</li>
<li><a href="./gstack/">gstack</a> — trying the gstack starter</li>
<li><a href="./cc4e-course/">cc4e-course</a> — quiz project from the Claude Code for Everyone course</li>
<li><a href="./advanced-claude-workflows/">advanced-claude-workflows</a> — interactive lesson thumbnail</li>
</ul>
<p class="note">Not deployed here:
<a href="https://cc4e-course-lilac.vercel.app">cc4e-course</a> (hosted on Vercel) and
<a href="https://github.com/tiennm99/ai-coding-workflow-labs/tree/main/advanced-claude-workflows">advanced-claude-workflows</a> (notes only).
</p>
</body>
</html>