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 index 724b3497..886aa1a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,8 +4,10 @@ sudo: false node_js: - node before_script: -- npm install ajv-cli@3.1.0 +- npm install ajv-cli@5.0.0 ajv-formats@2.1.1 - PATH="./node_modules/.bin/:$PATH" script: - bundle exec jekyll build -- ajv test -s draft-07/schema -d "learn/examples/*.json" --valid --add-used-schema=false +- 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/CNAME b/CNAME deleted file mode 100644 index 0d9c62bd..00000000 --- a/CNAME +++ /dev/null @@ -1,2 +0,0 @@ -json-schema.org - diff --git a/Gemfile b/Gemfile index 37f5eaa4..a3a27a46 100644 --- a/Gemfile +++ b/Gemfile @@ -1,2 +1,4 @@ source 'https://rubygems.org' +ruby '3.1.1' gem 'github-pages', group: :jekyll_plugins +gem 'webrick', '~> 1.7' diff --git a/Gemfile.lock b/Gemfile.lock index 1f5915d2..9111ff7b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,43 +1,42 @@ GEM remote: https://rubygems.org/ specs: - activesupport (6.0.5) + activesupport (7.0.4.2) concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - zeitwerk (~> 2.2, >= 2.2.2) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + addressable (2.8.1) + public_suffix (>= 2.0.2, < 6.0) coffee-script (2.4.1) coffee-script-source execjs coffee-script-source (1.11.1) colorator (1.1.0) - commonmarker (0.23.5) - concurrent-ruby (1.1.10) + commonmarker (0.23.8) + concurrent-ruby (1.2.0) dnsruby (1.61.9) simpleidn (~> 0.1) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) - ethon (0.15.0) + ethon (0.16.0) ffi (>= 1.15.0) eventmachine (1.2.7) execjs (2.8.1) - faraday (2.3.0) - faraday-net_http (~> 2.0) + faraday (2.7.4) + faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) - faraday-net_http (2.0.3) + faraday-net_http (3.0.2) ffi (1.15.5) forwardable-extended (2.6.0) gemoji (3.0.1) - github-pages (226) + github-pages (228) github-pages-health-check (= 1.17.9) - jekyll (= 3.9.2) + jekyll (= 3.9.3) jekyll-avatar (= 0.7.0) jekyll-coffeescript (= 1.1.1) - jekyll-commonmark-ghpages (= 0.2.0) + jekyll-commonmark-ghpages (= 0.4.0) jekyll-default-layout (= 0.1.4) jekyll-feed (= 0.15.1) jekyll-gist (= 1.5.0) @@ -71,10 +70,10 @@ GEM jemoji (= 0.12.0) kramdown (= 2.3.2) kramdown-parser-gfm (= 1.1.0) - liquid (= 4.0.3) + liquid (= 4.0.4) mercenary (~> 0.3) minima (= 2.5.1) - nokogiri (>= 1.13.4, < 2.0) + nokogiri (>= 1.13.6, < 2.0) rouge (= 3.26.0) terminal-table (~> 1.4) github-pages-health-check (1.17.9) @@ -83,17 +82,17 @@ GEM octokit (~> 4.0) public_suffix (>= 3.0, < 5.0) typhoeus (~> 1.3) - html-pipeline (2.14.2) + html-pipeline (2.14.3) activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.8.0) - i18n (0.9.5) + i18n (1.12.0) concurrent-ruby (~> 1.0) - jekyll (3.9.2) + jekyll (3.9.3) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) - i18n (~> 0.7) + i18n (>= 0.7, < 2) jekyll-sass-converter (~> 1.0) jekyll-watch (~> 2.0) kramdown (>= 1.17, < 3) @@ -109,11 +108,11 @@ GEM coffee-script-source (~> 1.11.1) jekyll-commonmark (1.4.0) commonmarker (~> 0.22) - jekyll-commonmark-ghpages (0.2.0) - commonmarker (~> 0.23.4) + jekyll-commonmark-ghpages (0.4.0) + commonmarker (~> 0.23.7) jekyll (~> 3.9.0) jekyll-commonmark (~> 1.4.0) - rouge (>= 2.0, < 4.0) + rouge (>= 2.0, < 5.0) jekyll-default-layout (0.1.4) jekyll (~> 3.0) jekyll-feed (0.15.1) @@ -201,28 +200,26 @@ GEM rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) - liquid (4.0.3) - listen (3.7.1) + liquid (4.0.4) + listen (3.8.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) - mini_portile2 (2.8.0) minima (2.5.1) jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) - minitest (5.16.1) - nokogiri (1.13.6) - mini_portile2 (~> 2.8.0) + minitest (5.17.0) + nokogiri (1.14.2-x86_64-linux) racc (~> 1.4) - octokit (4.25.0) + octokit (4.25.1) faraday (>= 1, < 3) sawyer (~> 0.9) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (4.0.7) - racc (1.6.0) - rb-fsevent (0.11.1) + racc (1.6.2) + rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) rexml (3.2.5) @@ -242,22 +239,25 @@ GEM unf (~> 0.1.4) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) - thread_safe (0.3.6) typhoeus (1.4.0) ethon (>= 0.9.0) - tzinfo (1.2.9) - thread_safe (~> 0.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) unf (0.1.4) unf_ext unf_ext (0.0.8.2) unicode-display_width (1.8.0) - zeitwerk (2.6.0) + webrick (1.8.1) PLATFORMS - ruby + x86_64-linux-musl DEPENDENCIES github-pages + webrick (~> 1.7) + +RUBY VERSION + ruby 3.1.1p18 BUNDLED WITH - 2.2.7 + 2.3.25 diff --git a/README.md b/README.md index b1992750..5ee11859 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,15 @@ +--- +📌 **Deprecation Notice** 📌 + +This repository is now deprecated. To contribute to JSON Schema's website please use the new repository ➡️ [https://github.com/json-schema-org/website](https://github.com/json-schema-org/website). + +--- + # JSON Schema Website +[![Project Status: Moved/Deprecated to https://github.com/json-schema-org/website – The project has been moved to a new location, and the version at that location should be considered authoritative.](https://www.repostatus.org/badges/latest/moved.svg)](https://www.repostatus.org/#moved) to [https://github.com/json-schema-org/website](https://github.com/json-schema-org/websitem) + [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://github.com/json-schema-org/.github/blob/main/CODE_OF_CONDUCT.md) -[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) [![Financial Contributors on Open Collective](https://opencollective.com/json-schema/all/badge.svg?label=financial+contributors)](https://opencollective.com/json-schema) This is the repository for the [JSON Schema website](https://json-schema.org). diff --git a/_config.yml b/_config.yml index 3a16502f..3fd3064f 100644 --- a/_config.yml +++ b/_config.yml @@ -36,6 +36,8 @@ exclude: - Gemfile - node_modules - vendor +- cache +- docker-compose.yml plugins: - jekyll-relative-links diff --git a/_data/hyper-libraries-modern.yml b/_data/hyper-libraries-modern.yml index 0ffec29a..68587ab8 100644 --- a/_data/hyper-libraries-modern.yml +++ b/_data/hyper-libraries-modern.yml @@ -3,11 +3,6 @@ - name: mokkabonna/json-hyper-schema url: "https://github.com/mokkabonna/json-hyper-schema" license: MIT + date-draft: [] draft: [7] -- name: Python - implementations: - - name: Core API Hyper-Schema codec - url: "https://github.com/core-api/python-jsonhyperschema-codec" - notes: "Draft-06+ progress: issue [12](https://github.com/core-api/python-jsonhyperschema-codec/issues/12)" - draft: [4] - license: BSD-2-Clause + last-updated: "2022-08-31" diff --git a/_data/hyper-libraries-obsolete.yml b/_data/hyper-libraries-obsolete.yml index 851e900d..10a55c4a 100644 --- a/_data/hyper-libraries-obsolete.yml +++ b/_data/hyper-libraries-obsolete.yml @@ -3,4 +3,13 @@ - name: Jsonary url: "http://jsonary.com/" license: MIT + date-draft: [] draft: [4] +- name: Python + implementations: + - name: Core API Hyper-Schema codec + url: "https://github.com/core-api/python-jsonhyperschema-codec" + notes: "Draft-06+ progress: issue [12](https://github.com/core-api/python-jsonhyperschema-codec/issues/12)" + date-draft: [] + draft: [4] + license: BSD-2-Clause diff --git a/_data/schema.yml b/_data/schema.yml new file mode 100644 index 00000000..43a2cdb9 --- /dev/null +++ b/_data/schema.yml @@ -0,0 +1,183 @@ +$schema: https://json-schema.org/draft/2020-12/schema +$id: https://json-schema.org/implementations/schema +type: array +items: + $ref: "#/$defs/language" +$comment: | + The following if/then ensures that if last-updated is used + anywhere, then it is required everywhere. This allows it + to be required in the modern data files and unused in the + obsolete data files. +if: + contains: + required: [implementations] + properties: + implementations: + contains: + required: [last-updated] +then: + properties: + implementations: + items: + required: [last-updated] +$defs: + language: + description: | + A group of implementations grouped by programming language or + runtime environment. + type: object + unevaluatedProperties: false + required: [name] + oneOf: + - required: [implementations] + - required: [notes] + $ref: "#/$defs/name-and-anchor-name" + properties: + implementations: + description: | + The list of implementations for this language/environment, + sorted with those supporting the most recent + drafts/versions first. + type: array + items: + $ref: "#/$defs/implementation" + $comment: | + The following if/then ensures that if the first + if: + prefixItems: + - required: [last-updated] + then: + items: + required: [last-updated] + notes: + type: [string, "null"] + name-and-anchor-name: + $comment: | + Require an anchor-name if the name is not suitable for + use as an anchor (HTML id attribute) + if: + required: [name] + not: + properties: + name: + $ref: "#/$defs/anchor-name" + then: + required: [anchor-name] + properties: + name: + type: string + anchor-name: + $ref: "#/$defs/anchor-name" + anchor-name: + description: | + A name suitable for us as an HTML id, if the regular name + is not a vald id. The regex is looser than the HTML spec + but is based on what was already working on the page. + type: string + pattern: '^[A-Za-z][A-Za-z0-9+-_:./ ()]*$' + implementation: + description: | + An implementation and its associated information. + type: object + unevaluatedProperties: false + required: [name, url] + anyOf: + - required: [draft] + - required: [date-draft] + $ref: "#/$defs/name-and-anchor-name" + properties: + url: + description: | + The URL of the implementation's repository or documentation + type: string + format: uri + draft: + description: The supported drafts (up through draft-07) + type: array + items: + type: integer + enum: [1, 2, 3, 4, 6, 7] + date-draft: + description: The supported drafts (2019-09+) + type: array + items: + type: string + enum: [2019-09, 2020-12] + license: + description: | + The software license under which the implementation + is available + type: string + notes: + description: | + Additional information. Overly promotional (or critical) + wording should be avoided. + type: string + built-on: + description: | + Indicates that this implementation is built on another + implementation, typically to make it available through + a web page, CLI, or a different programming language. + type: object + $ref: "#/$defs/name-and-anchor-name" + compliance: + $ref: "#/$defs/compliance" + last-updated: + description: | + The date (in whatever timezone was relevant at the time) + the information for this entry was last updated. This + should only be changed when the implementation's + documentation has been checked against the entry, not + when minor formatting or other updates are done. + $comment: | + "pattern" does the validation work here, "format" is + just for semantic clarity. + type: string + format: date + pattern: '^\d\d\d\d-[01]\d-[0123]\d$' + compliance: + description: | + The compliance section notes aspects of an implementation's + _default configuration_ that are non-compliant with the + specification in ways that are _not necessarily_ detected + by the test suite. This information is provided based on + implementation documentation. + type: object + unevaluatedProperties: false + properties: + constraints: + description: | + A brief note of design constraints that impacted choices + regarding compliance. This includes things like + targeting memory-constrained environments, or trading + off features for performance. It does not include + opinions regarding the value (or lack thereof) of + the specification requirements. + type: string + config: + description: | + Documents how to configure an implementation to produce + the most specification-compliant behavior if it does + not do so by default. The resulting configuration + may still have incomplete compliance (such as not + having implemented all keywords), but will not + have additional behavior that contradicts the + specification (such as modifying the instance + by filling in default values). + type: object + unevaluatedProperties: false + required: [instructions] + properties: + docs: + description: | + A link to the implementation's configuration + documentation, ideally to whatever part addresses + configuration and compliance. + type: string + format: uri + instructions: + description: | + Instructions to configure for compliance. Will + appear in a sentence after "you must" and before + "to produce specification-compliant behavior." + type: string diff --git a/_data/validator-libraries-modern.yml b/_data/validator-libraries-modern.yml index ca0a2517..04de6723 100644 --- a/_data/validator-libraries-modern.yml +++ b/_data/validator-libraries-modern.yml @@ -1,364 +1,524 @@ +# NOTE: See schema.yml in this directory for the structure of this file. - name: .NET anchor-name: dotnet implementations: + - name: JsonSchema.Net + url: https://github.com/gregsdennis/json-everything + date-draft: [2020-12, 2019-09] + draft: [7, 6] + license: MIT + last-updated: "2022-08-31" - name: Json.NET Schema url: https://www.newtonsoft.com/jsonschema date-draft: [2019-09] draft: [7, 6, 4, 3] license: "AGPL-3.0-only" - - name: JsonSchema.Net - url: https://github.com/gregsdennis/json-everything + last-updated: "2022-08-31" + - name: Corvus.JsonSchema + url: https://github.com/corvus-dotnet/corvus.jsonschema date-draft: [2020-12, 2019-09] draft: [7, 6] - license: MIT + license: Apache License, Version 2.0 + last-updated: "2023-02-14" - name: C - implementations: - - name: WJElement - url: https://github.com/netmail-open/wjelement - date-draft: - draft: [4, 3] - license: LGPL-3.0 - notes: "Draft-06+ progress: issue [17](https://github.com/netmail-open/wjelement/issues/17#issuecomment-390899432)" + notes: No known implementations support draft-06 or later. - name: C++ implementations: - name: f5-json-schema url: https://github.com/KayEss/json-schema - date-draft: + date-draft: [] draft: [7] license: Boost Software License 1.0 + last-updated: "2022-08-31" - name: JSON schema validator for JSON for Modern C++ url: https://github.com/pboettch/json-schema-validator - date-draft: + date-draft: [] draft: [7] license: MIT + last-updated: "2022-08-31" - name: Valijson url: https://github.com/tristanpenman/valijson notes: header-only library, works with many JSON parser implementations - date-draft: + date-draft: [] draft: [7] license: BSD-2-Clause + last-updated: "2022-08-31" - name: jsoncons url: https://github.com/danielaparker/jsoncons/blob/master/doc/ref/jsonschema/jsonschema.md notes: Header-only library - date-draft: + date-draft: [] draft: [7] license: Boost Software License 1.0 + last-updated: "2022-08-31" - name: Clojure implementations: - name: jinx url: https://github.com/juxt/jinx - date-draft: + date-draft: [] draft: [7] license: MIT - - name: json-schema + last-updated: "2022-08-31" + - name: json-schema (luposlip) url: https://github.com/luposlip/json-schema - date-draft: - draft: [7] + date-draft: [] + draft: [4, 6, 7] license: Apache License, Version 2.0 + last-updated: "2022-08-31" - name: COM/ActiveX implementations: - name: JSON Essentials for COM/ActiveX + anchor-name: JSONEssentials url: https://pinery.systems/json-essentials-com/index.html draft: [7] license: proprietary notes: Language independent, includes JSON DOM parser, REST ready, 4 licensing options for free and business uses. For Windows platform only. + last-updated: "2022-08-31" - name: Common Lisp implementations: - - name: json-schema + - name: json-schema (fisxoj) url: https://github.com/fisxoj/json-schema date-draft: [2019-09] - draft: [4, 6, 7] + draft: [7, 6, 4] license: LGPL + compliance: + config: + docs: https://github.com/fisxoj/json-schema/blob/master/README.rst + instructions: | + set `resolve-remote-references` to `nil` + last-updated: "2022-08-31" - name: Elixir implementations: - - name: Elixir JSON Schema validator - url: https://github.com/jonasschmidt/ex_json_schema - date-draft: - draft: [4] - notes: "Draft-06+ progress: issue [24](https://github.com/jonasschmidt/ex_json_schema/issues/24); branch [multi-draft-support](https://github.com/jonasschmidt/ex_json_schema/tree/multi-draft-support)" + - name: Exonerate + url: https://hexdocs.pm/exonerate/Exonerate.html + date-draft: [2020-12, 2019-09] + draft: [7, 6, 4] license: MIT + last-updated: "2023-04-04" - name: JsonXema url: https://github.com/hrzndhrn/json_xema - date-draft: + date-draft: [] draft: [7, 6, 4] license: MIT + last-updated: "2022-08-31" - name: Erlang implementations: - name: JeSSE url: https://github.com/for-GET/jesse draft: [6, 4, 3] license: "Apache 2.0" + last-updated: "2022-08-31" - name: Go implementations: - - name: gojsonschema - url: https://github.com/xeipuuv/gojsonschema - date-draft: - draft: [7, 6, 4] - license: "Apache 2.0" - name: santhosh-tekuri/jsonschema url: https://github.com/santhosh-tekuri/jsonschema notes: includes custom keywords, output formats date-draft: [2020-12, 2019-09] draft: [7, 6, 4] license: Apache License 2.0 + last-updated: "2022-08-31" - name: qri-io/jsonschema url: https://github.com/qri-io/jsonschema date-draft: [2019-09] draft: [7] license: MIT notes: includes custom validator support, rich error returns + last-updated: "2022-08-31" + - name: gojsonschema + url: https://github.com/xeipuuv/gojsonschema + date-draft: [] + draft: [7, 6, 4] + license: "Apache 2.0" + last-updated: "2022-08-31" - name: Java implementations: + - name: Vert.x Json Schema + url: https://github.com/eclipse-vertx/vertx-json-schema + notes: | + Validator for Eclipse Vert.x project JSON types. + Includes custom keywords support, custom dialect support, asynchronous validation + date-draft: [2020-12, 2019-09] + draft: [4, 7] + license: Apache License, Version 2.0 + last-updated: "2022-08-31" + - name: jsonschemafriend + url: https://github.com/jimblackler/jsonschemafriend + date-draft: [2020-12, 2019-09] + draft: [7, 6, 4, 3] + license: Apache License 2.0 + last-updated: "2022-08-31" + - name: networknt/json-schema-validator + url: https://github.com/networknt/json-schema-validator + notes: Support OpenAPI 3.0 with Jackson parser + date-draft: [] + draft: [7, 6, 4] + license: Apache License 2.0 + compliance: + config: + docs: https://github.com/networknt/json-schema-validator/blob/master/doc/config.md + instructions: "set `handleNullableField` to `false`" + last-updated: "2022-08-31" + - name: erosb/json-sKema + url: https://github.com/erosb/json-sKema + notes: Successor of the everit-org/json-schema library + date-draft: [2020-12] + license: MIT + last-updated: "2023-04-10" - name: Snow url: https://github.com/ssilverman/snowy-json notes: Uses Maven for the project and Gson under the hood. date-draft: [2019-09] draft: [7, 6] license: GNU Affero General Public License v3.0 - - name: Vert.x Json Schema - url: https://github.com/eclipse-vertx/vertx-json-schema - notes: Validator for Eclipse Vert.x project JSON types. - date-draft: [2019-09] - draft: [7] - license: Apache License, Version 2.0 - notes: includes custom keywords support, custom dialect support, asynchronous validation + last-updated: "2022-08-31" - name: everit-org/json-schema url: https://github.com/everit-org/json-schema - notes: - date-draft: + date-draft: [] draft: [7, 6, 4] license: Apache License 2.0 + last-updated: "2022-08-31" - name: Justify url: https://github.com/leadpony/justify - notes: - date-draft: - draft: [7, 6, 4] - license: Apache License 2.0 - - name: networknt/json-schema-validator - url: https://github.com/networknt/json-schema-validator - notes: Support OpenAPI 3.0 with Jackson parser - date-draft: [2019-09] + date-draft: [] draft: [7, 6, 4] license: Apache License 2.0 - - name: jsonschemafriend - url: https://github.com/jimblackler/jsonschemafriend - notes: - date-draft: [2019-09] - draft: [7, 6, 4, 3] - license: Apache License 2.0 -- name: Kotlin + last-updated: "2022-08-31" + - name: json-schema (dev.harrel) + url: https://github.com/harrel56/json-schema + notes: JSON library agnostic implementation. Supports custom keywords. + date-draft: [ 2020-12 ] + license: MIT + last-updated: "2023-06-29" + - name: Zuunr JSON + url: https://bitbucket.org/zuunr/json + notes: Immutable JSON representation in Java + validation and filtering based on JSON Schema + date-draft: [ 2020-12 ] + license: Apache 2.0 + last-updated: 2023-09-04 +- name: JavaScript implementations: - - name: Medeia-validator - url: https://github.com/worldturner/medeia-validator - notes: streaming validator for Kotlin and Java clients; works with Jackson and Gson - date-draft: + - name: Hyperjump JSV + url: https://github.com/jdesrosiers/json-schema + notes: "Built for Node.js and browsers. Includes support for custom vocabularies." + date-draft: [2019-09, 2020-12] draft: [7, 6, 4] - license: Apache License 2.0 - - name: json-kotlin-schema - url: https://github.com/pwall567/json-kotlin-schema + license: MIT + last-updated: "2022-08-31" + - name: "@exodus/schemasafe" + url: https://github.com/ExodusMovement/schemasafe notes: | - Kotlin implementation of JSON Schema. - (Currently supports most of Draft 7; see the README for details. - Full compliance with Draft 7 and later drafts in progress.) - date-draft: - draft: [7] + For Node.js and browsers, with security and speed being the main focus. Pre-compiles schemas to JS functions. + [Supports OpenAPI `discriminator`](https://github.com/ExodusMovement/schemasafe/blob/master/doc/Discriminator-support.md). + Default behavior is hardened with additional schema coherence validation. + date-draft: [2020-12, 2019-09] + draft: [7, 6, 4] license: MIT -- name: JavaScript - implementations: + compliance: + config: + docs: https://github.com/ExodusMovement/schemasafe/blob/master/doc/Options.md + instructions: "disable schema coherence checks and `format` assertion by setting option `mode: 'spec'`" + last-updated: "2023-08-29" - name: ajv url: https://github.com/ajv-validator/ajv 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)" date-draft: [2019-09, 2020-12] draft: [7, 6, 4] license: MIT - - name: djv - url: https://github.com/korzio/djv - notes: "for Node.js and browsers" - date-draft: - draft: [6, 4] - license: MIT - - name: Hyperjump JSV - url: https://github.com/jdesrosiers/json-schema - notes: "Built for Node.js and browsers. Includes support for custom vocabularies." + compliance: + config: + docs: https://ajv.js.org/strict-mode.html + instructions: "set option `strict: false`" + last-updated: "2022-08-31" + - name: "@cfworker/json-schema" + anchor-name: cfworker + url: https://github.com/cfworker/cfworker/blob/master/packages/json-schema/README.md + notes: "Built for Cloudflare workers, browsers, and Node.js" date-draft: [2019-09, 2020-12] - draft: [7, 6, 4] + draft: [7, 4] license: MIT + last-updated: "2023-02-28" - name: JSON Schema Library url: https://github.com/sagold/json-schema-library notes: "Built for Node.js and browsers. Customizable json-validator and json-schema utilities for traversal, data generation and validation" - date-draft: + date-draft: [] draft: [7, 6, 4] license: MIT + last-updated: "2022-08-31" + - name: djv + url: https://github.com/korzio/djv + notes: "for Node.js and browsers" + date-draft: [] + draft: [6, 4] + license: MIT + last-updated: "2022-08-31" - name: vue-vuelidate-jsonschema url: https://github.com/mokkabonna/vue-vuelidate-jsonschema - date-draft: + date-draft: [] draft: [6] license: MIT - - name: "@cfworker/json-schema" - url: https://github.com/cfworker/cfworker/blob/master/packages/json-schema/README.md - notes: "Built for Cloudflare workers, browsers, and Node.js" - date-draft: [2019-09] + last-updated: "2022-08-31" + - name: jema.js + url: https://github.com/nuxodin/jema.js + date-draft: [2020-12] + draft: [] + license: MIT + last-updated: "2023-03-28" +- name: Kotlin + implementations: + - name: Medeia-validator + url: https://github.com/worldturner/medeia-validator + notes: streaming validator for Kotlin and Java clients; works with Jackson and Gson + date-draft: [] draft: [7, 6, 4] + license: Apache License 2.0 + last-updated: "2022-08-31" + - name: json-kotlin-schema + url: https://github.com/pwall567/json-kotlin-schema + notes: | + Kotlin implementation of JSON Schema. + (Currently supports most of Draft 7; see the README for details. + Full compliance with Draft 7 and later drafts in progress.) + date-draft: [2019-09] + draft: [7] + license: MIT + last-updated: "2022-08-31" + - name: json-schema-validator + url: https://github.com/OptimumCode/json-schema-validator + notes: | + Kotlin Muliplatform implementation of JSON schema to validate the JsonElement from kotlinx.serialization-json. + The library is 'work in progress' and new features/drafts will be added in the future. + date-draft: [] + draft: [7] license: MIT + last-updated: "2023-08-01" - name: Perl implementations: - name: JSON::Schema::Modern url: https://github.com/karenetheridge/JSON-Schema-Modern - notes: - date-draft: [7, 2019-09, 2020-12] + date-draft: [2019-09, 2020-12] + draft: [7] license: "GNU General Public License, Version 1 + The Artistic License 1.0" + last-updated: "2022-08-31" - name: JSON::Schema::Tiny url: https://github.com/karenetheridge/JSON-Schema-Tiny - notes: - date-draft: [7, 2019-09, 2020-12] + date-draft: [2019-09, 2020-12] + draft: [7] license: "GNU General Public License, Version 1 + The Artistic License 1.0" + last-updated: "2022-08-31" - name: JSON::Validator url: https://github.com/mojolicious/json-validator - notes: - date-draft: + date-draft: [2019-09] draft: [7, 6, 4] license: "The Artistic License 2.0 (GPL Compatible)" + last-updated: "2022-08-31" - name: JSONSchema::Validator url: https://github.com/skbkontur/perl-jsonschema-validator - notes: - date-draft: + date-draft: [] draft: [7, 6, 4] license: MIT + last-updated: "2022-08-31" - name: PHP implementations: - name: Opis Json Schema url: https://github.com/opis/json-schema - notes: - date-draft: + date-draft: [2020-12, 2019-09] draft: [7, 6] license: "Apache License 2.0" + compliance: + config: + docs: https://opis.io/json-schema/2.x/php-loader.html#parser-options + instructions: 'set several options to their "vanilla" values' + last-updated: "2022-08-31" - name: Swaggest Json Schema url: https://github.com/swaggest/php-json-schema - notes: - date-draft: + date-draft: [] draft: [7, 6, 4] license: "MIT" + last-updated: "2022-08-31" - name: Python implementations: - name: jschon url: https://github.com/marksparkza/jschon - notes: date-draft: [2019-09, 2020-12] - draft: + draft: [] license: MIT + last-updated: "2022-08-31" - name: jsonschema - url: https://github.com/Julian/jsonschema - notes: + url: https://github.com/python-jsonschema/jsonschema date-draft: [2019-09, 2020-12] draft: [7, 6, 4, 3] license: "MIT" + last-updated: "2022-11-09" - name: fastjsonschema url: https://github.com/horejsek/python-fastjsonschema notes: Great performance thanks to code generation. - date-draft: + date-draft: [] draft: [7, 6, 4] license: BSD-3-Clause - - name: jsonschema-rs + last-updated: "2022-08-31" + - name: jsonschema-rs (Python) url: https://github.com/Stranger6667/jsonschema-rs/tree/master/bindings/python notes: Python bindings to Rust's jsonschema crate - date-draft: + date-draft: [] draft: [7, 6, 4] + built-on: + name: jsonschema-rs license: MIT + last-updated: "2022-08-31" - name: Ruby implementations: - name: JSONSchemer url: https://github.com/davishmcclurg/json_schemer - notes: - date-draft: + date-draft: [2020-12, 2019-09] draft: [7, 6, 4] license: MIT + last-updated: "2023-08-20" - name: JSI url: https://rubydoc.info/gems/jsi - notes: - date-draft: + date-draft: [] draft: [7, 6, 4] license: AGPL-3.0 + last-updated: "2022-08-31" - name: Rust implementations: + - name: boon + url: https://github.com/santhosh-tekuri/boon + date-draft: [2020-12, 2019-09] + draft: [7, 6, 4] + license: Apache License 2.0 + last-updated: "2023-02-22" - name: jsonschema-rs url: https://github.com/Stranger6667/jsonschema-rs - notes: Fast due to compiling schema into a validation tree - date-draft: + notes: Fast due to compiling schema into a validation tree; 2019-09 and 2020-12 are partially supported + date-draft: [2019-09, 2020-12] draft: [7, 6, 4] license: MIT + last-updated: "2022-08-31" - name: Scala implementations: - name: Reactive Core Circe JSON Validator url: https://github.com/reactivecore/rc-circe-json-schema notes: Based on Circe-Library -Early state and API may not be stable. Not yet produciton ready. date-draft: [2020-12, 2019-09] - draft: + draft: [] license: Apache License, Version 2.0 + last-updated: "2022-08-31" - name: Objective-C implementations: - name: DSJSONSchemaValidation url: https://github.com/dashevo/JSONSchemaValidation - notes: - date-draft: + date-draft: [] draft: [7, 6, 4] license: MIT + last-updated: "2022-08-31" - name: Lua/LuaJIT implementations: - name: lua-resty-jsonschema url: https://github.com/iresty/lua-resty-jsonschema - notes: - date-draft: + date-draft: [] draft: [7, 6, 4] license: MIT + last-updated: "2022-08-31" - name: Web (Online) implementations: - - name: Hyperjump JSV + - name: Hyperjump JSV (online) url: https://json-schema.hyperjump.io date-draft: [2020-12, 2019-09] draft: [7, 6, 4] notes: Supports multiple schemas and multiple instances; client-side validation + built-on: + name: Hyperjump JSV + last-updated: "2022-08-31" - name: json-everything - url: https://json-everything.net + url: https://json-everything.net/json-schema date-draft: [2020-12, 2019-09] draft: [7, 6] - notes: Powered by JsonSchema.Net; server-side validation - - name: jsonschema.dev - url: https://jsonschema.dev - draft: [7] - notes: Powered by ajv; client-side validation + notes: Powered by JsonSchema.Net in Blazor WASM for client-side validation + built-on: + name: JsonSchema.Net + last-updated: "2022-08-31" - name: jschon.dev url: https://jschon.dev/ date-draft: [2020-12, 2019-09] - draft: + draft: [] + built-on: + name: jschon + last-updated: "2022-08-31" - name: JSON Schema Validator url: https://www.jsonschemavalidator.net/ date-draft: [2019-09] draft: [7, 6, 4, 3] - notes: Powered by JSON.Net; server-side validation + notes: server-side validation + built-on: + name: Json.NET Schema + last-updated: "2022-08-31" + - name: jsonschema.dev + url: https://jsonschema.dev + draft: [7] + notes: client-side validation + built-on: + name: ajv + last-updated: "2022-08-31" - name: JSON Schema Lint url: http://jsonschemalint.com/ - date-draft: + date-draft: [] draft: [7, 6, 4, 3, 2, 1] + built-on: + name: ajv + notes: Uses JSV for draft-03 and earlier + last-updated: "2022-08-31" - name: ExtendsClass's JSON Schema Validator + anchor-name: ExtendsClass url: https://extendsclass.com/json-schema-validator.html - date-draft: + date-draft: [] draft: [7] + built-on: + name: ajv + last-updated: "2022-08-31" - name: Command Line implementations: + - name: valbuddy + license: Free and commercial versions (proprietary) + url: 'https://www.json-buddy.com/json-validator-command-line-tool.htm' + date-draft: [2019-09] + draft: [7, 6, 4] + notes: JSONBuddy cli tool. Windows platform. Support for large data and streaming validation. + last-updated: "2022-08-31" - name: ajv-cli license: MIT url: 'https://www.npmjs.com/package/ajv-cli' - date-draft: + date-draft: [2020-12, 2019-09] draft: [7, 6, 4] + compliance: + config: + docs: https://github.com/ajv-validator/ajv-cli#ajv-options + instructions: "pass `--strict=false`" + built-on: + name: ajv + last-updated: "2022-08-31" + - name: yajsv + license: MIT + url: 'https://github.com/neilpa/yajsv' + date-draft: [] + draft: [7, 6, 4] + built-on: + name: gojsonschema + last-updated: "2022-08-31" - name: Polyglottal JSON Schema Validator license: MIT url: 'https://www.npmjs.com/package/pajv' - date-draft: + date-draft: [] draft: [6, 4] notes: can be used with YAML and many other formats besides JSON - - name: yajsv + last-updated: "2022-08-31" + built-on: + name: ajv +- name: Github Actions + implementations: + - name: Validate JSON Action license: MIT - url: 'https://github.com/neilpa/yajsv' - date-draft: - draft: [7, 6, 4] - notes: wraps [xeipuuv/gojsonschema](https://github.com/xeipuuv/gojsonschema) + url: 'https://github.com/OrRosenblatt/validate-json-action' + date-draft: [2019-09, 2020-12] + draft: [] + built-on: + name: ajv + last-updated: "2023-02-01" diff --git a/_data/validator-libraries-obsolete.yml b/_data/validator-libraries-obsolete.yml index 6cc5bd40..127fb16e 100644 --- a/_data/validator-libraries-obsolete.yml +++ b/_data/validator-libraries-obsolete.yml @@ -3,7 +3,7 @@ implementations: - name: NJsonSchema url: http://NJsonSchema.org - notes: + date-draft: [] draft: [4] license: Ms-PL - name: Manatee.Json @@ -11,22 +11,31 @@ date-draft: [2019-09] draft: [7, 6, 4] license: MIT +- name: C + implementations: + - name: WJElement + url: https://github.com/netmail-open/wjelement + date-draft: [] + draft: [4, 3] + license: LGPL-3.0 + notes: "Draft-06+ progress: issue [17](https://github.com/netmail-open/wjelement/issues/17#issuecomment-390899432)" - name: C++ anchor-name: cpp implementations: - name: wjelement-cpp url: https://github.com/petehug/wjelement-cpp - notes: + date-draft: [] draft: [4] license: LGPLv3 - name: Header-only C++ library for JSON Schema validation url: https://github.com/tristanpenman/valijson - notes: + date-draft: [] draft: [4, 3] license: BSD-2-Clause - name: Modern C++ JSON schema validator url: https://github.com/pboettch/json-schema-validator notes: "based on JSON for Modern C++" + date-draft: [] draft: [4] license: "MIT" - name: Clojure @@ -34,42 +43,55 @@ - name: scjsv url: https://github.com/metosin/scjsv notes: "(wrapper for [java-json-tools/json-schema-validator](https://github.com/java-json-tools/json-schema-validator))" + date-draft: [] draft: [4] license: Eclipse Public License v1.0 - name: json-schema validator url: https://github.com/tatut/json-schema + date-draft: [] draft: [3, 4] license: MIT - name: CoffeeScript implementations: - name: JSCK url: https://github.com/pandastrike/jsck + date-draft: [] draft: [4, 3] license: MIT - name: Dart implementations: - name: json_schema url: https://github.com/patefacio/json_schema - notes: + date-draft: [] draft: [4] license: BSL-1.0 +- name: Elixir + implementations: + - name: Elixir JSON Schema validator + url: https://github.com/jonasschmidt/ex_json_schema + date-draft: [] + draft: [4] + notes: "Draft-06+ progress: issue [24](https://github.com/jonasschmidt/ex_json_schema/issues/24); branch [multi-draft-support](https://github.com/jonasschmidt/ex_json_schema/tree/multi-draft-support)" + license: MIT - name: Go implementations: - name: validate-json url: https://github.com/cesanta/validate-json + date-draft: [] draft: [4] license: GPLv2 - name: Haskell implementations: - name: hjsonschema url: https://github.com/seagreen/hjsonschema - notes: + date-draft: [] draft: [4] license: MIT - name: Java implementations: - name: json-schema-validator url: https://github.com/java-json-tools/json-schema-validator + date-draft: [] draft: [4] license: LGPLv3 - name: JavaScript @@ -77,95 +99,110 @@ - name: jsonschema url: https://github.com/tdegrunt/jsonschema notes: "for Node.js" + date-draft: [] draft: [4] license: MIT - name: tv4 url: http://geraintluff.github.com/tv4/ - notes: + date-draft: [] draft: [4] - license: [Public Domain, MIT] + license: Public Domain, MIT - name: is-my-json-valid url: https://github.com/mafintosh/is-my-json-valid - notes: + date-draft: [] draft: [4] license: MIT - name: JaySchema url: https://github.com/natesilva/jayschema notes: "for Node.js" + date-draft: [] draft: [4] license: BSD - name: z-schema url: https://github.com/zaggino/z-schema notes: "for Node.js" + date-draft: [] draft: [4] license: MIT - name: direct-schema url: http://github.com/IreneKnapp/direct-schema + date-draft: [] + draft: [3] license: "BSD" - name: JSV url: http://github.com/garycourt/JSV + date-draft: [] draft: [1, 2, 3] license: "BSD" - name: json-schema url: https://github.com/kriszyp/json-schema + date-draft: [] draft: [4] notes: "part of the [Persevere](http://github.com/kriszyp/json-schema) project" - license: [AFL, BSD] + license: AFL, BSD - name: schema.js url: https://github.com/akidee/schema.js + date-draft: [] draft: [2] license: "MIT" - name: json-gate url: https://github.com/oferei/json-gate + date-draft: [] draft: [3] license: "MIT" - name: JSEN url: https://github.com/bugventure/jsen notes: "for Node.js" + date-draft: [] draft: [4] license: "MIT" - name: Skeemas url: https://github.com/ericgj/json-schema-valid + date-draft: [] draft: [3, 4] license: MIT - name: Jassi url: https://github.com/iclanzan/jassi + date-draft: [] draft: [4] license: GPLv3 - name: json-schema-valid url: https://github.com/ericgj/json-schema-valid + date-draft: [] draft: [4] license: MIT - name: PHP implementations: - name: json-schema url: https://github.com/justinrainbow/json-schema + date-draft: [] draft: [4, 3] license: "Berkeley" - name: jsv4-php url: https://github.com/geraintluff/jsv4-php - notes: + date-draft: [] draft: [4] - license: [Public Domain, MIT] + license: Public Domain, MIT - name: JVal url: https://github.com/stefk/jval - notes: + date-draft: [] draft: [4] license: "MIT" - name: JSON Guard url: https://github.com/thephpleague/json-guard - notes: + date-draft: [] draft: [4] license: "MIT" - name: Swaggest Json Schema url: https://github.com/swaggest/php-json-schema - notes: + date-draft: [] draft: [4] license: "MIT" - name: Perl implementations: - name: JSV::Validator url: https://metacpan.org/module/JSV::Validator + date-draft: [] draft: [4] license: "MIT" - name: PostgreSQL @@ -173,6 +210,7 @@ - name: postgres-json-schema url: https://github.com/gavinwahl/postgres-json-schema notes: "PL/pgSQL implementation, no remote (http) references" + date-draft: [] draft: [4] license: PostgreSQL - name: Ruby @@ -180,18 +218,19 @@ - name: json_schema url: https://github.com/brandur/json_schema notes: "Schema parser and validator, with hyper-schema support" + date-draft: [] draft: [4] license: MIT - name: json-schema url: https://github.com/hoxworth/json-schema - notes: + date-draft: [] draft: [4, 3, 2, 1] license: MIT - name: Rust implementations: - name: valico url: https://github.com/rustless/valico - notes: + date-draft: [] draft: [4] license: MIT - name: Scala @@ -199,11 +238,13 @@ - name: json-schema-parser url: https://github.com/VoxSupplyChain/json-schema-parser notes: "Schema parser and validator" + date-draft: [] draft: [4] license: Apache 2.0 - name: Swift implementations: - name: JSONSchema url: https://github.com/kylef/JSONSchema.swift + date-draft: [] draft: [4] license: BSD-3-Clause diff --git a/_includes/anchor_headings.html b/_includes/anchor_headings.html new file mode 100644 index 00000000..f8e22d6a --- /dev/null +++ b/_includes/anchor_headings.html @@ -0,0 +1,172 @@ +{% capture headingsWorkspace %} + {% comment %} + Copyright (c) 2018 Vladimir "allejo" Jimenez + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following + conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + {% endcomment %} + {% comment %} + Version 1.0.11 + https://github.com/allejo/jekyll-anchor-headings + + "Be the pull request you wish to see in the world." ~Ben Balter + + Usage: + {% include anchor_headings.html html=content anchorBody="#" %} + + Parameters: + * html (string) - the HTML of compiled markdown generated by kramdown in Jekyll + + Optional Parameters: + * beforeHeading (bool) : false - Set to true if the anchor should be placed _before_ the heading's content + * headerAttrs (string) : '' - Any custom HTML attributes that will be added to the heading tag; you may NOT use `id`; + the `%heading%` and `%html_id%` placeholders are available + * anchorAttrs (string) : '' - Any custom HTML attributes that will be added to the `` tag; you may NOT use `href`, `class` or `title`; + the `%heading%` and `%html_id%` placeholders are available + * anchorBody (string) : '' - The content that will be placed inside the anchor; the `%heading%` placeholder is available + * anchorClass (string) : '' - The class(es) that will be used for each anchor. Separate multiple classes with a space + * anchorTitle (string) : '' - The `title` attribute that will be used for anchors + * h_min (int) : 1 - The minimum header level to build an anchor for; any header lower than this value will be ignored + * h_max (int) : 6 - The maximum header level to build an anchor for; any header greater than this value will be ignored + * bodyPrefix (string) : '' - Anything that should be inserted inside of the heading tag _before_ its anchor and content + * bodySuffix (string) : '' - Anything that should be inserted inside of the heading tag _after_ its anchor and content + * generateId (true) : false - Set to true if a header without id should generate an id to use. + + Output: + The original HTML with the addition of anchors inside of all of the h1-h6 headings. + {% endcomment %} + + {% assign minHeader = include.h_min | default: 1 %} + {% assign maxHeader = include.h_max | default: 6 %} + {% assign beforeHeading = include.beforeHeading %} + {% assign headerAttrs = include.headerAttrs %} + {% assign nodes = include.html | split: ' + {% if headerLevel == 0 %} + + {% assign firstChunk = node | split: '>' | first %} + + + {% unless firstChunk contains '<' %} + {% capture node %}{% endcapture %} + {% assign _workspace = node | split: _closingTag %} + {% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %} + {% assign header = _workspace[0] | replace: _hAttrToStrip, '' %} + {% assign escaped_header = header | strip_html | strip %} + + {% assign _classWorkspace = _workspace[0] | split: 'class="' %} + {% assign _classWorkspace = _classWorkspace[1] | split: '"' %} + {% assign _html_class = _classWorkspace[0] %} + + {% if _html_class contains "no_anchor" %} + {% assign skip_anchor = true %} + {% else %} + {% assign skip_anchor = false %} + {% endif %} + + {% assign _idWorkspace = _workspace[0] | split: 'id="' %} + {% if _idWorkspace[1] %} + {% assign _idWorkspace = _idWorkspace[1] | split: '"' %} + {% assign html_id = _idWorkspace[0] %} + {% elsif include.generateId %} + + {% assign html_id = escaped_header | slugify %} + {% if html_id == "" %} + {% assign html_id = false %} + {% endif %} + {% capture headerAttrs %}{{ headerAttrs }} id="%html_id%"{% endcapture %} + {% endif %} + + + {% capture anchor %}{% endcapture %} + + {% if skip_anchor == false and html_id and headerLevel >= minHeader and headerLevel <= maxHeader %} + {% if headerAttrs %} + {% capture _hAttrToStrip %}{{ _hAttrToStrip | split: '>' | first }} {{ headerAttrs | replace: '%heading%', escaped_header | replace: '%html_id%', html_id }}>{% endcapture %} + {% endif %} + + {% capture anchor %}href="#{{ html_id }}"{% endcapture %} + + {% if include.anchorClass %} + {% capture anchor %}{{ anchor }} class="{{ include.anchorClass }}"{% endcapture %} + {% endif %} + + {% if include.anchorTitle %} + {% capture anchor %}{{ anchor }} title="{{ include.anchorTitle | replace: '%heading%', escaped_header }}"{% endcapture %} + {% endif %} + + {% if include.anchorAttrs %} + {% capture anchor %}{{ anchor }} {{ include.anchorAttrs | replace: '%heading%', escaped_header | replace: '%html_id%', html_id }}{% endcapture %} + {% endif %} + + {% capture anchor %}{{ include.anchorBody | replace: '%heading%', escaped_header | default: '' }}{% endcapture %} + + + {% if beforeHeading %} + {% capture anchor %}{{ anchor }} {% endcapture %} + {% else %} + {% capture anchor %} {{ anchor }}{% endcapture %} + {% endif %} + {% endif %} + + {% capture new_heading %} + + {% endcapture %} + + + {% assign chunkCount = _workspace | size %} + {% if chunkCount > 1 %} + {% capture new_heading %}{{ new_heading }}{{ _workspace | last }}{% endcapture %} + {% endif %} + + {% capture edited_headings %}{{ edited_headings }}{{ new_heading }}{% endcapture %} + {% endfor %} +{% endcapture %}{% assign headingsWorkspace = '' %}{{ edited_headings | strip }} diff --git a/_includes/draft-07 b/_includes/draft-07 index 6e2b4251..567f7685 160000 --- a/_includes/draft-07 +++ b/_includes/draft-07 @@ -1 +1 @@ -Subproject commit 6e2b42516dc7e8845c980d284c61bd44c9f95cd2 +Subproject commit 567f768506aaa33a38e552c85bf0586029ef1b32 diff --git a/_includes/footer.html b/_includes/footer.html index 6f99d796..46fe6fac 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -19,10 +19,17 @@ - + diff --git a/_layouts/default.html b/_layouts/default.html index 751e0dcc..7796462a 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -12,7 +12,7 @@ {% endif %}
- {{ content }} + {% include anchor_headings.html html=content anchorBody="#" %}
diff --git a/assets/main.scss b/assets/main.scss index 9e965232..23875e58 100644 --- a/assets/main.scss +++ b/assets/main.scss @@ -176,4 +176,11 @@ $content-width: 960px !default; .wrapper.buttons { margin-bottom: 10px; +} + +.custom-logo-link { + /* display: inline-block; */ + max-height: 40px; + padding-bottom: 0.7em; + /* width: auto; */ } \ No newline at end of file diff --git a/assets/openjs_foundation-logo.svg b/assets/openjs_foundation-logo.svg new file mode 100644 index 00000000..fa063e7c --- /dev/null +++ b/assets/openjs_foundation-logo.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/draft/2020-12/meta/hyper-schema b/draft/2020-12/meta/hyper-schema new file mode 120000 index 00000000..29e3d6ac --- /dev/null +++ b/draft/2020-12/meta/hyper-schema @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/hyper-schema.json \ No newline at end of file diff --git a/draft/2020-12/release-notes.md b/draft/2020-12/release-notes.md index e4fb5c2b..7fad89da 100644 --- a/draft/2020-12/release-notes.md +++ b/draft/2020-12/release-notes.md @@ -350,8 +350,8 @@ external references that we want to bundle. "properties": { "address": { "type": "string" }, "city": { "type": "string" }, - "postalCode": { "type": "/schema/common#/$defs/usaPostalCode" }, - "state": { "type": "/$defs/states" } + "postalCode": { "$ref": "/schema/common#/$defs/usaPostalCode" }, + "state": { "$ref": "/$defs/states" } }, "$defs": { @@ -407,8 +407,8 @@ embedded schemas using `$defs`. Here's what the bundled schema would look like. "properties": { "address": { "type": "string" }, "city": { "type": "string" }, - "postalCode": { "type": "/schema/common#/$defs/usaPostalCode" }, - "state": { "type": "#/$defs/states" } + "postalCode": { "$ref": "/schema/common#/$defs/usaPostalCode" }, + "state": { "$ref": "#/$defs/states" } }, "$defs": { diff --git a/implementations.md b/implementations.md index 785552b2..c2df42b0 100644 --- a/implementations.md +++ b/implementations.md @@ -26,7 +26,7 @@ Validators