63 lines
1.4 KiB
Markdown
63 lines
1.4 KiB
Markdown
# 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
|
|
|
|
Set `NEXT_PUBLIC_LAB3_TERMINAL_PATH` to the WeTTY endpoint used by your deployment. The default expected path is `/wetty`, and `.env.example` includes that value. Local environments can also provide a full URL such as `http://127.0.0.1:7681/wetty`.
|
|
|
|
The Lab 3 widget assumes:
|
|
|
|
- WeTTY runs on the lab host and is bound to `127.0.0.1`
|
|
- the public proxy forwards `/wetty` to the local WeTTY port
|
|
- WebSocket upgrade happens at the reverse proxy
|
|
- WeTTY is launched as root so it can present `/bin/login` locally instead of SSH
|
|
|
|
Example service command:
|
|
|
|
```bash
|
|
wetty --host 127.0.0.1 --port 3001 --base /wetty --allow-iframe
|
|
```
|
|
|
|
## 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.
|