From 2dc4dd9eb5e103d5c11fe853813c2a188e880690 Mon Sep 17 00:00:00 2001
From: Cursor Agent
Date: Tue, 22 Sep 2026 07:46:07 +0000
Subject: [PATCH 1/2] Add concept quizzes and quiet the MDX head-inject build
warnings.
Quizzes can be JSON in content/quizzes or written in the browser. Astro 7.3 still emits a head-inject directive Rolldown warns about; propagation already uses the module id, so the build strips that leftover line.
Co-authored-by: Jon Marien
---
README.md | 44 ++-
astro.config.mjs | 18 +-
content/quizzes/boundary-checks.json | 41 +++
content/quizzes/control-distinctions.json | 41 +++
docs/readme/quiz.png | Bin 0 -> 175748 bytes
src/components/SiteFooter.astro | 1 +
src/components/SiteHeader.astro | 1 +
src/components/react/LocalQuizPlayer.tsx | 38 +++
src/components/react/QuizEditor.tsx | 335 ++++++++++++++++++++++
src/components/react/QuizIndex.tsx | 92 ++++++
src/components/react/QuizPlayer.tsx | 161 +++++++++++
src/content.config.ts | 13 +
src/lib/browser-quizzes.ts | 69 +++++
src/lib/quiz-schema.ts | 86 ++++++
src/lib/quizzes.ts | 64 +++++
src/pages/about.astro | 5 +-
src/pages/index.astro | 8 +-
src/pages/quizzes/[slug].astro | 21 ++
src/pages/quizzes/index.astro | 41 +++
src/pages/quizzes/local.astro | 8 +
src/pages/quizzes/new.astro | 24 ++
21 files changed, 1097 insertions(+), 14 deletions(-)
create mode 100644 content/quizzes/boundary-checks.json
create mode 100644 content/quizzes/control-distinctions.json
create mode 100644 docs/readme/quiz.png
create mode 100644 src/components/react/LocalQuizPlayer.tsx
create mode 100644 src/components/react/QuizEditor.tsx
create mode 100644 src/components/react/QuizIndex.tsx
create mode 100644 src/components/react/QuizPlayer.tsx
create mode 100644 src/lib/browser-quizzes.ts
create mode 100644 src/lib/quiz-schema.ts
create mode 100644 src/lib/quizzes.ts
create mode 100644 src/pages/quizzes/[slug].astro
create mode 100644 src/pages/quizzes/index.astro
create mode 100644 src/pages/quizzes/local.astro
create mode 100644 src/pages/quizzes/new.astro
diff --git a/README.md b/README.md
index 8555507..4edb789 100644
--- a/README.md
+++ b/README.md
@@ -15,7 +15,7 @@ Structured reading for BSCP and Security+ (SY0-701 style): what to compare in a
-[Quick Start](#-quick-start) · [Screenshots](#-screenshots) · [How It Works](#-how-it-works) · [The Repo](#-whats-in-this-repo) · [Lesson Anatomy](#-anatomy-of-a-lesson) · [The Rules](#-non-negotiables) · [FAQ](#-faq--troubleshooting)
+[Quick Start](#-quick-start) · [Screenshots](#-screenshots) · [How It Works](#-how-it-works) · [The Repo](#-whats-in-this-repo) · [Lesson Anatomy](#-anatomy-of-a-lesson) · [Quizzes](#-adding-a-quiz) · [The Rules](#-non-negotiables) · [FAQ](#-faq--troubleshooting)
@@ -40,6 +40,7 @@ Question practice stays in **Drill**, with the coach. This app is the reading ha
- [Quick start](#-quick-start)
- [What's in this repo](#-whats-in-this-repo)
- [Anatomy of a lesson](#-anatomy-of-a-lesson)
+- [Adding a quiz](#-adding-a-quiz)
- [The two tracks](#-the-two-tracks)
- [Non-negotiables](#-non-negotiables)
- [FAQ / troubleshooting](#-faq--troubleshooting)
@@ -58,6 +59,10 @@ The banner above is an illustration. These are the running desk.
+
+
+
+
@@ -136,7 +141,8 @@ cert-study/
├── src/content.config.ts 📚 Astro content collections for the MDX lessons
├── content/
│ ├── bscp/ 🔓 BSCP lessons (*.mdx)
-│ └── security-plus/ 🛡️ Security+ lessons (*.mdx)
+│ ├── security-plus/ 🛡️ Security+ lessons (*.mdx)
+│ └── quizzes/ ✅ Concept checks (*.json)
├── astro.config.mjs 🏝️ Framework integrations
├── bunfig.toml 📦 Forces the binary bun.lockb lockfile
└── bun.lockb 🔒 Lockfile committed for a clean clone
@@ -144,8 +150,8 @@ cert-study/
| Path | What it is |
| --- | --- |
-| **`src/pages/`** | Astro routes. Home, `/bscp`, `/security-plus`, `/[track]/[slug]`, `/search`, `/about`. |
-| **`src/components/react/`** | Search dialog. |
+| **`src/pages/`** | Astro routes. Home, `/bscp`, `/security-plus`, `/[track]/[slug]`, `/quizzes`, `/search`, `/about`. |
+| **`src/components/react/`** | Search dialog, quiz player, and the in-browser quiz editor. |
| **`src/components/vue/`** | Track hub filters and module list. |
| **`src/components/svelte/`** | Lesson progress buttons. Opening a lesson marks it in progress. |
| **`src/components/solid/`** | Light / Dark control. |
@@ -229,6 +235,29 @@ Security+ notes use `` when the point is how a stem is usually framed. Do
The MDX compiler keeps these components and strips other `{expressions}`. In the body, avoid raw `{` `}` and avoid `<` except on `Lab`, `Defend`, `Pitfall`, and `Exam`.
+## 🧩 Adding a quiz
+
+A quiz is one JSON file, or a quiz you save from `/quizzes/new`. The filename is the slug.
+
+```json
+{
+ "title": "Boundary checks",
+ "track": "bscp",
+ "summary": "At least twenty-four characters describing the check.",
+ "lesson": { "track": "bscp", "slug": "access-control" },
+ "questions": [
+ {
+ "prompt": "A full question, at least twelve characters.",
+ "choices": ["First distinct choice", "Second distinct choice"],
+ "answer": 0,
+ "explain": "Why that choice matches the note, in your own words."
+ }
+ ]
+}
+```
+
+`track` is `bscp`, `security-plus`, or `mixed`. `answer` is the index of the correct choice. `lesson` is optional and must point at a real note. Download from the editor writes this shape. Put the file in `content/quizzes/` and run `bun run build`.
+
## 🎯 The two tracks
| Track | Route | Families | Start here |
@@ -244,7 +273,7 @@ Outlines already in the tree (business logic, race conditions, cache poisoning,
1. **Study-level concepts and lab technique.** Describe what to look for and how a tester or defender reasons. Academy labs are where specific syntax belongs, and only against targets you are allowed to test.
2. **No exploit procedures.** No proof-of-concepts, weaponized payloads, malware, copy-paste attack scripts, wordlists, or tool walkthroughs that fire an attack.
-3. **No question banks.** No copied CompTIA or PortSwigger exam items, and no original quiz engine or flashcard deck in this app. Drill owns the reps.
+3. **No copied exam items.** Quizzes in `content/quizzes`, and quizzes saved in this browser, are original concept checks. Do not paste CompTIA or PortSwigger questions.
4. **Original prose.** Citing a public Academy topic name in `academy:` is fine. Pasting their lab solutions is not.
5. **The build is the editor.** Invalid frontmatter, a family that is not in `src/lib/tracks.ts`, a duplicate `order`, a related slug that does not exist, or a start-here slug that is missing or still an outline fails the build with `Content error:`.
6. **Progress stays on this machine.** `localStorage` only. No accounts in v1.
@@ -282,9 +311,9 @@ Solid is the theme control. React is search. Vue is the track hub. Svelte is les
-Can I add a quiz?
+How do I add a quiz?
-No. Question practice stays in Drill. New files here are reading notes.
+Open `/quizzes/new` and save it in this browser, or add `content/quizzes/your-slug.json` and rebuild. The file needs a title, a track (`bscp`, `security-plus`, or `mixed`), a summary, and one to twenty questions. Each question has a prompt, two to five distinct choices, an `answer` index, and an explanation. Prompts stay conceptual. A bad file fails `bun run build` with `Content error`.
## 📈 Status & roadmap
@@ -293,6 +322,7 @@ No. Question practice stays in Drill. New files here are reading notes.
- [x] Home, track hubs, lesson pages, search, local progress, dark mode
- [x] Astro islands for React, Vue, Svelte, Solid, Preact, Lit, and Alpine
+- [x] Original concept quizzes, plus a browser editor that can download JSON
- [x] BSCP ready notes for the high-yield Academy families and the five Burp tools
- [x] Security+ ready notes across the five SY0-701 style domains
- [ ] Fill the labeled outlines (business logic, race conditions, cache poisoning, host headers, API testing, WebSockets, prototype pollution, and the six Security+ stubs)
diff --git a/astro.config.mjs b/astro.config.mjs
index faab5ae..93e092f 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -10,9 +10,25 @@ import vue from "@astrojs/vue";
import tailwindcss from "@tailwindcss/vite";
import { defineConfig } from "astro/config";
+// Astro 7.3 still emits this directive on MDX propagation modules. Head metadata
+// is chosen from the ?astroPropagatedAssets id, and Rolldown warns that it may
+// drop the directive. Remove it so production builds stay quiet.
+function stripUnusedHeadInjectDirective() {
+ return {
+ name: "strip-unused-astro-head-inject",
+ enforce: "post",
+ transform(code, id) {
+ if (!id.includes("astroPropagatedAssets") || !code.includes("use astro:head-inject")) {
+ return;
+ }
+ return code.replaceAll(/["']use astro:head-inject["'];?/g, "");
+ },
+ };
+}
+
export default defineConfig({
vite: {
- plugins: [tailwindcss()],
+ plugins: [tailwindcss(), stripUnusedHeadInjectDirective()],
resolve: {
alias: {
"@": fileURLToPath(new URL("./src", import.meta.url)),
diff --git a/content/quizzes/boundary-checks.json b/content/quizzes/boundary-checks.json
new file mode 100644
index 0000000..84c5ef4
--- /dev/null
+++ b/content/quizzes/boundary-checks.json
@@ -0,0 +1,41 @@
+{
+ "title": "Boundary checks",
+ "track": "bscp",
+ "summary": "Three distinctions from the BSCP notes: who may read a response, what a session proves, and which control stops injected script.",
+ "lesson": { "track": "bscp", "slug": "access-control" },
+ "questions": [
+ {
+ "prompt": "A script on another site can read an authenticated response from yours. What went wrong?",
+ "choices": [
+ "The browser refused to send the request",
+ "The server told the browser that the other origin may read the response",
+ "The user followed a link",
+ "The session cookie was marked Secure"
+ ],
+ "answer": 1,
+ "explain": "Cross-origin resource sharing decides whether foreign script may read the response. The request can still be sent. Cross-site request forgery is about an action caused by a request the browser attaches cookies to, not about reading the body."
+ },
+ {
+ "prompt": "Someone is signed in and can open another person's record by changing an identifier. Where is the gap?",
+ "choices": [
+ "Authentication, because the session exists",
+ "Access control on that specific object",
+ "Transport encryption",
+ "The absence of a login page"
+ ],
+ "answer": 1,
+ "explain": "Authentication already established who they are. The missing check is whether that identity may use that object. That check is access control."
+ },
+ {
+ "prompt": "Untrusted data is written into a page and the browser treats it as script. Which statement matches the notes?",
+ "choices": [
+ "A content security policy is the fix, and encoding is optional",
+ "Encode for the context the data is written into. A tight content security policy is a second layer",
+ "Hiding the element with CSS contains it",
+ "Turning off cookies removes the issue"
+ ],
+ "answer": 1,
+ "explain": "Output encoding stops the browser from treating data as script. A content security policy can limit what still runs if encoding fails. A policy that allows inline script does not contain the issue."
+ }
+ ]
+}
diff --git a/content/quizzes/control-distinctions.json b/content/quizzes/control-distinctions.json
new file mode 100644
index 0000000..1d411f8
--- /dev/null
+++ b/content/quizzes/control-distinctions.json
@@ -0,0 +1,41 @@
+{
+ "title": "Control distinctions",
+ "track": "security-plus",
+ "summary": "Three Security+ style distinctions: disclosure versus change, what a camera is for, and what insurance does to a risk.",
+ "lesson": { "track": "security-plus", "slug": "security-controls" },
+ "questions": [
+ {
+ "prompt": "A record is shown to someone who should not have it, and the bits themselves are unchanged. Which goal failed?",
+ "choices": [
+ "Confidentiality",
+ "Integrity",
+ "Availability",
+ "Authentication"
+ ],
+ "answer": 0,
+ "explain": "Confidentiality is about unauthorized disclosure. Integrity is unauthorized or accidental change. Availability is being able to use the system when you should. Confirm the wording against CompTIA's glossary before the exam. This is a study distinction, not an official item."
+ },
+ {
+ "prompt": "A camera records who comes through a door. Which control shape is that?",
+ "choices": [
+ "Technical preventive",
+ "Physical detective",
+ "Managerial corrective",
+ "Technical compensating"
+ ],
+ "answer": 1,
+ "explain": "A camera records what happened, so it is detective, and it is a physical device. A lock on the same door would be physical preventive. The camera does not stop the entry by itself."
+ },
+ {
+ "prompt": "The team buys insurance for flood damage in the server room. What did they do with the risk?",
+ "choices": [
+ "Mitigate it by lowering the chance",
+ "Transfer the financial impact",
+ "Avoid it by leaving the room unused",
+ "Accept it with no further action"
+ ],
+ "answer": 1,
+ "explain": "Insurance shifts the financial impact to another party. Mitigation would be raising the equipment or adding a barrier. Avoidance would be not operating in that room. Acceptance is keeping the risk without extra action."
+ }
+ ]
+}
diff --git a/docs/readme/quiz.png b/docs/readme/quiz.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac04461d89e99ce41c048e3bede3a3097a21e767
GIT binary patch
literal 175748
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