From f82b55963bf7f4d4e7235e44c24dcb5eaaec0502 Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Mon, 1 Jun 2026 18:03:47 -0500 Subject: [PATCH] work on auto-generating parts of docs from JSONSchema --- src/components/Params.astro | 28 + src/components/SchemaInfo.astro | 23 + src/content/docs/modules/db/sqlite.mdx | 14 +- src/content/docs/modules/http/http-server.mdx | 5 +- src/content/docs/modules/midi/input.mdx | 5 +- src/content/docs/modules/midi/output.mdx | 5 +- src/content/docs/modules/mqtt/client.mdx | 7 +- src/content/docs/modules/nats/client.mdx | 6 +- src/content/docs/modules/nats/server.mdx | 12 +- src/content/docs/modules/net/tcp/client.mdx | 12 +- src/content/docs/modules/net/tcp/server.mdx | 12 +- src/content/docs/modules/net/udp/client.mdx | 6 +- .../docs/modules/net/udp/multicast.mdx | 6 +- src/content/docs/modules/net/udp/server.mdx | 7 +- src/content/docs/modules/psn/client.mdx | 5 +- src/content/docs/modules/redis/client.mdx | 6 +- src/content/docs/modules/serial/client.mdx | 13 +- src/content/docs/modules/sip/call/server.mdx | 8 +- src/content/docs/modules/sip/dtmf/server.mdx | 9 +- src/content/docs/modules/time/interval.mdx | 5 +- src/content/docs/modules/time/timer.mdx | 5 +- src/content/docs/modules/websocket/client.mdx | 5 +- src/content/docs/processors/artnet/decode.mdx | 6 +- src/content/docs/processors/artnet/encode.mdx | 7 +- src/content/docs/processors/db/query.mdx | 6 +- src/content/docs/processors/debug/log.mdx | 6 +- src/content/docs/processors/filter/change.mdx | 3 +- src/content/docs/processors/filter/expr.mdx | 7 +- src/content/docs/processors/filter/regex.mdx | 5 +- src/content/docs/processors/float/parse.mdx | 5 +- src/content/docs/processors/float/random.mdx | 7 +- src/content/docs/processors/free-d/create.mdx | 15 +- src/content/docs/processors/free-d/decode.mdx | 5 +- src/content/docs/processors/free-d/encode.mdx | 5 +- .../docs/processors/http/request/do.mdx | 6 +- .../docs/processors/http/response/create.mdx | 6 +- src/content/docs/processors/int/parse.mdx | 6 +- src/content/docs/processors/int/random.mdx | 6 +- src/content/docs/processors/int/scale.mdx | 8 +- src/content/docs/processors/json/decode.mdx | 3 +- src/content/docs/processors/json/encode.mdx | 3 +- src/content/docs/processors/kv/get.mdx | 6 +- src/content/docs/processors/kv/set.mdx | 12 +- .../processors/midi/control_change/create.mdx | 7 +- .../docs/processors/midi/message/decode.mdx | 3 +- .../docs/processors/midi/message/encode.mdx | 3 +- .../docs/processors/midi/message/unpack.mdx | 3 +- .../docs/processors/midi/note_off/create.mdx | 13 +- .../docs/processors/midi/note_on/create.mdx | 13 +- .../processors/midi/program_change/create.mdx | 6 +- src/content/docs/processors/module/output.mdx | 5 +- .../docs/processors/osc/message/create.mdx | 7 +- .../docs/processors/osc/message/decode.mdx | 3 +- .../docs/processors/osc/message/encode.mdx | 3 +- .../docs/processors/pubsub/publish.mdx | 6 +- src/content/docs/processors/script/expr.mdx | 5 +- src/content/docs/processors/script/js.mdx | 5 +- src/content/docs/processors/script/wasm.mdx | 7 +- .../processors/sip/response/audio/create.mdx | 7 +- .../processors/sip/response/dtmf/create.mdx | 7 +- src/content/docs/processors/string/create.mdx | 5 +- src/content/docs/processors/string/decode.mdx | 3 +- src/content/docs/processors/string/encode.mdx | 3 +- src/content/docs/processors/string/split.mdx | 5 +- src/content/docs/processors/time/sleep.mdx | 5 +- src/data/modules.schema.json | 877 +++++++++++ src/data/processors.schema.json | 1390 +++++++++++++++++ 67 files changed, 2471 insertions(+), 257 deletions(-) create mode 100644 src/components/Params.astro create mode 100644 src/components/SchemaInfo.astro create mode 100644 src/data/modules.schema.json create mode 100644 src/data/processors.schema.json diff --git a/src/components/Params.astro b/src/components/Params.astro new file mode 100644 index 0000000..401e838 --- /dev/null +++ b/src/components/Params.astro @@ -0,0 +1,28 @@ +--- +const {schema} = Astro.props +--- + \ No newline at end of file diff --git a/src/components/SchemaInfo.astro b/src/components/SchemaInfo.astro new file mode 100644 index 0000000..c18ea3a --- /dev/null +++ b/src/components/SchemaInfo.astro @@ -0,0 +1,23 @@ +--- +import moduleSchema from '../data/modules.schema.json'; +import processorSchema from '../data/processors.schema.json'; +import Params from './Params.astro'; +const {type, id} = Astro.props; +var schema; + +switch(type) { + case 'module': + schema = moduleSchema.items?.oneOf?.find(schema=>schema["$id"] === id); + break; + case 'processor': + schema = processorSchema.items?.oneOf?.find(schema=>schema["$id"] === id); + break; +} +--- +{ +schema !== undefined && + +} \ No newline at end of file diff --git a/src/content/docs/modules/db/sqlite.mdx b/src/content/docs/modules/db/sqlite.mdx index a93f430..d6cc1d8 100644 --- a/src/content/docs/modules/db/sqlite.mdx +++ b/src/content/docs/modules/db/sqlite.mdx @@ -3,24 +3,22 @@ title: SQLite sidebar: order: 1 --- +import SchemaInfo from '../../../../components/SchemaInfo.astro'; The `db.sqlite` module can open/create SQLite databases -- **type**: `db.sqlite` -- **params**: - - **dsn**: the data source name, this can be a file path or the special `:memory:` name for an in-memory DB + This module implements the `DatabaseModule` interface. -## Cap -### Example snippet +### Example Opens an in-memory SQLite database ```yaml -- id: db +- id: myDatabase type: db.sqlite - params: - dsn: ":memory:" + params: + dsn: ":memory:" ``` diff --git a/src/content/docs/modules/http/http-server.mdx b/src/content/docs/modules/http/http-server.mdx index a853958..9dcfb42 100644 --- a/src/content/docs/modules/http/http-server.mdx +++ b/src/content/docs/modules/http/http-server.mdx @@ -4,12 +4,11 @@ sidebar: label: Server order: 2 --- +import SchemaInfo from '../../../../components/SchemaInfo.astro'; The `http.server` module emits a message for every HTTP request that is made to the server. -- **type**: `http.server` -- **params**: - - **port**: TCP port to listen for HTTP requests on + ### Example diff --git a/src/content/docs/modules/midi/input.mdx b/src/content/docs/modules/midi/input.mdx index 6d33caf..aa4e1bf 100644 --- a/src/content/docs/modules/midi/input.mdx +++ b/src/content/docs/modules/midi/input.mdx @@ -6,6 +6,7 @@ sidebar: --- import { Aside } from "@astrojs/starlight/components"; +import SchemaInfo from '../../../../components/SchemaInfo.astro';