# Notebook Conversion Site

Clean markdown-first Next.js app for browsing converted notebook labs.

## Run

1. Install dependencies:

```bash
npm install
```

2. Start the dev server:

```bash
npm run dev
```

3. Open `http://localhost:3000`.

## Lab 3 Web Terminal

The Lab 3 terminal now prefers a runtime-served config artifact at `/courseware-runtime.json`.

Expected fields:

- `lab3TerminalUrl`

Local development still falls back to `/wetty`, and `.env.example` keeps that default for simple standalone runs.

The Linux/WSL deployment contract is:

- loopback-only `sshd` on `127.0.0.1:22`
- WeTTY exposed to the browser on `http://127.0.0.1:7681/wetty`
- a standard SSH login prompt that accepts any local account allowed by the host

## Project Structure

```text
content/
  labs/                # .md/.mdx lab files and image asset folders
src/
  app/
    page.tsx           # home page
    labs/
      page.tsx         # lab index
      [slug]/page.tsx  # lab renderer
  components/
    SiteHeader.tsx
    labs/LabContent.tsx
  lib/
    labs.ts            # lab file discovery + frontmatter loader
  styles/
    globals.css
```

## Notes

- Labs are loaded from `content/labs`.
- Both `.md` and `.mdx` files are discoverable.
- Legacy folders from the old workspace were moved to `archive/` during refactor.
