Skip to content

Syncing the Title of .mdx file with the folder Name #169

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
462b28f
style: update heading letter spacing
JeelRajodiya Aug 4, 2024
e17dc2f
docs: remove italic text
JeelRajodiya Aug 4, 2024
36ac76e
styles: update keybinding styles
JeelRajodiya Aug 4, 2024
865fe56
docs: update wordings
JeelRajodiya Aug 5, 2024
bf7fd9f
chore: add opengraph images
JeelRajodiya Aug 5, 2024
2f315af
fix: metatag text and icon
JeelRajodiya Aug 5, 2024
ba28c13
new meta icon
JeelRajodiya Aug 5, 2024
b0468d3
docs(refactor): remove italic styles
JeelRajodiya Aug 5, 2024
32751cd
docs: rename chapter and add welcome message
JeelRajodiya Aug 5, 2024
96ac928
docs: update incorrect example
JeelRajodiya Aug 6, 2024
6a3046c
docs: link schema to glossary
JeelRajodiya Aug 6, 2024
6c96199
feat: add google analytics
JeelRajodiya Aug 8, 2024
c1cb7ef
refactor: use black icon first
JeelRajodiya Aug 8, 2024
8a4ac1f
test: remove black icon
JeelRajodiya Aug 8, 2024
8ab0ea3
Revert "test: remove black icon"
JeelRajodiya Aug 8, 2024
10497fe
Revert "Revert "test: remove black icon""
JeelRajodiya Aug 8, 2024
935e163
keep black icon by default
JeelRajodiya Aug 8, 2024
04c75f9
back to normal icons
JeelRajodiya Aug 8, 2024
3e4c669
Docs: Add mdx component guide
JeelRajodiya Aug 10, 2024
afde2d7
refactor: remove useless components
JeelRajodiya Aug 10, 2024
d1383ea
Fix grammar in regex section
michaelmior Aug 14, 2024
f484b14
Fix typo in tuple validation instructions
michaelmior Aug 14, 2024
916d860
Fix minor typos in unevaluatedItems instructions
michaelmior Aug 14, 2024
9fb17c3
Fix typo in format/examples instructions
michaelmior Aug 14, 2024
adccfa2
Merge pull request #54 from michaelmior/patch-1
JeelRajodiya Aug 15, 2024
0e5230c
Merge pull request #57 from michaelmior/patch-2
JeelRajodiya Aug 15, 2024
8d0db8a
Merge pull request #58 from michaelmior/patch-3
JeelRajodiya Aug 15, 2024
93d7f45
Merge pull request #60 from michaelmior/patch-4
JeelRajodiya Aug 15, 2024
a20f600
remove telemetry data option
JeelRajodiya Aug 15, 2024
5a79c5e
remove google search tags
JeelRajodiya Aug 16, 2024
68fb0ee
chore: add pnpm in the package manager
JeelRajodiya Aug 17, 2024
0eec2e0
fix(docs): update task description
JeelRajodiya Aug 17, 2024
6819d3c
docs(fix): update incorrect editor code and test case
JeelRajodiya Aug 17, 2024
380953e
chore: update pnpm version in the GH action
JeelRajodiya Aug 17, 2024
08ce4ab
chore: remove pnpm version in the action
JeelRajodiya Aug 17, 2024
0690afa
docs(refactor): remove the extensions from id
JeelRajodiya Aug 17, 2024
5937ee5
chore: remove the head tag
JeelRajodiya Aug 17, 2024
6d0050b
remove google analytics tag (for testing)
JeelRajodiya Aug 18, 2024
1dd7aef
Revert "remove google analytics tag (for testing)"
JeelRajodiya Aug 18, 2024
1c46caf
add button clicked event
JeelRajodiya Aug 18, 2024
71af846
add open drawer event
JeelRajodiya Aug 18, 2024
37a1e71
prevent google mobile bot from indexing
JeelRajodiya Aug 19, 2024
c17953a
create icon links
JeelRajodiya Aug 19, 2024
dad0de1
add system color scheme matcher
JeelRajodiya Aug 19, 2024
242f374
chore: add GA event listeners
JeelRajodiya Aug 19, 2024
43d8d0b
fix(doc): update task description
JeelRajodiya Aug 19, 2024
bcce50c
chore(docs): swap postalCode and phoneNumber order
JeelRajodiya Aug 19, 2024
65b2f03
chore: add event tracker to view solution
JeelRajodiya Aug 19, 2024
57edce3
chore: add shortcut event listener
JeelRajodiya Aug 21, 2024
1284764
chore: add GA events for the validation result
JeelRajodiya Aug 23, 2024
3a1c2dc
chore: remove mobile bot restrictions
JeelRajodiya Aug 24, 2024
9e48063
chore: turn off mobile redirect (temporarily)
JeelRajodiya Aug 24, 2024
43cdfc4
chore: allow only black icon (temporarily)
JeelRajodiya Aug 24, 2024
dcc2635
chore: update the design of the next button
JeelRajodiya Aug 24, 2024
b3252af
fi: valid schema text color
JeelRajodiya Aug 24, 2024
6c748d9
chore: add properties in the required field
JeelRajodiya Aug 25, 2024
cbc942c
style: update progressbar styles
JeelRajodiya Aug 26, 2024
67b5bc0
docs: update task description
JeelRajodiya Aug 27, 2024
3a20c20
chore: add google search html tag
JeelRajodiya Aug 28, 2024
258d07c
Revert "chore: allow only black icon (temporarily)"
JeelRajodiya Aug 30, 2024
e42f388
Revert "create icon links"
JeelRajodiya Aug 30, 2024
7fb3beb
docs: make first lesson more easy
JeelRajodiya Sep 6, 2024
d8dbd98
chore: add GA events
JeelRajodiya Sep 6, 2024
0c17cf1
format file
JeelRajodiya Sep 6, 2024
86de87d
chore: change initial color mode to white
JeelRajodiya Sep 6, 2024
7d7f168
docs: fix grammar
JeelRajodiya Sep 7, 2024
f9f54ba
docs: rename and reorder lessons
JeelRajodiya Sep 9, 2024
e473bfd
docs: add missing test case
JeelRajodiya Sep 9, 2024
c63bf55
Revert "Revert "create icon links""
JeelRajodiya Sep 12, 2024
bfc141d
Revert "docs: make first lesson more easy"
JeelRajodiya Sep 18, 2024
d3f926a
docs: update description
JeelRajodiya Sep 18, 2024
3795e16
docs(fix): task description
JeelRajodiya Sep 18, 2024
4afeb22
chore: add props for custom text
JeelRajodiya Sep 18, 2024
81b3318
docs: add new prop in the sideEditor MDX component
JeelRajodiya Sep 18, 2024
76184b5
docs: update task description (call to action)
JeelRajodiya Sep 18, 2024
6c6829c
chore: remove console log
JeelRajodiya Sep 18, 2024
9c7836f
fix: ctrl+c on examples copies the whole text (#74)
vidixha Sep 22, 2024
5757578
fix: format code
JeelRajodiya Sep 22, 2024
9f4ffbb
fix: gives proper text color to a completed and active task (#80)
pavanydg Sep 29, 2024
ac8eeb7
in chapter 8, the Title and Description are in capitals (#79)
vidixha Sep 29, 2024
49568fe
refactor: rename folder names
JeelRajodiya Sep 29, 2024
60933cf
docs: add process to contribute
JeelRajodiya Oct 3, 2024
b2acaeb
docs(refactor): move the process to the top
JeelRajodiya Oct 3, 2024
1f84f31
docs: update instructions
JeelRajodiya Oct 3, 2024
0c4d010
docs: update instructions
JeelRajodiya Oct 3, 2024
28da7f5
added pull request Template (#91)
Vishv04 Oct 5, 2024
9a79208
Changed UI to show toast when progress is reset (#89)
fudgemasterultra Oct 5, 2024
2a0933a
feat: get certification
JeelRajodiya Oct 6, 2024
c80f6da
Revert "feat: get certification"
JeelRajodiya Oct 6, 2024
fb49bf7
fix: add error handling
JeelRajodiya Oct 6, 2024
422cbd0
Revert "Revert "feat: get certification""
JeelRajodiya Oct 6, 2024
304300d
Merge branch 'main' into get-certificate-smoke-test
JeelRajodiya Oct 6, 2024
62bca65
fix: change label for full name
JeelRajodiya Oct 6, 2024
a7678e3
minor fix
JeelRajodiya Oct 6, 2024
888447a
styles: updates the home page (#93)
pavanydg Oct 9, 2024
645e732
style: increase the font size
JeelRajodiya Oct 9, 2024
22bd955
styles: fix flex gap
JeelRajodiya Oct 9, 2024
d44da61
Add Link Checker Report Github Action (#94)
heysujal Oct 14, 2024
31aa48c
fix: missing test case and wrong keyword
JeelRajodiya Oct 17, 2024
3e59b20
fix: add missing test cases
JeelRajodiya Oct 29, 2024
eb33f6d
docs: remove unevaluated items lesson
JeelRajodiya Nov 2, 2024
ade86fc
Custom 404 page implementation (#100)
AQIB-NAWAB Nov 2, 2024
635df98
Fix typo in example code (#106)
JoeyBF Nov 5, 2024
14a864e
02-02 Regular Expression in Strings Fixed Mistake {10}, Added Test, a…
nikitoshina Nov 9, 2024
535d3b2
Save the code and add checkpoint so the users can start from where th…
pavanydg Nov 20, 2024
77c5c6b
fix: resolve issue with chapterItem opening animation not triggering …
techmannih Nov 24, 2024
2315ef4
chore(deps): bump next from 14.2.5 to 14.2.10 (#111)
dependabot[bot] Nov 24, 2024
865f1b2
chore(deps): bump rollup from 4.19.1 to 4.27.4 (#112)
dependabot[bot] Nov 24, 2024
1df6923
chore(deps): bump micromatch from 4.0.7 to 4.0.8 (#114)
dependabot[bot] Nov 24, 2024
a9567ac
chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 (#115)
dependabot[bot] Nov 29, 2024
8f952db
Fix typo in update instructions.mdx (#109)
hey-august Dec 8, 2024
2757157
feat: prettify code in code editor (#116)
pavanydg Dec 21, 2024
7dad17d
Updated Twitter text to X
adityajha2005 Feb 21, 2025
f8dbd5e
Merge pull request #129 from adityajha2005/issue126
benjagm Mar 2, 2025
6e6fbe5
Remove unnecessary Corepack enable step from link-checker workflow
JeelRajodiya Mar 4, 2025
9f703f1
Merge branch 'main' of https://github.com/json-schema-org/tour
JeelRajodiya Mar 4, 2025
03f4a04
feat: trigger link checker on pull requests
JeelRajodiya Mar 4, 2025
45fca0b
feat: enable link checker on pull request events
JeelRajodiya Mar 4, 2025
2187ca7
feat: replace Corepack enable step with direct PNPM installation in l…
JeelRajodiya Mar 4, 2025
6a3251a
feat: remove pull request trigger from link checker workflow
JeelRajodiya Mar 4, 2025
b16f22e
docs(refactor): update the description and keywords of each chapter f…
JeelRajodiya Mar 4, 2025
f5e5db9
docs: update keywords format for Arrays chapter
JeelRajodiya Mar 4, 2025
7291b47
docs: enhance README with detailed project description and developmen…
JeelRajodiya Mar 4, 2025
d677621
docs: update repository clone URL in README
JeelRajodiya Mar 4, 2025
2b811e0
docs: update Node.js version requirement in README
JeelRajodiya Mar 4, 2025
441fcb4
docs: add contributing section to README with guidelines for contribu…
JeelRajodiya Mar 5, 2025
de43630
docs: update note to caution in README for test instructions
JeelRajodiya Mar 5, 2025
9a4f426
feat: disable certificate button until tour completion
JeelRajodiya Mar 13, 2025
307d5f9
fix: fix typo in 'Subschema' header (#140)
cxm6467 Mar 13, 2025
965cc4b
chore: update dependencies to latest versions
JeelRajodiya Mar 13, 2025
2a58200
Merge branch 'main' of https://github.com/json-schema-org/tour
JeelRajodiya Mar 13, 2025
f03581e
Added new if-then-else example (Closes #71) (#139)
RoaaFouda Mar 13, 2025
7098eec
fix: revert lockfile
JeelRajodiya Mar 13, 2025
73422f4
Add Loader to validate button (#144)
AQIB-NAWAB Mar 14, 2025
15d72f5
docs: add Figma design section to README
JeelRajodiya Mar 15, 2025
55e7afb
fixed some typos in the tour website (#162)
AhmedHanyGamal Mar 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@

<!-- In order to keep off topic discussion to a minimum, it helps if the "work to be done" is already agreed on. -->
<!-- Ideally, a GitHub Issue with the label `Status: Consensus` will have been concluded, and linked to in this PR. -->
<!--
Thanks for submitting a pull request! Please provide enough information so that others can review your pull request.
-->

**What kind of change does this PR introduce?**

<!-- E.g. a bugfix, feature, refactoring, etc… -->

**Issue Number:**
<!-- Pick one of the below options. Please remove those which don't apply. -->
- Closes #___ <!-- Replace ___ with the issue number this PR resolves -->
- Related to #___ <!-- Use when the PR doesn't completely resolve an issue -->
- Others? <!-- Add any additional notes or references here -->

**Screenshots/videos:**

<!--Add screenshots or videos wherever possible.-->

**If relevant, did you update the documentation?**

<!--Add link to it-->

**Summary**

<!-- Explain the motivation for making this change. What existing problem does the pull request solve? -->
<!-- Try to link to an open issue for more information. -->

**Does this PR introduce a breaking change?**

<!-- If this PR introduces a breaking change, please describe the impact and a migration path for existing applications. -->
94 changes: 94 additions & 0 deletions .github/workflows/link-checker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: Link Checker

on:
repository_dispatch:
workflow_dispatch:
schedule:
- cron: '0 0 1 * *' # Run at midnight on the first of every month

jobs:
linkChecker:
name: Check and report broken links
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
submodules: 'recursive'

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

# Replace corepack with direct PNPM installation
- name: Install pnpm
run: npm install -g pnpm

- name: Get Token
uses: actions/create-github-app-token@v1
id: get_workflow_token
with:
app-id: ${{ vars.APP_ID }}
private-key: ${{ secrets.PRIVATE_KEY }}

- name: Install Dependencies
run: pnpm install --frozen-lockfile

- name: Serve App Locally
run: pnpm run dev &

- name: Wait for App to Start
run: sleep 20

# This will restore the lychee cache
- name: Restore lychee cache
uses: actions/cache@v4
with:
path: .lycheecache
key: cache-lychee-${{ github.sha }}
restore-keys: cache-lychee-

# This will run the link checker on all markdown files in the pages directory
- name: Link Checker
id: lychee
uses: lycheeverse/lychee-action@v1
with:
args: --base https://tour.json-schema.org --verbose --no-progress --accept 200,204,429,403 './content/**/*.mdx' --cache --max-cache-age 1d https://tour.json-schema.org
token: ${{secrets.GITHUB_TOKEN}}

- name: Install Octokit
run: pnpm add @octokit/[email protected]

# This will create an issue with the link checker report if it does not exist, otherwise it will update the existing issue.

- name: Create Issue
if: env.lychee_exit_code != 0
uses: actions/github-script@v7
env:
AUTH_TOKEN: ${{ steps.get_workflow_token.outputs.token }}
with:
script: |
const { Octokit } = require("@octokit/core");
const octokit = new Octokit({ auth: process.env.AUTH_TOKEN });
const allIssues = await octokit.request('GET /repos/{owner}/{repo}/issues', {
owner: context.repo.owner,
repo: context.repo.repo
});

const existingIssue = allIssues.data.find(issue => issue.title === 'Link Checker Report');
if (existingIssue) {
await octokit.request('PATCH /repos/{owner}/{repo}/issues/{issue_number}', {
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: existingIssue.number,
body: '## Link Checker Report\n\n' + require('fs').readFileSync('./lychee/out.md', 'utf8')
});
} else {
await octokit.request('POST /repos/{owner}/{repo}/issues', {
owner: context.repo.owner,
repo: context.repo.repo,
title: 'Link Checker Report',
body: '## Link Checker Report\n\n' + require('fs').readFileSync('./lychee/out.md', 'utf8')
});
}
2 changes: 1 addition & 1 deletion .github/workflows/nextjs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ jobs:
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 8

run_install: false
- name: Setup Node
uses: actions/setup-node@v4
Expand Down
12 changes: 12 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
# Process to Open a Pull Request

1. Find an issue that is open and has an [Available](https://github.com/json-schema-org/tour/issues?q=is%3Aissue+is%3Aopen+label%3A%22Status%3A+Available%22) tag.
2. Ask for the issue to be assigned to you. (Please do not work on an issue that is not assigned to you)
3. Once the issue is assigned to you, fork the repository.
4. Create a new branch in your forked repository.
5. Make the necessary changes in your forked repository.
6. Create a pull request to the main repository.
7. Wait for the review and approval of the pull request.


# Guidelines for contributing to the JSON Schema project

## Issues
Expand All @@ -17,3 +28,4 @@ Most PRs, will be left open for a minimum of 14 days. Minor fixes may be merged
## Conduct

All official channels including the mailing list, GitHub organization, Slack server, and IRC channels, follow our [Code of Conduct](https://github.com/json-schema-org/.github/blob/main/CODE_OF_CONDUCT.md).

176 changes: 143 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,105 @@
# Tour of JSON Schema

This repository contains the code for the Tour of JSON Schema project.
https://tour.json-schema.org
Welcome to the **Tour of JSON Schema** project! This repository hosts the codebase for an interactive learning platform designed to help users understand and master JSON Schema. You can access the live version of the project at [https://tour.json-schema.org](https://tour.json-schema.org).

# Development
---

The project is built using next.js.
## Table of Contents

After cloning the repository, run the following command to install the dependencies:
- [Tour of JSON Schema](#tour-of-json-schema)
- [Table of Contents](#table-of-contents)
- [Development Setup](#development-setup)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Figma Design](#figma-design)
- [Contributing](#contributing)
- [Content Creation](#content-creation)
- [Writing MDX](#writing-mdx)
- [VSCode Extensions](#vscode-extensions)
- [File Structure](#file-structure)
- [MDX Components Guide](#mdx-components-guide)
- [GoodToKnowBox](#goodtoknowbox)
- [CodeSnippet](#codesnippet)
- [SideEditorLink](#sideeditorlink)

```bash
pnpm install
```
---

To start the development server, run the following command:
## Development Setup

```bash
pnpm dev
```
The project is built using **Next.js**, a React framework for building server-rendered applications. Below are the steps to set up your development environment:

> when you run `pnpm dev`, a file named `outline.json` will be created in th `/content` directory. This file is used to generate the table of contents for the website.
### Prerequisites

(make sure you run tests before pushing your changes)
To run the tests, run the following command:
- **Node.js**: Ensure you have Node.js installed (v20 or higher).
- **pnpm**: The project uses `pnpm` as the package manager.

```bash
pnpm test
```
### Installation

1. Clone the repository:
```bash
git clone https://github.com/json-schema-org/tour
cd tour-of-json-schema
```

# Content
2. Install dependencies:
```bash
pnpm install
```

### Writing MDX
3. Start the development server:
```bash
pnpm dev
```

The content written in [MDX](https://mdxjs.com/), a markdown format that supports JSX syntax. This allows us to embed React components in the docs. See the [GitHub Markdown Guide](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax) for a quick overview of markdown syntax.
> **Note**: Running `pnpm dev` will generate a file named `outline.json` in the `/content` directory. This file is used to dynamically generate the table of contents for the website.

### VSCode
4. Run tests before pushing changes:
```bash
pnpm test
```
> [!CAUTION]
> Always run tests before submitting a pull request to ensure your changes do not introduce regressions.

#### Extensions
### Figma Design

We recommend the following extensions for VSCode users:
You can view the Figma design for the project at [this link](https://www.figma.com/design/w8ow79jE7lJucJt2zZTbcz/Tour-of-JSON-Schema?node-id=2303-39&t=CH9j0oDmVft8uTWX-0).

- [MDX](https://marketplace.visualstudio.com/items?itemName=unifiedjs.vscode-mdx): Intellisense and syntax highlighting for MDX.
- [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode): Format MDX files on save.
### Contributing

## File Structure
Please Read the [Contributing Guide](CONTRIBUTING.md) for detailed instructions on how to contribute to the project.

the content of each step is stored in the `/content` directory with the following structure:

```
---

## Content Creation

The content for the Tour of JSON Schema is written in **MDX**, a markdown format that supports JSX syntax. This allows us to embed React components directly into the documentation, making it highly interactive and engaging.

### Writing MDX

MDX combines the simplicity of Markdown with the power of React. Here are some resources to get started:
- [MDX Documentation](https://mdxjs.com/)
- [GitHub Markdown Guide](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)

### VSCode Extensions

For a smoother development experience, we recommend installing the following extensions in Visual Studio Code:

- **MDX**: Provides syntax highlighting and IntelliSense for MDX files.
- Marketplace Link: [MDX Extension](https://marketplace.visualstudio.com/items?itemName=unifiedjs.vscode-mdx)
- **Prettier**: Automatically formats your MDX files on save.
- Marketplace Link: [Prettier Extension](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)

### File Structure

The content is organized in the `/content` directory with the following structure:

```
├── 01-introduction
│ ├── index.mdx
│ ├── index.mdx # Overview of the section
│ ├── 01-welcome
│ ├── instructions.mdx
│ ├── code.ts
│ ├── instructions.mdx # Instructions for the step
│ ├── code.ts # Template code and validation logic
│ ├── 02-what-is-json-schema
│ ├── instructions.mdx
│ ├── code.ts
Expand All @@ -66,7 +111,72 @@ the content of each step is stored in the `/content` directory with the followin
│ ├── 02-arrays
│ ├── instructions.mdx
│ ├── code.ts
```

- Each section (e.g., `01-introduction`) has an `index.mdx` file that serves as an overview.
- Each step within a section contains:
- `instructions.mdx`: The content displayed to the user.
- `code.ts`: Contains template code and logic to validate user-provided schemas.

---

## MDX Components Guide

The project includes custom React components to enhance the interactivity and readability of the content. Below is a guide to the available components:

### GoodToKnowBox

A styled box for displaying tips, notes, or additional information.

**Props:**
- `title` (optional): The title of the box. Defaults to "Good to know".
- `children`: The content of the box.

**Example:**
```md
<GoodToKnowBox title="Pro Tip">
Use `$ref` to reuse schema definitions and keep your JSON Schema DRY.
</GoodToKnowBox>
```

---

### CodeSnippet

A code block with syntax highlighting and optional line highlighting.

**Props:**
- `highlightLineStart`: The starting line number to highlight.
- `highlightLineEnd` (optional): The ending line number to highlight. Defaults to `highlightLineStart`.
- `startingLineNumber` (optional): The starting line number for the code block. Defaults to `1`.
- `showLineNumbers` (optional): Whether to display line numbers. Defaults to `true`.

**Example:**
```md
<CodeSnippet highlightLineStart={3} highlightLineEnd={5}>
{
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer" }
}
}
</CodeSnippet>
```

---

### SideEditorLink

A link that focuses the editor on the right side of the screen.

**Props:**
- `text` (optional): Custom text for the link. Defaults to "side editor".

**Example:**
```md
<SideEditorLink text="Open the editor to try this example" />
```
---

The instructions.mdx file holds the content the users sees, and the code.ts file holds template code and the logic to validate user provided schemas
Thank you for contributing to the **Tour of JSON Schema** project! Together, we can make JSON Schema more accessible and easier to learn for everyone.
12 changes: 12 additions & 0 deletions app/components/CertificateButton/CertificateButton.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.certificateButton {
font-size: small;
margin-right: 32px;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 8px 10px;
border-radius: 8px;
cursor: pointer;
font-weight: bold;
}
Loading