From 630508a0f8609dfe7762743feac2cf0add5b1b54 Mon Sep 17 00:00:00 2001 From: Leon van Kammen Date: Thu, 6 Apr 2023 18:27:49 +0200 Subject: [PATCH] update documentation --- doc/RFC.md | 20 ++++++++++++++++++-- src/xrfragment/URI.hx | 18 +++++++++++++++++- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/doc/RFC.md b/doc/RFC.md index 3753c33..28d21c0 100644 --- a/doc/RFC.md +++ b/doc/RFC.md @@ -4,10 +4,26 @@ > version 1.0.0 -date: 2023-04-02T21:37:32+0200
+date: 2023-04-06T18:27:40+0200
[![Actions Status](https://github.com/coderofsalvation/xrfragment/workflows/test/badge.svg)](https://github.com/coderofsalvation/xrfragment/actions) -# `://foo.com/my3d.asset#pos=1,0,0&prio=-5` +# XRFragment Grammar + +``` + reserved = gen-delims / sub-delims + gen-delims = "#" / "&" + sub-delims = "," / "|" / "=" +``` + +> Example: `://foo.com/my3d.asset#pos=1,0,0&prio=-5&t=0,100|100,200` + +| Delimiter example | info | +|-|-| +| x=1,2,3 | vector/coordinate argument e.g. | +| x=foo\|bar\|1\,2,3\|1.0 | the `\|` character is used for:
1.specifying `n` arguments for xrfragment `x`
2. fallback urls (`src=https://x.co/f.gltf\|xyz://f.gltf`)
3. roundrobin of values (in case provided arguments exceeds `n` of `x` for #1) when triggered by browser URI (clicking `href` e.g.)| +| .mygroup | query-alias for `class:mygroup` | + +> This allows hasslefree 3D vector-data (`,`), multi-protocol/fallback-linking & dynamic values (`|`), and CSS-piggybacking (`.mygroup`) # URI parser > icanhazcode? yes, see [URI.hx](https://github.com/coderofsalvation/xrfragment/blob/main/src/xrfragment/URI.hx) diff --git a/src/xrfragment/URI.hx b/src/xrfragment/URI.hx index ed043aa..dbb444f 100644 --- a/src/xrfragment/URI.hx +++ b/src/xrfragment/URI.hx @@ -11,7 +11,23 @@ import xrfragment.Parser; * date: $(date +"%Y-%m-%dT%H:%M:%S%z") (generated by \`./make doc\`)
* [![Actions Status](https://github.com/coderofsalvation/xrfragment/workflows/test/badge.svg)](https://github.com/coderofsalvation/xrfragment/actions) * - * # `://foo.com/my3d.asset#pos=1,0,0&prio=-5` + * # XRFragment Grammar + * + * ``` + * reserved = gen-delims / sub-delims + * gen-delims = "#" / "&" + * sub-delims = "," / "|" / "=" + * ``` + * + * > Example: `://foo.com/my3d.asset#pos=1,0,0&prio=-5&t=0,100|100,200` + * + * | Delimiter example | info | + * |-|-| + * | x=1,2,3 | vector/coordinate argument e.g. | + * | x=foo\|bar\|1\,2,3\|1.0 | the `\|` character is used for:
1.specifying `n` arguments for xrfragment `x`
2. fallback urls (`src=https://x.co/f.gltf\|xyz://f.gltf`)
3. roundrobin of values (in case provided arguments exceeds `n` of `x` for #1) when triggered by browser URI (clicking `href` e.g.)| + * | .mygroup | query-alias for `class:mygroup` | + * + * > This allows hasslefree 3D vector-data (`,`), multi-protocol/fallback-linking & dynamic values (`|`), and CSS-piggybacking (`.mygroup`) * * # URI parser * > icanhazcode? yes, see [URI.hx](https://github.com/coderofsalvation/xrfragment/blob/main/src/xrfragment/URI.hx)