initial commit

This commit is contained in:
Joel Wetzell
2025-12-03 17:58:59 -06:00
commit 63e9108fb2
21 changed files with 8035 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
import { defineCollection } from 'astro:content';
import { docsSchema } from '@astrojs/starlight/schema';
export const collections = {
docs: defineCollection({ schema: docsSchema() }),
};
+7
View File
@@ -0,0 +1,7 @@
---
title: Showbridge
sidebar:
order: 1
---
Welcome to the showbridge docs, this is an every changing store of information related to showbridge. If you find something that doesn't make sense or needs more documentation/clarification please open an issue on [github](https://github.com/jwetzell/showbridge-go/issues).
+9
View File
@@ -0,0 +1,9 @@
---
title: Config
sidebar:
order: 2
---
The showbridge router's config is entirely controlled by a YAML/JSON config file. This file must be made by hand for now. I do provide some starter/example configs to look at to get a general idea of what one entails.
Resources
- good idea to start with [config.yaml](https://github.com/jwetzell/showbridge-go/blob/main/config.yaml)
+10
View File
@@ -0,0 +1,10 @@
---
title: Dictionary
sidebar:
order: 1
---
- **router**: throughout documentation I will use the term router to refer to configured/running instance of showbridge
- **modules**: modules are configured instances that can produce or consume message like a TCP server or a UDP client
- **routes**: routes take messages coming from a module (input), do some optional processing and send that message to a module (output)
- **processors**: processors process messages, the processors are localized to the route the processor is a part of. Examples of processors or turning bytes into an OSC message or parsing a string into an integer
+5
View File
@@ -0,0 +1,5 @@
---
title: Modules
sidebar:
order: 3
---
+5
View File
@@ -0,0 +1,5 @@
---
title: Processors
sidebar:
order: 5
---
+5
View File
@@ -0,0 +1,5 @@
---
title: Routes
sidebar:
order: 4
---
+41
View File
@@ -0,0 +1,41 @@
---
title: CLI
sidebar:
order: 1
---
import { Steps } from '@astrojs/starlight/components';
<Steps>
1. install
- via go: `go install github.com/jwetzell/showbridge-go/cmd/showbridge@latest`
- [binaries](https://github.com/jwetzell/showbridge-go/releases/latest)
2. create a config file (see [config](/reference/config/))
3. run
- `showbridge --config config.yaml`
- see below for all flags
- use the `-h` flag to see other available flags
</Steps>
```
NAME:
showbridge - Simple protocol router /s
USAGE:
showbridge [global options]
GLOBAL OPTIONS:
--config string (default: "./config.yaml")
--help, -h show help
```
+19
View File
@@ -0,0 +1,19 @@
---
title: Source
sidebar:
order: 2
---
import { Steps } from '@astrojs/starlight/components';
<Steps>
1. clone repo
2. install dependencies: `go mod tidy`
3. run cli:
- `go run ./cmd/showbridge --config config.yaml`
- see [CLI Usage](/guides/cli-usage) for more flags
</Steps>
+26
View File
@@ -0,0 +1,26 @@
---
title: Overview
sidebar:
order: 1
---
showbridge is a kind of re-imagining of [OSCulator](https://osculator.net/) taken way too far.
### Included Modules
- HTTP
- client
- server
- UDP
- client
- server
- TCP
- client
- server
- [MQTT](https://mqtt.org/)
- client
- [NATS](https://nats.io/)
- client
- [PosiStageNet](https://posistage.net/)
- client
- MIDI
- client (not included in pre-built binaries yet)