🔧 master: work in progress [might break]

This commit is contained in:
Leon van Kammen 2026-08-20 10:28:31 +02:00
parent 3c47528084
commit e3bcf6b603

View file

@ -10,6 +10,9 @@ An open, seamless XR web built from simple URLs and directories, without gatekee
<img src="screenshot.jpg"/> <img src="screenshot.jpg"/>
</a> </a>
<div class="p" id="features">
## Features
* turn everyday directories into 3D portals. * turn everyday directories into 3D portals.
* seamlessly "surf" interconnected spatial webs on XR headsets * seamlessly "surf" interconnected spatial webs on XR headsets
* transforms local/remote filesystems into interconnected 3D spaces. * transforms local/remote filesystems into interconnected 3D spaces.
@ -44,6 +47,10 @@ An open, seamless XR web built from simple URLs and directories, without gatekee
└───────────────────────────────────┘ └───────────────────────────────────┘
``` ```
</div>
<div class="p" id="radical">
## Usage / Radical Opensource ## Usage / Radical Opensource
@ -65,6 +72,10 @@ Usage: ./xrforge.com <cmd> [opts]
Profit! now run `xrforge.com admin` and XRForge will be launched in a webbrowser Profit! now run `xrforge.com admin` and XRForge will be launched in a webbrowser
</div>
<div class="p" id="content">
## Example content ## Example content
You can override the default content (embedded in the executable). You can override the default content (embedded in the executable).
@ -78,6 +89,9 @@ opening your browser at https://localhost:8080
> just look around in `myverse` and get a hunch of how directories + sidecarfiles are used to manage content. > just look around in `myverse` and get a hunch of how directories + sidecarfiles are used to manage content.
</div>
<div class="p" id="radical">
## Radical opensource ## Radical opensource
``` ```
@ -94,6 +108,10 @@ Archive: result/bin/xrforge.com
> Profit! you have aqcuired the sourcecode from the binary: run and distribute modified versions if needed ♥ > Profit! you have aqcuired the sourcecode from the binary: run and distribute modified versions if needed ♥
</div>
<div class="addcontent" id="addcontent">
## Adding content ## Adding content
First you need a directory with glTF or JanusXR experiences.<br> First you need a directory with glTF or JanusXR experiences.<br>
@ -119,6 +137,9 @@ myverse
``` ```
> optionally you can run `./xrforge.com admin` and change the `myverse` directory if needed. > optionally you can run `./xrforge.com admin` and change the `myverse` directory if needed.
</div>
<div class="addcontent">
Now xrforge.com will scan that local folder: Now xrforge.com will scan that local folder:
@ -143,6 +164,10 @@ $ ./xrforge.gom
✅ └─ plugin/diskscan: detected symlink..creating portal ✅ └─ plugin/diskscan: detected symlink..creating portal
``` ```
</div>
<div class="p">
## Customizing ## Customizing
After first (in the terminal) run a lua config file is created, which you can edit: After first (in the terminal) run a lua config file is created, which you can edit:
@ -166,6 +191,10 @@ page css
Optionally you can re-distribute `xrforge.com` with your modifications by running `zip xrforge.com page` Optionally you can re-distribute `xrforge.com` with your modifications by running `zip xrforge.com page`
</div>
<div class="distribute">
## Distribute: your own executable ## Distribute: your own executable
You can preload the `xrforge.com` binary with your own experiences <b>as a single-executable-file</b>: You can preload the `xrforge.com` binary with your own experiences <b>as a single-executable-file</b>:
@ -177,6 +206,10 @@ $ cp xrforge.com myproject.com
> Profit! > Profit!
</div>
<div class="distribute">
## Distribute: static website ## Distribute: static website
Generate a static website: Generate a static website:
@ -191,6 +224,10 @@ to automatically obtain a xrforge-generated github page.
> NOTE: passing extra flags (run `xrforge.com help` for all flags) is important when running the website in a subfolder (`baseurl=...` e.g.) > NOTE: passing extra flags (run `xrforge.com help` for all flags) is important when running the website in a subfolder (`baseurl=...` e.g.)
</div>
<div class="distribute">
## Distribute: selfhosting on a server ## Distribute: selfhosting on a server
<b>BAREMETAL:</b> <b>BAREMETAL:</b>
@ -208,6 +245,8 @@ $ docker run -d -p 8080:8080 -w /app -v $(pwd):/app busybox /app/xrforge.com ser
``` ```
</div>
## Plugins ## Plugins
xrforge is basically plugins working together.<br> xrforge is basically plugins working together.<br>
@ -239,6 +278,8 @@ Use `ARCH=x86_64 build` to enforce x86_64 output (instead of a cosmopolitan bina
> **NOTE**: this is a **static webgenerator-first**-and-server-**last** project, hence it is restricted to [GET requests](src/middleware/onlyGET.lua) (unless authenticated as admin). Going beyond this paradigm is considered unsafe and out of scope. > **NOTE**: this is a **static webgenerator-first**-and-server-**last** project, hence it is restricted to [GET requests](src/middleware/onlyGET.lua) (unless authenticated as admin). Going beyond this paradigm is considered unsafe and out of scope.
<div class="p">
## Permacomputing Spirit ## Permacomputing Spirit
* developed on [Dillo](https://dillo-browser.github.io/) as lowest common denominator / compatibility * developed on [Dillo](https://dillo-browser.github.io/) as lowest common denominator / compatibility
@ -248,7 +289,11 @@ Use `ARCH=x86_64 build` to enforce x86_64 output (instead of a cosmopolitan bina
> So yes, the codebase/html/css is intentionally 90-ish: that's **exactly why it gracefully degrades** on potato-devices. > So yes, the codebase/html/css is intentionally 90-ish: that's **exactly why it gracefully degrades** on potato-devices.
## Credits / Made with </p>
<div class="p">
## FOSS Credits / Made with
* [redbean](https://redbean.dev) * [redbean](https://redbean.dev)
* [soakbean](https://github.com/coderofsalvation/soakbean) * [soakbean](https://github.com/coderofsalvation/soakbean)
@ -256,6 +301,8 @@ Use `ARCH=x86_64 build` to enforce x86_64 output (instead of a cosmopolitan bina
* [janusxr](https://github.com/jbaicoianu/janusweb) * [janusxr](https://github.com/jbaicoianu/janusweb)
* [janusweb](https://janusxr.org) * [janusweb](https://janusxr.org)
</div>
## Ideas ## Ideas
* tabs horizontal stacked for xrforge.max.css * tabs horizontal stacked for xrforge.max.css