Skip to content

Commit bc3d8d5

Browse files
author
Clemens Vasters
committed
docs: add all SDK pages and update navigation to include all 11 SDKs
1 parent b3cf812 commit bc3d8d5

14 files changed

Lines changed: 594 additions & 7 deletions

File tree

.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,3 @@ _site/
1616
# counterproductive to check this file into the repository.
1717
# Details at https://github.com/github/pages-gem/issues/768
1818
Gemfile.lock
19-
20-
# SDK pages are generated from README files at build time
21-
sdks/*.md

_layouts/default.html

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,17 @@ <h1><a href="{{ "/" | absolute_url }}">{{ site.title | default: site.github.repo
5050
<nav class="sidebar-nav">
5151
<h3>SDKs</h3>
5252
<ul>
53+
<li><a href="{{ "/sdks/typescript.html" | relative_url }}">TypeScript/JavaScript</a></li>
5354
<li><a href="{{ "/sdks/python.html" | relative_url }}">Python</a></li>
5455
<li><a href="{{ "/sdks/dotnet.html" | relative_url }}">.NET (C#)</a></li>
5556
<li><a href="{{ "/sdks/java.html" | relative_url }}">Java</a></li>
56-
<li><a href="{{ "/sdks/typescript.html" | relative_url }}">TypeScript/JavaScript</a></li>
5757
<li><a href="{{ "/sdks/go.html" | relative_url }}">Go</a></li>
5858
<li><a href="{{ "/sdks/rust.html" | relative_url }}">Rust</a></li>
59-
<li><a href="{{ "/sdks/c.html" | relative_url }}">C/C++</a></li>
59+
<li><a href="{{ "/sdks/ruby.html" | relative_url }}">Ruby</a></li>
60+
<li><a href="{{ "/sdks/perl.html" | relative_url }}">Perl</a></li>
61+
<li><a href="{{ "/sdks/php.html" | relative_url }}">PHP</a></li>
62+
<li><a href="{{ "/sdks/swift.html" | relative_url }}">Swift</a></li>
63+
<li><a href="{{ "/sdks/c.html" | relative_url }}">C</a></li>
6064
</ul>
6165

6266
<h3>Tools</h3>

sdks/.gitkeep

Lines changed: 0 additions & 2 deletions
This file was deleted.

sdks/c.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
layout: default
3+
title: C SDK
4+
---
5+
6+
# C SDK
7+
8+
The official JSON Structure SDK for C (and C++).
9+
10+
## Installation
11+
12+
### vcpkg
13+
14+
```bash
15+
vcpkg install json-structure
16+
```
17+
18+
### CMake FetchContent
19+
20+
```cmake
21+
include(FetchContent)
22+
FetchContent_Declare(
23+
json-structure
24+
GIT_REPOSITORY https://github.com/json-structure/sdk.git
25+
GIT_TAG v0.5.3
26+
SOURCE_SUBDIR c
27+
)
28+
FetchContent_MakeAvailable(json-structure)
29+
30+
target_link_libraries(your_target PRIVATE json-structure)
31+
```
32+
33+
## Package Links
34+
35+
- **vcpkg**: [json-structure](https://vcpkg.io/en/package/json-structure)
36+
- **GitHub**: [json-structure/sdk/c](https://github.com/json-structure/sdk/tree/master/c)
37+
38+
## Usage
39+
40+
```c
41+
#include <json_structure.h>
42+
43+
int main() {
44+
// Validate a schema
45+
js_schema_validator_t* schema_validator = js_schema_validator_new();
46+
js_validation_result_t* schema_result = js_schema_validator_validate(schema_validator, schema);
47+
48+
// Validate an instance against a schema
49+
js_instance_validator_t* instance_validator = js_instance_validator_new();
50+
js_validation_result_t* instance_result = js_instance_validator_validate(instance_validator, instance, schema);
51+
52+
// Cleanup
53+
js_validation_result_free(schema_result);
54+
js_validation_result_free(instance_result);
55+
js_schema_validator_free(schema_validator);
56+
js_instance_validator_free(instance_validator);
57+
58+
return 0;
59+
}
60+
```
61+
62+
## Features
63+
64+
- Schema validation against JSON Structure meta-schemas
65+
- Instance validation against JSON Structure schemas
66+
- C11 standard
67+
- Cross-platform (Windows, Linux, macOS)
68+
- Uses cJSON for JSON parsing
69+
70+
## Documentation
71+
72+
See the [README](https://github.com/json-structure/sdk/tree/master/c#readme) for full documentation.

sdks/dotnet.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
layout: default
3+
title: .NET SDK
4+
---
5+
6+
# .NET SDK
7+
8+
The official JSON Structure SDK for .NET (C#, F#, VB.NET).
9+
10+
## Installation
11+
12+
```bash
13+
dotnet add package JsonStructure
14+
```
15+
16+
Or via Package Manager:
17+
18+
```powershell
19+
Install-Package JsonStructure
20+
```
21+
22+
## Package Links
23+
24+
- **NuGet**: [JsonStructure](https://www.nuget.org/packages/JsonStructure)
25+
- **GitHub**: [json-structure/sdk/dotnet](https://github.com/json-structure/sdk/tree/master/dotnet)
26+
27+
## Usage
28+
29+
```csharp
30+
using JsonStructure;
31+
32+
// Validate a schema
33+
var schemaValidator = new SchemaValidator();
34+
var schemaResult = schemaValidator.Validate(schema);
35+
36+
// Validate an instance against a schema
37+
var instanceValidator = new InstanceValidator();
38+
var instanceResult = instanceValidator.Validate(instance, schema);
39+
```
40+
41+
## Features
42+
43+
- Schema validation against JSON Structure meta-schemas
44+
- Instance validation against JSON Structure schemas
45+
- .NET 6.0+ and .NET Standard 2.0 support
46+
- Thread-safe validators
47+
- Strong typing with nullable reference types
48+
49+
## Documentation
50+
51+
See the [README](https://github.com/json-structure/sdk/tree/master/dotnet#readme) for full documentation.

sdks/go.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
layout: default
3+
title: Go SDK
4+
---
5+
6+
# Go SDK
7+
8+
The official JSON Structure SDK for Go.
9+
10+
## Installation
11+
12+
```bash
13+
go get github.com/json-structure/sdk/go@v0.5.4
14+
```
15+
16+
## Package Links
17+
18+
- **pkg.go.dev**: [github.com/json-structure/sdk/go](https://pkg.go.dev/github.com/json-structure/sdk/go)
19+
- **GitHub**: [json-structure/sdk/go](https://github.com/json-structure/sdk/tree/master/go)
20+
21+
## Usage
22+
23+
```go
24+
package main
25+
26+
import (
27+
jsonstructure "github.com/json-structure/sdk/go"
28+
)
29+
30+
func main() {
31+
// Validate a schema
32+
schemaValidator := jsonstructure.NewSchemaValidator()
33+
schemaResult := schemaValidator.Validate(schema)
34+
35+
// Validate an instance against a schema
36+
instanceValidator := jsonstructure.NewInstanceValidator()
37+
instanceResult := instanceValidator.Validate(instance, schema)
38+
}
39+
```
40+
41+
## Features
42+
43+
- Schema validation against JSON Structure meta-schemas
44+
- Instance validation against JSON Structure schemas
45+
- Go 1.21+ support
46+
- Concurrent-safe validators
47+
- Zero external dependencies
48+
49+
## Documentation
50+
51+
See the [README](https://github.com/json-structure/sdk/tree/master/go#readme) for full documentation.

sdks/java.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
layout: default
3+
title: Java SDK
4+
---
5+
6+
# Java SDK
7+
8+
The official JSON Structure SDK for Java.
9+
10+
## Installation
11+
12+
### Maven
13+
14+
```xml
15+
<dependency>
16+
<groupId>com.json-structure</groupId>
17+
<artifactId>json-structure-sdk</artifactId>
18+
<version>0.5.3</version>
19+
</dependency>
20+
```
21+
22+
### Gradle
23+
24+
```groovy
25+
implementation 'com.json-structure:json-structure-sdk:0.5.3'
26+
```
27+
28+
## Package Links
29+
30+
- **Maven Central**: [json-structure-sdk](https://central.sonatype.com/artifact/com.json-structure/json-structure-sdk)
31+
- **GitHub**: [json-structure/sdk/java](https://github.com/json-structure/sdk/tree/master/java)
32+
33+
## Usage
34+
35+
```java
36+
import com.jsonstructure.SchemaValidator;
37+
import com.jsonstructure.InstanceValidator;
38+
39+
// Validate a schema
40+
SchemaValidator schemaValidator = new SchemaValidator();
41+
ValidationResult schemaResult = schemaValidator.validate(schema);
42+
43+
// Validate an instance against a schema
44+
InstanceValidator instanceValidator = new InstanceValidator();
45+
ValidationResult instanceResult = instanceValidator.validate(instance, schema);
46+
```
47+
48+
## Features
49+
50+
- Schema validation against JSON Structure meta-schemas
51+
- Instance validation against JSON Structure schemas
52+
- Java 11+ support
53+
- Thread-safe validators
54+
- No external JSON library dependency (uses built-in)
55+
56+
## Documentation
57+
58+
See the [README](https://github.com/json-structure/sdk/tree/master/java#readme) for full documentation.

sdks/perl.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
layout: default
3+
title: Perl SDK
4+
---
5+
6+
# Perl SDK
7+
8+
The official JSON Structure SDK for Perl.
9+
10+
## Installation
11+
12+
```bash
13+
cpanm JSON::Structure
14+
```
15+
16+
## Package Links
17+
18+
- **CPAN**: [JSON::Structure](https://metacpan.org/pod/JSON::Structure)
19+
- **GitHub**: [json-structure/sdk/perl](https://github.com/json-structure/sdk/tree/master/perl)
20+
21+
## Usage
22+
23+
```perl
24+
use JSON::Structure;
25+
26+
# Validate a schema
27+
my $schema_validator = JSON::Structure::SchemaValidator->new();
28+
my $schema_result = $schema_validator->validate($schema);
29+
30+
# Validate an instance against a schema
31+
my $instance_validator = JSON::Structure::InstanceValidator->new();
32+
my $instance_result = $instance_validator->validate($instance, $schema);
33+
```
34+
35+
## Features
36+
37+
- Schema validation against JSON Structure meta-schemas
38+
- Instance validation against JSON Structure schemas
39+
- Perl 5.20+ support
40+
- Works with JSON::PP or Cpanel::JSON::XS
41+
- Pure Perl implementation
42+
43+
## Documentation
44+
45+
See the [README](https://github.com/json-structure/sdk/tree/master/perl#readme) for full documentation.

sdks/php.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
layout: default
3+
title: PHP SDK
4+
---
5+
6+
# PHP SDK
7+
8+
The official JSON Structure SDK for PHP.
9+
10+
## Installation
11+
12+
```bash
13+
composer require json-structure/sdk
14+
```
15+
16+
## Package Links
17+
18+
- **Packagist**: [json-structure/sdk](https://packagist.org/packages/json-structure/sdk)
19+
- **GitHub**: [json-structure/sdk/php](https://github.com/json-structure/sdk/tree/master/php)
20+
21+
## Usage
22+
23+
```php
24+
<?php
25+
26+
use JsonStructure\SchemaValidator;
27+
use JsonStructure\InstanceValidator;
28+
29+
// Validate a schema
30+
$schemaValidator = new SchemaValidator();
31+
$schemaResult = $schemaValidator->validate($schema);
32+
33+
// Validate an instance against a schema
34+
$instanceValidator = new InstanceValidator();
35+
$instanceResult = $instanceValidator->validate($instance, $schema);
36+
```
37+
38+
## Features
39+
40+
- Schema validation against JSON Structure meta-schemas
41+
- Instance validation against JSON Structure schemas
42+
- PHP 8.0+ support
43+
- PSR-4 autoloading
44+
- No external dependencies
45+
46+
## Documentation
47+
48+
See the [README](https://github.com/json-structure/sdk/tree/master/php#readme) for full documentation.

0 commit comments

Comments
 (0)