Skip to content
This repository was archived by the owner on Nov 2, 2023. It is now read-only.

Commit 9203eda

Browse files
committed
Merge branch 'master' of https://github.com/json-schema-org/json-schema-org.github.io into json-schema-org-master
2 parents 4823406 + a4b5739 commit 9203eda

24 files changed

+701
-185
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@
33
_site/
44
node_modules/
55
.vscode/
6+
.jekyll-metadata
7+
vendor/

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
Thank you for your interest in contributing to JSON Schema! Your participation is appreciated!
22

3-
If your question/request/change concerns the [JSON Schema Website](json-schema.org) you are in the right place. If your question/request/change concerns the JSON Schema specification drafts or meta-schemas, please go to [the JSON Schema specification repository](https://github.com/json-schema-org/json-schema-spec).
3+
If your question/request/change concerns the [JSON Schema Website](https://json-schema.org/) you are in the right place. If your question/request/change concerns the JSON Schema specification drafts or meta-schemas, please go to [the JSON Schema specification repository](https://github.com/json-schema-org/json-schema-spec).

README.md

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -19,28 +19,17 @@ Labels are assigned based on [Sensible Github Labels](https://github.com/Releque
1919
## Compile and run locally
2020

2121
This site runs via github pages, with automatically building PR previews via netlify.
22-
If you wish to compile and run this site locally, you will need to have ruby installed.
23-
24-
If you're not familiar with ruby, consider using `rvm` (https://rvm.io/).
25-
Once you have Ruby installed, follow these instructions while in the project directory
26-
27-
> Instructions
28-
>
29-
> 1. Install the jekyll and bundler gems.
30-
>
31-
> `gem install jekyll bundler`
32-
>
33-
> 2. Create a new Jekyll site at ./myblog.
34-
>
35-
> ...
36-
>
37-
> 3. Build the site and make it available on a local server.
38-
>
39-
> `bundle exec jekyll serve`
40-
>
41-
> 4. Browse to http://localhost:4000
42-
43-
Adapted from https://jekyllrb.com/docs/
22+
23+
This project uses git submodules, so you will need to run the following commands
24+
to fully clone the repo.
25+
26+
```bash
27+
git submodule init
28+
git submodule update
29+
```
30+
31+
You can run the site locally using `docker-compose up` and browse to
32+
http://localhost:4000
4433

4534
## License
4635

_data/validator-libraries-modern.yml

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,12 @@
3737
date-draft:
3838
draft: [7]
3939
license: BSD-2-Clause
40+
- name: jsoncons
41+
url: https://github.com/danielaparker/jsoncons/blob/master/doc/ref/jsonschema/jsonschema.md
42+
notes: Header-only library
43+
date-draft:
44+
draft: [7]
45+
license: Boost Software License 1.0
4046
- name: Clojure
4147
implementations:
4248
- name: jinx
@@ -121,6 +127,12 @@
121127
date-draft:
122128
draft: [7, 6, 4]
123129
license: Apache License 2.0
130+
- name: jsonschemafriend
131+
url: https://github.com/jimblackler/jsonschemafriend
132+
notes:
133+
date-draft: [2019-09]
134+
draft: [7, 6, 4, 3]
135+
license: Apache License 2.0
124136
- name: Kotlin
125137
implementations:
126138
- name: Medeia-validator
@@ -129,12 +141,21 @@
129141
date-draft:
130142
draft: [7, 6, 4]
131143
license: Apache License 2.0
144+
- name: json-kotlin-schema
145+
url: https://github.com/pwall567/json-kotlin-schema
146+
notes: |
147+
Kotlin implementation of JSON Schema.
148+
(Currently supports most of Draft 7; see the README for details.
149+
Full compliance with Draft 7 and later drafts in progress.)
150+
date-draft:
151+
draft: [7]
152+
license: MIT
132153
- name: JavaScript
133154
implementations:
134155
- name: ajv
135156
url: https://github.com/ajv-validator/ajv
136157
notes: "for Node.js and browsers - supports [user-defined keywords](https://github.com/ajv-validator/ajv/blob/master/docs/keywords.md) and [$data reference](https://github.com/json-schema-org/json-schema-spec/issues/51)"
137-
date-draft: [2019-09]
158+
date-draft: [2019-09, 2020-12]
138159
draft: [7, 6, 4]
139160
license: MIT
140161
- name: djv
@@ -146,7 +167,7 @@
146167
- name: Hyperjump JSV
147168
url: https://github.com/jdesrosiers/json-schema
148169
notes: "Built for Node.js and browsers. Includes support for custom vocabularies."
149-
date-draft: [2019-09]
170+
date-draft: [2019-09, 2020-12]
150171
draft: [7, 6, 4]
151172
license: MIT
152173
- name: vue-vuelidate-jsonschema
@@ -162,17 +183,22 @@
162183
license: MIT
163184
- name: Perl
164185
implementations:
186+
- name: JSON::Schema::Modern
187+
url: https://github.com/karenetheridge/JSON-Schema-Modern
188+
notes:
189+
date-draft: [7, 2019-09, 2020-12]
190+
license: "GNU General Public License, Version 1 + The Artistic License 1.0"
191+
- name: JSON::Schema::Tiny
192+
url: https://github.com/karenetheridge/JSON-Schema-Tiny
193+
notes:
194+
date-draft: [7, 2019-09, 2020-12]
195+
license: "GNU General Public License, Version 1 + The Artistic License 1.0"
165196
- name: JSON::Validator
166197
url: https://github.com/mojolicious/json-validator
167198
notes:
168199
date-draft:
169200
draft: [7, 6, 4]
170201
license: "The Artistic License 2.0 (GPL Compatible)"
171-
- name: JSON::Schema::Draft201909
172-
url: https://github.com/karenetheridge/JSON-Schema-Draft201909
173-
notes:
174-
date-draft: [2019-09]
175-
license: "GNU General Public License, Version 1 + The Artistic License 1.0"
176202
- name: PHP
177203
implementations:
178204
- name: Opis Json Schema
@@ -189,6 +215,12 @@
189215
license: "MIT"
190216
- name: Python
191217
implementations:
218+
- name: jschon
219+
url: https://github.com/marksparkza/jschon
220+
notes:
221+
date-draft: [2019-09, 2020-12]
222+
draft:
223+
license: MIT
192224
- name: jsonschema
193225
url: https://github.com/Julian/jsonschema
194226
notes:
@@ -202,7 +234,7 @@
202234
draft: [7, 6, 4]
203235
license: BSD-3-Clause
204236
- name: jsonschema-rs
205-
url: https://github.com/Stranger6667/jsonschema-rs/python
237+
url: https://github.com/Stranger6667/jsonschema-rs/tree/master/bindings/python
206238
notes: Python bindings to Rust's jsonschema crate
207239
date-draft:
208240
draft: [7, 6, 4]
@@ -256,6 +288,10 @@
256288
date-draft: [2019-09]
257289
draft: [7, 6, 4]
258290
notes: Powered by ajv; client-side validation
291+
- name: jschon.dev
292+
url: https://jschon.dev/
293+
date-draft: [2020-12, 2019-09]
294+
draft:
259295
- name: JSON Schema Validator
260296
url: https://www.jsonschemavalidator.net/
261297
date-draft: [2019-09]

_includes/footer.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ <h2 class="footer-heading">{{ site.title | escape }}</h2>
1313
</li>
1414
{% endif %}
1515
<li>Discussion: <a href="/slack">Slack</a> | <a href="https://groups.google.com/forum/#!forum/json-schema">Google Groups</a></li>
16+
<li><a href="https://github.com/json-schema-org/community/discussions">GitHub Discussions</a></li>
1617
<li>Site edits: <a href="https://github.com/json-schema-org/json-schema-org.github.io">GitHub repo for site</a></li>
1718
</ul>
1819
</div>

_includes/header.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
<a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
2626
{%- endif -%}
2727
{% endfor -%}
28+
<a class="page-link" href="/blog">Blog</a>
2829
<a class="page-link" href="/slack">Join our Slack</a>
2930
</div>
3031
</nav>

docker-compose.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
version: "3.9"
2+
3+
services:
4+
web:
5+
image: docker.io/jekyll/jekyll
6+
volumes:
7+
- .:/srv/jekyll:Z
8+
- ./vendor/bundle:/usr/local/bundle:Z
9+
ports:
10+
- "4000:4000"
11+
command: jekyll serve --incremental --watch

draft-06/json-schema-release-notes.md

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -70,19 +70,19 @@ The difficulty is that if you attempt to do this:
7070
{
7171
"type": "object",
7272
"allOf": [
73-
{"$ref": "#/definitions/foo"},
74-
{"$ref": "#/definitions/bar"}
73+
{ "$ref": "#/definitions/foo" },
74+
{ "$ref": "#/definitions/bar" }
7575
],
7676
"definitions": {
7777
"foo": {
7878
"properties": {
79-
"foo": {"type": "string"}
79+
"foo": { "type": "string" }
8080
},
8181
"additionalProperties": false
8282
},
8383
"bar": {
8484
"properties": {
85-
"bar": {"type": "number"}
85+
"bar": { "type": "number" }
8686
},
8787
"additionalProperties": false
8888
}
@@ -100,30 +100,28 @@ A workaround is available with the new `"propertyNames"` keyword:
100100
{
101101
"type": "object",
102102
"allOf": [
103-
{"$ref": "#/definitions/foo"},
104-
{"$ref": "#/definitions/bar"}
105-
],
106-
"anyOf": [
107-
{"$ref": "#/definitions/fooNames"},
108-
{"$ref": "#/definitions/barNames"}
103+
{ "$ref": "#/definitions/foo" },
104+
{ "$ref": "#/definitions/bar" }
109105
],
106+
"propertyNames": {
107+
"anyOf": [
108+
{ "$ref": "#/definitions/fooNames" },
109+
{ "$ref": "#/definitions/barNames" }
110+
]
111+
},
110112
"definitions": {
111113
"foo": {
112114
"properties": {
113-
"foo": {"type": "string"}
115+
"foo": { "type": "string" }
114116
}
115117
},
116-
"fooNames": {
117-
"propertyNames": {"enum": ["foo"]}
118-
},
118+
"fooNames": { "enum": ["foo"] },
119119
"bar": {
120120
"properties": {
121-
"bar": {"type": "number"}
121+
"bar": { "type": "number" }
122122
}
123123
},
124-
"barNames": {
125-
"propertyNames": {"enum": ["bar"]}
126-
}
124+
"barNames": { "enum": ["bar"] }
127125
}
128126
}
129127
```

draft/2019-09/release-notes.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ title: JSON Schema 2019-09 Release Notes
33
layout: page
44
---
55

6-
_NOTE: This page is still being written, and is currently a fairly minimal listing of changes._
7-
86
For the vast majority of schema authors, we hope that these changes are minimally disruptive.
97

108
The most likely to be frustrating is that `format` is no longer treated as a validation assertion _by default_ (although it is still possible for an application or user to configure a validator to treat it as one). We decided this was acceptable because many schema authors are already extremely frustrated by its inconsistent behavior.

0 commit comments

Comments
 (0)