diff --git a/.gitignore b/.gitignore index 0f193c2e..778ea372 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ # Jekyll products .sass-cache/ _site/ +node_modules/ +.vscode/ +.jekyll-metadata +vendor/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..d2f583c4 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,36 @@ +[submodule "_includes/draft-00"] + path = _includes/draft-00 + url = https://github.com/json-schema-org/json-schema-spec.git +[submodule "_includes/draft-01"] + path = _includes/draft-01 + url = https://github.com/json-schema-org/json-schema-spec.git +[submodule "_includes/draft-02"] + path = _includes/draft-02 + url = https://github.com/json-schema-org/json-schema-spec.git +[submodule "_includes/draft-03"] + path = _includes/draft-03 + url = https://github.com/json-schema-org/json-schema-spec.git + branch = draft-03 +[submodule "_includes/draft-04"] + path = _includes/draft-04 + url = https://github.com/json-schema-org/json-schema-spec.git + branch = draft-04 +[submodule "_includes/draft-05"] + path = _includes/draft-05 + url = https://github.com/json-schema-org/json-schema-spec.git +[submodule "_includes/draft-06"] + path = _includes/draft-06 + url = https://github.com/json-schema-org/json-schema-spec.git + branch = draft-06 +[submodule "_includes/draft-07"] + path = _includes/draft-07 + url = https://github.com/json-schema-org/json-schema-spec.git + branch = draft-07 +[submodule "_includes/draft/2019-09"] + path = _includes/draft/2019-09 + url = https://github.com/json-schema-org/json-schema-spec.git + branch = 2019-09 +[submodule "_includes/draft/2020-12"] + path = _includes/draft/2020-12 + url = https://github.com/json-schema-org/json-schema-spec.git + branch = 2020-12 diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 00000000..94ff29cc --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +3.1.1 diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..886aa1a0 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,13 @@ +language: ruby +dist: trusty +sudo: false +node_js: +- node +before_script: +- npm install ajv-cli@5.0.0 ajv-formats@2.1.1 +- PATH="./node_modules/.bin/:$PATH" +script: +- bundle exec jekyll build +- ajv compile --spec=draft2020 --strict=false -s learn/examples/geographical-location.schema.json -s learn/examples/address.schema.json -s learn/examples/card.schema.json -s learn/examples/calendar.schema.json +- ajv compile --spec=draft2020 --strict=false -c ajv-formats -s _data/schema.yml +- ajv --spec=draft2020 --strict=false -c ajv-formats test -s _data/schema.yml -d "_data/*-libraries-*.yml" --valid diff --git a/404.html b/404.html new file mode 100644 index 00000000..5e0616e3 --- /dev/null +++ b/404.html @@ -0,0 +1,25 @@ +--- +layout: default +permalink: /404.html +--- + + + +
Page not found :(
+The requested page could not be found.
++ Several redirections on json-schema.org are special cases: +
+The latest Internet-Drafts at the IETF are the draft-wright-json-schema*-01 - documents, which correspond to the draft-06 meta-schemas. These were - published on 2017-04-15. - (Due to a change in authorship the I-D numbering was reset with the previous draft). - The specification is split into three parts, Core, Validation, and Hyper-Schema:
-JSON Schema Core | -defines the basic foundation of JSON Schema | -
JSON Schema Validation | -defines the validation keywords of JSON Schema | -
JSON Hyper-Schema | -defines the hyper-media keywords of JSON Schema | -
They are also available on the IETF main site: core (draft-wright-json-schema-01), validation (draft-wright-json-schema-validation-01) and hyper-schema (draft-wright-json-schema-hyperschema-01). -
-For previous versions of the specification, please see the Specification Links page on our github wiki. -
-The meta-schemas are the schemas which define the JSON Schema and Hyper-Schema formats.
-The latest meta-schema is draft-06.
-Core/Validation Meta-Schema | -Used for schemas written for pure validation. | -
Hyper Meta-Schema | -Used for schemas written for validation and hyper-linking. | -
These sample schemas describe simple data structures which can be expressed as JSON: -
-Geographic Coordinate | -a location as longitude and latitude | -
Card | -a microformat-style representation of a person, company, organization, or place | -
Calendar | -a microformat-style representation of an event | -
Address | -a microformat-style representation of a street address | -
TOC |
For example, here are some possible values for "href", followed by the results after pre-processing:
+{% raw %} Input Output ----------------------------------------- "no change" "no change" @@ -777,7 +784,7 @@5.1.1.1.4. E "{()}" "{%65mpty} "{+$*}" "{+%73elf*} "{+($)*}" "{+%24*} - +{% endraw %}
Note that in the final example, because the "+" was outside the brackets, it remained unescaped, whereas in the fourth example the "+" was escaped.
' | remove: '
'}} + ({{ implementation.license | join: ", " }}) + +' | remove: '
'}} + ({{ implementation.license | join: ", " }}) + +The following are a list of some of the future common JSON Schema definitions. Included is the URL to reference and download the schema and object type definition. These shared definitions can be referenced in JSON Schemas and SMDs using JSON referencing (here is a suggested method).