31 lines
1.4 KiB
Markdown
31 lines
1.4 KiB
Markdown
# upub-web
|
|
|
|

|
|
|
|
this is μpub main frontend: it's a single wasm bundle doing client-side routing for faster navigation between objects
|
|
|
|
it has the drawback of not being search-engine friendly, but machines should process data for machines themselves (aka: the AP documents), so it's probably fine to have a "js"-heavy frontend
|
|
|
|
## development
|
|
|
|
it's probably possible to get `upub-web` to build with just `wasm-bindgen`, but i recommend just using `trunk` to keep your sanity. trunk will download by itself `wasm-bindgen-cli`.
|
|
|
|
```
|
|
UPUB_BASE_URL=https://dev.upub.social trunk serve --public-url http://127.0.0.1:8080/web
|
|
```
|
|
|
|
will give you a local development server with auto-reload pointing to `dev.upub.social`, so you don't even need to spin up a local instance (omit `UPUB_BASE_URL` env variable to make frontend point to localhost instead)
|
|
|
|
setting `public-url` is necessary: while deploying, axum will handle getting you to the correct pages, but in trunk dev env this has to be done by trunk itself. note also that resource urls will differ: on prod they will be `/web/assets/style.css`, while on dev `/assets` segment won't be present!
|
|
|
|
## building
|
|
|
|
just run
|
|
|
|
```
|
|
$ trunk build --release
|
|
```
|
|
|
|
to generate the `./web/dist` folder containing all necessary assets
|
|
|
|
either serve these yourself, or compile main `upub` with `web` feature enable to have it bundle these freshly built frontend files
|