Skip to content

[📝 Docs]: Implement the Spec page restructuring (Docs Website) #791

Closed
@kwennB

Description

@kwennB

What Docs changes are you proposing?

Description

This issue relates to restructuring the Specification docs on the JSON Schema Website. It resolves the b part of checklist 1 for Release 4 of the Execute the documentation strategy #158 .

Specification navigation menu

Intro or Overview
Versions
  • 2020-12
  • 2019-09
  • Draft 07
  • Draft 06
  • Draft 05
Specification Links
Migration
Release Notes
JSON Hyperschema

Draft Template

  • Header
  • Introduction
  • Links
  • Release notes

Sample

Specification: https://json-schema.org/draft/2020-12/json-schema-core.html

Authors:

  • Austin Wright
  • Henry Andrews
  • Ben Hutton
  • Greg Dennis

Published: 16 June 2022

Metaschema: https://json-schema.org/draft/2020-12/schema

Implementations: https://bowtie.report/#/dialects/draft2020-12

Status: Stable

Introduction

[Add texts here]

Access all data connected to draft 2020-12

Obsolete Draft 2020-12 Documents

These were updated without changing functionality or meta-schemas due to a few errors and unclear sections.

Release Notes

2020-12 Release Notes

The previous draft (2019-09) introduced a lot of new concepts including $recursiveRef/$recursiveAnchor, unevaluatedProperties/unevaluatedItems, vocabularies, and more. Since then, these new features have seen multiple implementations and usage in real schemas. This draft is mostly dedicated to changes related to applying the lessons we've learned about implementing and using these new features in the wild.

This document attempts to put information most useful to schema authors toward the top and information for implementation authors toward the bottom.

Changes to items and additionalItems

The keywords used for defining arrays and tuples have been redesigned to help lower the learning curve for JSON Schema. Since the items keyword was used for both types, we would often see people mistakenly defining a tuple when they meant to define an array and not understand why only the first item in the array was validating.

The items and additionalItems keywords have been replaced with prefixItems and items where prefixItems has the same functionality as the array-of-schemas for of the old items and the new items keyword has the same functionality as the old additionalItems keyword.

Although the meaning of items has changed, the syntax for defining arrays remains the same. Only the syntax for defining tuples has changed. The idea is that an array has items (items) and optionally has some positionally defined items that come before the normal items (prefixItems).

The above sample illustrates the changes for the draft template.

Resolves: #801
This PR fix will be sent in two separate PRs.

  • PR 1 - Specification navigation menu
  • PR 2 - Draft template

Are you working on this?

Yes

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

Labels

GSoDGoogle Season of DocsStatus: In ProgressThis issue is being worked on, and has someone assigned.📝 DocumentationIndicates improvements or additions to documentation.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions