70 lines
3.8 KiB
Markdown
70 lines
3.8 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 available at <https://napper.au/lildra>. It gives supported Canvas and QLearn lesson pages a distraction-free reading view while preserving their original content and styling.
|
|
|
|
## 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.
|
|
|
|
Lildra mirrors Hudra's product structure under `lildra/`, with its landing page plus `support/`, `privacy/` and `terms/` directory pages. Its product JavaScript and theme styles live in `js/lildra.js`, `css/lildra.css` and `css/lildra-legal.css`.
|
|
|
|
## 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 on the Chrome Web Store: <https://chromewebstore.google.com/detail/hudra/bjggdeecklhnpebgmjiaedaadmpdoddm>
|
|
- Hudra on Microsoft Edge Add-ons: <https://microsoftedge.microsoft.com/addons/detail/hudra/aogdgaofdldbpmkjknklojbhcbcfandb>
|
|
- Lildra on the Chrome Web Store: <https://chromewebstore.google.com/detail/lildra/plgcccpjkfeimphghbpojjmibmajgocp>
|
|
- Lildra on Microsoft Edge Add-ons: <https://microsoftedge.microsoft.com/addons/detail/lildra/lecbknefoekmfockhhkjopjgkoepdbnh>
|
|
- Hudra releases: <https://git.napper.au/napper/hudra/releases>
|
|
- Lildra releases: <https://git.napper.au/napper/lildra/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.
|
|
|
|
## Brand assets
|
|
|
|
Napper uses its own blue six-sided `N` logo and favicon family under `img/NapperLogo*.png`. Hudra and Lildra retain their distinct product logos and favicons.
|
|
|
|
<!-- authentication test -->
|