64 lines
3.1 KiB
Markdown
64 lines
3.1 KiB
Markdown
# Napper Website
|
|
|
|
Static source for the Napper application ecosystem website, deployed at <https://napper.au> from the `napper/site` Gitea repository.
|
|
|
|
## Current products
|
|
|
|
- **Hudra** is available at <https://napper.au/hudra>. It turns complete QLearn lesson pages into a presentation or slide-style classroom teaching experience.
|
|
- **Lildra** is in development. It is focused on removing the surrounding QLearn interface and showing lesson-page content cleanly. A `/lildra` page has not yet been added.
|
|
- **Pendra** is planned after Lildra. A `/pendra` page has not yet been added.
|
|
|
|
## Site structure
|
|
|
|
The site uses static HTML, CSS and JavaScript without a framework, package manager, build system or templating engine.
|
|
|
|
```text
|
|
/
|
|
├── index.html Napper ecosystem homepage
|
|
├── css/
|
|
│ ├── napper.css Napper homepage styles
|
|
│ ├── hudra.css Hudra product and shared Hudra styles
|
|
│ └── hudra-legal.css Hudra support and legal-page styles
|
|
├── js/
|
|
│ ├── napper.js Napper homepage behaviour
|
|
│ └── hudra.js Hudra page behaviour
|
|
├── img/ Hudra image assets
|
|
└── hudra/
|
|
├── index.html Hudra product page
|
|
├── support/index.html Hudra support
|
|
├── privacy/index.html Hudra privacy policy
|
|
└── terms/index.html Hudra terms of use
|
|
```
|
|
|
|
The HTML uses root-relative asset and navigation paths. Opening pages directly with `file://` or serving the repository beneath a URL subpath will not reproduce production routing. Local previews should use a static server configured with this repository as its web root and with directory-index handling enabled.
|
|
|
|
## URLs and external services
|
|
|
|
- Production site: <https://napper.au>
|
|
- Canonical QLearn URL: <https://qlearn.eq.edu.au>
|
|
- Canonical Gitea organisation: <https://git.napper.au/napper>
|
|
- Hudra releases: <https://git.napper.au/napper/hudra/releases>
|
|
|
|
Production supports clean directory URLs. For example, `/hudra/privacy` serves `hudra/privacy/index.html` without requiring `index.html` in the public URL.
|
|
|
|
## Deployment
|
|
|
|
Deployment occurs automatically after a push to `main`:
|
|
|
|
1. Gitea sends a signed webhook to the CloudPanel server.
|
|
2. `dploy` creates a release from the repository state.
|
|
3. `dploy` switches the site's `current` symlink to the new release.
|
|
4. CloudPanel serves `/home/napper/htdocs/napper.au/current` as the document root for `napper.au`.
|
|
|
|
The production document-root and directory-index arrangement are therefore part of the site's routing assumptions.
|
|
|
|
## Repository philosophy
|
|
|
|
The repository is the source of truth, not individual conversations. Important architectural, development and deployment decisions must be recorded here or in `AGENTS.md` so that future contributors inherit the correct context.
|
|
|
|
## Known asset work
|
|
|
|
The Napper ecosystem homepage deliberately has no favicon until a dedicated neutral Napper favicon is created. Hudra product assets must not be used as Napper ecosystem branding.
|
|
|
|
<!-- authentication test -->
|