🔧 master: work in progress [might break]
This commit is contained in:
parent
3c47528084
commit
e3bcf6b603
1 changed files with 48 additions and 1 deletions
49
README.md
49
README.md
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue