Skip to content

Commit 4b6e40d

Browse files
Add updated information architecture changes (#1411)
* Add updated information architecture changes * add npm fix * Add 301 redirects * Rename link title --------- Co-authored-by: Benjamin Granados <[email protected]>
1 parent 1055c7c commit 4b6e40d

33 files changed

+718
-349
lines changed

components/Sidebar.tsx

Lines changed: 246 additions & 138 deletions
Large diffs are not rendered by default.

pages/docs/index.page.tsx

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,41 +17,51 @@ export default function Welcome() {
1717
<Headline1>{newTitle}</Headline1>
1818
<p>
1919
JSON Schema is a declarative language for annotating and validating JSON
20-
documents' structure, constraints, and data types. It provides a way to
20+
documents' structure, constraints, and data types. It helps you
2121
standardize and define expectations for JSON data.
2222
<br />
23+
Our documentation will guide you through the basics and beyond of
24+
defining and validating JSON data.
2325
<br />
2426
<span className='font-bold text-[1.3rem]'>Explore the docs</span>
2527
</p>
2628
<div className='w-full lg:w-full grid grid-cols-1 sm:grid-cols-2 gap-6 my-[10px] mx-auto mt-8'>
2729
<Card
2830
icon='/icons/eye.svg'
29-
title='Overview'
30-
body='Our Overview provides a high level view of the project, its benefits, the roadmap and other relevant details.'
31+
title='Introduction'
32+
body='Discover JSON Schema: its purpose and role in data validation.'
3133
headerSize='medium'
3234
bodyTextSize='small'
3335
link='/overview/what-is-jsonschema'
3436
/>
3537
<Card
3638
icon='/icons/compass.svg'
37-
title='Getting Started'
38-
body='Our Getting Started guide walks you through the basics of JSON Schema.'
39+
title='Get started'
40+
body='New to JSON Schema? Learn the basics of schema design.'
3941
headerSize='medium'
4042
bodyTextSize='small'
4143
link='/learn'
4244
/>
45+
<Card
46+
icon='/icons/grad-cap.svg'
47+
title='Guides'
48+
body='Master advanced skills such as validation with our hands-on guides.'
49+
headerSize='medium'
50+
bodyTextSize='small'
51+
link='/learn/guides'
52+
/>
4353
<Card
4454
icon='/icons/book.svg'
4555
title='Reference'
46-
body='Our Reference teaches JSON Schema deeply from a beginner to the advanced level.'
56+
body='Dive deeper into JSON Schema keywords with our clear explanations and usage examples.'
4757
headerSize='medium'
4858
bodyTextSize='small'
4959
link='/understanding-json-schema'
5060
/>
5161
<Card
5262
icon='/icons/clipboard.svg'
5363
title='Specification'
54-
body='Our Specification section documents all versions of JSON Schema specification.'
64+
body='Understand the evolution of JSON Schema through its different versions'
5565
headerSize='medium'
5666
bodyTextSize='small'
5767
link='/specification'

pages/implementers/_index.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ next:
99
url: /implementers/interfaces
1010
---
1111

12-
For Implementers
12+
Implement JSON Schema
1313
=========================
1414

15-
Welcome to the **Implementers** section! The place for implementation maintainers' Docs.
15+
Dive into the technical details of implementing JSON Schema.
16+
This section is for developers building tools and libraries that work with JSON Schema.

pages/implementers/index.page.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,27 +33,27 @@ export default function ContentExample({
3333
<Card
3434
key='common-interfaces'
3535
icon='/icons/list.svg'
36-
title='Common Interfaces'
37-
body='Common Interfaces across JSON Schema Implementations'
36+
title='Understand common interfaces'
37+
body='Build interoperable JSON Schema tools using shared interfaces.'
3838
headerSize='small'
3939
bodyTextSize='small'
4040
link='./implementers/interfaces'
4141
/>
4242
<Card
4343
key='bowtie'
4444
icon='/img/logos/bowtie.svg'
45-
title='Bowtie'
46-
body='The meta-validator for JSON Schema implementations'
45+
title='Validate with Bowtie'
46+
body='Validate your JSON Schema tools with the Bowtie meta-validator.'
4747
headerSize='medium'
4848
bodyTextSize='small'
4949
link='https://docs.bowtie.report/en/stable/'
5050
/>
5151
</div>
5252
</section>
5353
<NextPrevButton
54-
prevLabel='Structuring a complex schema'
55-
prevURL='/understanding-json-schema/structuring'
56-
nextLabel='Common Interfaces across Implementations'
54+
prevLabel='Guides'
55+
prevURL='/guides'
56+
nextLabel='Understanding common interfaces'
5757
nextURL='/implementers/interfaces'
5858
/>
5959
<DocsHelp fileRenderType={fileRenderType} />

pages/implementers/interfaces.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
2-
title: Common Interfaces across JSON Schema Implementations
2+
title: Common interfaces across JSON Schema implementations
33
section: implementers
44
prev:
55
label: For Implementers
66
url: /implementers
77
next:
8-
label: Specification
9-
url: /specification
8+
label: Reference
9+
url: /understanding-json-schema/reference
1010
---
1111

1212
JSON Schema is extremely widely used and nearly equally widely implemented.
@@ -234,4 +234,4 @@ An API which facilitates the creation of new JSON Schema dialects, typically reg
234234

235235
## Failure Details
236236

237-
An API which allows for programmatic introspection of the causes of a particular validation failure, at minimum containing the failing keyword(s), value(s) and individual message(s) which led to the failure.
237+
An API which allows for programmatic introspection of the causes of a particular validation failure, at minimum containing the failing keyword(s), value(s) and individual message(s) which led to the failure.

pages/learn/guides/index.page.tsx

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import React from 'react';
2+
import { getLayout } from '~/components/Sidebar';
3+
import Head from 'next/head';
4+
import { Headline1 } from '~/components/Headlines';
5+
import { SectionContext } from '~/context';
6+
import { DocsHelp } from '~/components/DocsHelp';
7+
import NextPrevButton from '~/components/NavigationButtons';
8+
import Card from '~/components/Card';
9+
10+
export default function Welcome() {
11+
const fileRenderType = 'tsx';
12+
13+
const newTitle = 'Guides';
14+
return (
15+
<SectionContext.Provider value='learn'>
16+
<Head>
17+
<title>{newTitle}</title>
18+
</Head>
19+
<Headline1>{newTitle}</Headline1>
20+
<p>
21+
Welcome to our new Guides section!
22+
<br />
23+
</p>
24+
<div className='w-full lg:w-full grid grid-cols-1 sm:grid-cols-2 gap-6 my-[10px] mx-auto mt-8'>
25+
<Card
26+
title='For Implementers'
27+
body='Dive into the technical details of implementing JSON Schema'
28+
headerSize='medium'
29+
bodyTextSize='small'
30+
extended={true}
31+
link='/implementers'
32+
/>
33+
</div>
34+
<NextPrevButton
35+
prevLabel='Other examples'
36+
prevURL='/learn/json-schema-examples'
37+
nextLabel='For Implementers'
38+
nextURL='/implementers'
39+
/>
40+
<DocsHelp fileRenderType={fileRenderType} />
41+
</SectionContext.Provider>
42+
);
43+
}
44+
Welcome.getLayout = getLayout;

pages/learn/index.page.tsx

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,38 +10,71 @@ import NextPrevButton from '~/components/NavigationButtons';
1010
export default function Welcome() {
1111
const fileRenderType = 'tsx';
1212

13-
const newTitle = 'Getting Started';
13+
const newTitle = 'Get Started';
1414
return (
1515
<SectionContext.Provider value='learn'>
1616
<Head>
1717
<title>{newTitle}</title>
1818
</Head>
1919
<Headline1>{newTitle}</Headline1>
2020
<p>
21-
New to JSON Schema and don't know where to start?
21+
New to JSON Schema and don't know where to start? Explore our learning
22+
resources and get started with JSON Schema.
2223
<br />
2324
<br />
2425
</p>
2526
<div className='w-full lg:w-full grid grid-cols-1 sm:grid-cols-2 gap-6 my-[10px] mx-auto mt-8'>
2627
<Card
27-
title='Creating your first Schema'
28-
body='Our Getting Started guide walks you through the basics of JSON Schema.'
28+
title='What is a schema?'
29+
body='Let us start by defining what is a Schema'
30+
headerSize='medium'
31+
bodyTextSize='small'
32+
extended={true}
33+
link='/understanding-json-schema/about'
34+
/>
35+
<Card
36+
title='JSON Schema basics'
37+
body='Learn what JSON Schema is, essential keywords, and the basics of data validation'
38+
headerSize='medium'
39+
bodyTextSize='small'
40+
extended={true}
41+
link='/understanding-json-schema/basics'
42+
/>
43+
<Card
44+
title='Create your first schema'
45+
body='Follow our step by step guide and create your first JSON Schema'
2946
headerSize='medium'
3047
bodyTextSize='small'
3148
extended={true}
3249
link='/learn/getting-started-step-by-step'
3350
/>
3451
<Card
3552
title='Tour of JSON Schema'
36-
body='An interactive introduction to JSON Schema. Each lesson concludes with an exercise, so you can practice what you have learned.'
53+
body='Master JSON Schema through engaging lessons and hands-on exercises. Complete the course to earn your JSON Schema certification and prove your expertise.'
3754
headerSize='medium'
3855
bodyTextSize='small'
3956
extended={true}
4057
link='https://tour.json-schema.org/'
4158
/>
59+
<Card
60+
title='JSON Schema glossary'
61+
body='Explore a curated glossary of common terms used in the JSON Schema ecosystem'
62+
headerSize='medium'
63+
bodyTextSize='small'
64+
extended={true}
65+
link='/learn/glossary'
66+
/>
67+
<Card
68+
title='JSON Schema examples'
69+
body='Browse real-world JSON Schema examples across different domains, with detailed annotations.'
70+
headerSize='medium'
71+
bodyTextSize='small'
72+
extended={true}
73+
link='/learn/miscellaneous-examples'
74+
/>
4275
</div>
4376
<NextPrevButton
44-
prevLabel='Code of Conduct'
77+
prevLabel='Code of conduct'
4578
prevURL='/overview/code-of-conduct'
4679
nextLabel='Creating your first Schema'
4780
nextURL='/learn/getting-started-step-by-step'

pages/specification.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
title: Specification [#section]
33
section: docs
44
prev:
5-
label: Common Interfaces across Implementations
6-
url: /implementers/interfaces
5+
label: JSON Schema reference
6+
url: /understanding-json-schema/reference
77
next:
88
label: Specification Links
99
url: /specification-links
@@ -82,4 +82,4 @@ The release notes discuss the changes impacting users and implementers:
8282
Older drafts
8383
------------
8484

85-
Please see [Specification Links](../../specification-links) for older drafts and the latest unreleased version of the specification.
85+
Please see [Specification Links](../../specification-links) for older drafts and the latest unreleased version of the specification.

pages/understanding-json-schema/about.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
title: "What is a schema?"
33
section: "docs"
44
prev:
5-
label: Conventions used
6-
url: /understanding-json-schema/conventions
5+
label: Get Started
6+
url: /learn
77
next:
88
label: The basics
99
url: /understanding-json-schema/basics
@@ -160,4 +160,4 @@ the relationships between data elements that can\'t be expressed. Any
160160
will likely have two phases of validation: one at the schema (or
161161
structural) level, and one at the semantic level. The latter check will
162162
likely need to be implemented using a more general-purpose programming
163-
language.
163+
language.

pages/understanding-json-schema/basics.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ prev:
55
label: What is a Schema?
66
url: /understanding-json-schema/about
77
next:
8-
label: JSON Schema reference
9-
url: /understanding-json-schema/reference
8+
label: Creating your first Schema
9+
url: /learn/getting-started-step-by-step
1010
---
1111

1212
In [What is a schema?](../understanding-json-schema/about), we described what a [schema](../learn/glossary#schema) is,
@@ -149,4 +149,4 @@ The details of `$id` become more apparent when you start [structuring a complex
149149

150150
<Infobox label="Draft-specific info">
151151
In Draft 4, `$id` is just `id` (without the dollar-sign).
152-
</Infobox>
152+
</Infobox>

pages/understanding-json-schema/keywords/index.page.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,16 @@ export default function StaticMarkdownPage({ datas }: { datas: DataObject[] }) {
4343
return (
4444
<SectionContext.Provider value={null}>
4545
<Head>
46-
<title>JSON Schema - Keywords</title>
46+
<title>JSON Schema - keywords</title>
4747
</Head>
48-
<Headline1>JSON Schema Keywords</Headline1>
48+
<Headline1>JSON Schema keywords</Headline1>
4949
<p className='text-slate-600 block leading-7 dark:text-slate-300'>
50-
JSON Schema keywords are the building blocks of JSON Schema and they are
51-
used to define the structure of a JSON document.
50+
Keywords are the building blocks of JSON Schema and they are used to
51+
define the structure of a JSON document.
5252
</p>
5353
<p className='text-slate-600 block leading-7 dark:text-slate-300 pt-4'>
54-
Find below the list of JSON Schema Keywords and their links to the JSON
55-
Schema docs:
54+
Below is a list of JSON Schema keywords with links to their respective
55+
documentation.
5656
</p>
5757
<div className='mt-4'>
5858
{datas
@@ -88,10 +88,10 @@ export default function StaticMarkdownPage({ datas }: { datas: DataObject[] }) {
8888
)}
8989
</div>
9090
<NextPrevButton
91-
prevLabel='JSON Schema Glossary'
92-
prevURL='/learn/glossary'
93-
nextLabel='Understanding JSON Schema'
94-
nextURL='/understanding-json-schema'
91+
prevLabel='JSON Schema reference'
92+
prevURL='/understanding-json-schema/reference'
93+
nextLabel='Type-specific Keywords'
94+
nextURL='/understanding-json-schema/reference/type'
9595
/>
9696
<DocsHelp fileRenderType={fileRenderType} />
9797
</SectionContext.Provider>

pages/understanding-json-schema/reference/annotations.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
title: "Annotations"
33
section: docs
44
prev:
5-
label: Generic keywords
6-
url: /understanding-json-schema/reference/generic
5+
label: Schema annotations and comments
6+
url: /understanding-json-schema/reference/metadata
77
next:
88
label: Comments
99
url: /understanding-json-schema/reference/comments
@@ -67,4 +67,4 @@ the future.
6767
"readOnly": true,
6868
"writeOnly": false
6969
}
70-
```
70+
```

pages/understanding-json-schema/reference/array.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
title: "array"
33
section: docs
44
prev:
5-
label: Object
6-
url: /understanding-json-schema/reference/object
5+
label: Type-specific keywords
6+
url: /understanding-json-schema/reference/type
77
next:
88
label: Boolean
99
url: /understanding-json-schema/reference/boolean
@@ -538,4 +538,4 @@ The empty array always passes:
538538
```json
539539
// props { "indent": true, "valid": true }
540540
[]
541-
```
541+
```

0 commit comments

Comments
 (0)