docs(README): update architecture diagram and enhance CLI/API tables for clarity
This commit is contained in:
@@ -10,7 +10,7 @@ Convert **env**, **YAML**, **JSON**, and **INI** to and from Go `map[string]any`
|
||||
## Architecture
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
flowchart TB
|
||||
Sources["Sources\nbytes reader file URL process env"]
|
||||
Parser["Parser\ngodotenv yaml ini json"]
|
||||
Norm["keymap.Walk\nNormalizer"]
|
||||
@@ -85,7 +85,7 @@ os.WriteFile("out.json", b, 0o644)
|
||||
## CLI: `envc`
|
||||
|
||||
| Command | Purpose |
|
||||
| --- | --- |
|
||||
| ------------------------------------------------------------------ | --------------------------------------------------------------- |
|
||||
| `envc convert --from yaml --to env --input - --output -` | Convert stdin YAML to dotenv on stdout |
|
||||
| `envc get --from yaml --path service.name config.yaml` | Print one path (dot-separated; segments normalized like codecs) |
|
||||
| `envc merge --from yaml --to json --output out.json a.yaml b.yaml` | Deep-merge multiple YAML files, emit JSON |
|
||||
@@ -93,7 +93,7 @@ os.WriteFile("out.json", b, 0o644)
|
||||
## API (all codecs)
|
||||
|
||||
| Method | Description |
|
||||
| --- | --- |
|
||||
| ----------------------------------------------- | --------------------------------- |
|
||||
| `New(opts...)` | Construct codec |
|
||||
| `Map(ctx)` | Merged `map[string]any` |
|
||||
| `Unmarshal(dst)` / `UnmarshalContext(ctx, dst)` | Decode into struct (or map) |
|
||||
@@ -106,7 +106,7 @@ Shared options (each subpackage): `WithBytes`, `WithReader`, `WithFile`, `WithUR
|
||||
## Cross-format mapping
|
||||
|
||||
| Go | YAML | ENV |
|
||||
| --- | --- | --- |
|
||||
| ------------------------- | -------------------------- | ------------------------- |
|
||||
| `Service.SubService.Name` | `service.sub-service.name` | `SERVICE_SUBSERVICE_NAME` |
|
||||
|
||||
INI uses dotted sections, e.g. `[service.subservice]` with `name=...`.
|
||||
@@ -114,7 +114,7 @@ INI uses dotted sections, e.g. `[service.subservice]` with `name=...`.
|
||||
## Related libraries
|
||||
|
||||
| Module | Role |
|
||||
| --- | --- |
|
||||
| --------------------------------------------------------- | -------------- |
|
||||
| [go-matrix-bot](https://github.com/eSlider/go-matrix-bot) | Matrix bots |
|
||||
| [go-onlyoffice](https://github.com/eSlider/go-onlyoffice) | OnlyOffice API |
|
||||
| [go-ollama](https://github.com/eSlider/go-ollama) | Ollama client |
|
||||
|
||||
Reference in New Issue
Block a user