Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
211 commits
Select commit Hold shift + click to select a range
0b724b0
Initial commit of docz-based site
edgarmueller Apr 18, 2019
585753a
Fix minor issues in tutorial sections, add typescript one
edgarmueller Apr 24, 2019
f46c97b
Add section about multiple forms
edgarmueller Apr 24, 2019
96cdc47
Remove typscript option from regular tutorial
edgarmueller Apr 24, 2019
1501138
Update title of typescript tutorial
edgarmueller Apr 24, 2019
6f7de05
Update to 2.2.3
edgarmueller Apr 26, 2019
8d8ce88
Fix typo in custom renderer title
edgarmueller Apr 29, 2019
273cfd3
Adapt list stylins
edgarmueller Apr 29, 2019
bb4fb51
Fix typos in custom renderers section
edgarmueller Apr 29, 2019
39e021b
Fix link to MUI
edgarmueller Apr 29, 2019
d52530a
Remove layout.module.css
edgarmueller Apr 29, 2019
a16ad5d
Update API and demo links
edgarmueller Apr 29, 2019
7e1213c
Update ul styling
edgarmueller Apr 29, 2019
68eb7f3
Add explanation text to categorization example
edgarmueller Apr 29, 2019
7d07926
Upate styling of what-is-jsonforms section
edgarmueller Apr 29, 2019
70e6f84
Remove duplicate API link
edgarmueller May 21, 2019
c1039c2
Update to docz 1.2.0
edgarmueller Jun 6, 2019
beda8fa
Update parent/child logic & add search to sidebar
edgarmueller Jun 6, 2019
39d2488
Add label info to UI schema control section
edgarmueller Jun 12, 2019
fba6cae
Update package-lock
edgarmueller Jun 24, 2019
dabcdc0
Update support page
sdirix Jul 25, 2019
b500f49
WIP
edgarmueller Jun 24, 2019
1e6c666
Reduce font size for indented menus
edgarmueller Jul 14, 2019
0d15ab6
Add docs about options in general and array controls specificaly
edgarmueller Jul 14, 2019
023f814
Describe showSortButtons options
edgarmueller Jul 14, 2019
f027e4b
Update docs to use jsonforms v2.3.0
AlexandraBuzila Jul 26, 2019
b4f6464
Move Multiple Forms page to Tutorials section
AlexandraBuzila Jul 25, 2019
b747543
Add Prettier config
AlexandraBuzila Jul 26, 2019
96c5965
Update docs to use jsonforms v2.3.0
AlexandraBuzila Jul 26, 2019
d3eec2e
Update multiple forms doc
AlexandraBuzila Jul 26, 2019
a356da4
Update to 2.3.0
edgarmueller Jul 26, 2019
bd82ce5
Update API docs to 2.3.0
edgarmueller Jul 26, 2019
c332df6
Update package-lock
edgarmueller Jul 29, 2019
9d1eb36
Fix mailto support link
sdirix Jul 29, 2019
9e5a292
Merge pull request eclipsesource/jsonforms2-website#67 from sdirix/fi…
sdirix Jul 29, 2019
e4a6d90
Update to version 2.3.1
sdirix Aug 29, 2019
f49c041
Update API docs to version 2.3.1
sdirix Aug 29, 2019
87ba992
Restore providing-uischemas page
TheZoker Aug 27, 2019
b7d8825
Merge pull request eclipsesource/jsonforms2-website#68 from TheZoker/…
sdirix Aug 29, 2019
f4ec3d1
Update Redux Docs
shivgarg5676 Sep 2, 2019
6ec90a6
Merge pull request eclipsesource/jsonforms2-website#69 from sdirix/up…
sdirix Sep 2, 2019
52addff
Add custom layout renderer docu (eclipsesource/jsonforms2-website#63)
eneufeld Sep 2, 2019
f1cc74f
Add links to ionic and angular playgrounds
edgarmueller Oct 1, 2019
26f3d43
Add twitter widget to landing page at the right (eclipsesource/jsonfo…
edgarmueller Oct 9, 2019
774de39
Extend build script
edgarmueller Oct 9, 2019
6383acf
Update standalone react tutorial
sdirix Oct 9, 2019
cc3b1d3
Use `npm start`
abraham Nov 25, 2019
4b2fbe2
Add elementLabelProp
TheZoker Nov 28, 2019
ea3269c
Fix showSortButtons
TheZoker Nov 28, 2019
ff41d56
Update jsonforms to 2.3.2
TheZoker Nov 29, 2019
e86d3ed
Update API docs to version 2.3.2
TheZoker Nov 29, 2019
5c4b5e8
Remove unsued elements
TheZoker Dec 6, 2019
a47d427
Fix console errors
TheZoker Dec 6, 2019
adff03a
Add FAQ
TheZoker Dec 12, 2019
d455e2b
Change JSONForms to JSON Forms
TheZoker Dec 13, 2019
5785d87
Update tutorials
AlexandraBuzila Dec 3, 2019
1f816ae
Remove typescript tutorial and modify redux tutorial
TheZoker Dec 5, 2019
5f0cce0
Add subpages to docs toc
TheZoker Dec 19, 2019
2eb9737
Set new default menu item links
TheZoker Dec 19, 2019
1b0ba7b
Remove not used state
TheZoker Dec 19, 2019
7745cdc
Always show scrollbar
TheZoker Dec 20, 2019
0fe2a17
Merge pull request eclipsesource/jsonforms2-website#90 from TheZoker/…
sdirix Dec 20, 2019
41237e6
Move scrollbar css
TheZoker Dec 20, 2019
1248ecd
Fix loading animation position
TheZoker Dec 20, 2019
56b1c47
Fix Imprint, Cookie Policy and Privacy Prolicy
sdirix Jun 12, 2020
bcd953e
Use pointer in Rating example
sdirix Jun 12, 2020
6dcfa47
Merge pull request eclipsesource/jsonforms2-website#96 from sdirix/po…
sdirix Jun 12, 2020
f19b514
Merge pull request eclipsesource/jsonforms2-website#92 from TheZoker/…
sdirix Jun 12, 2020
f6f7957
Update website description
sdirix Jun 12, 2020
59b184f
Merge pull request eclipsesource/jsonforms2-website#99 from sdirix/up…
sdirix Jun 16, 2020
7b57dbc
Dependabot version updates
sdirix Jun 16, 2020
cc7a7aa
Update to JSON Forms v2.4.0
TheZoker Jun 18, 2020
3600186
Small tweaks
TheZoker Jun 18, 2020
6bb113a
apply review
sdirix Jun 22, 2020
f1e06df
Small tweaks
sdirix Jun 22, 2020
5f9de36
Add show/hide rule to rule example
TheZoker Jul 10, 2020
dc182bf
Adapt categorization example for upcoming changes
TheZoker Jul 10, 2020
4c51ea2
Add stepper example to categorization page
TheZoker Aug 18, 2020
c5ac793
Bump lodash from 4.17.15 to 4.17.19
dependabot[bot] Jul 15, 2020
2484afd
Bump elliptic from 6.5.2 to 6.5.3
dependabot[bot] Jul 29, 2020
52dd19e
Update to JSON Forms 2.4.1
sdirix Sep 30, 2020
cc0c7e2
Add "Control" example
TheZoker Sep 30, 2020
b5bd13e
Merge branch develop
sdirix Sep 30, 2020
de4688d
Update docs to JSON Forms 2.4.1
TheZoker Oct 7, 2020
8df92f7
Remove tweets and analytics
sdirix Oct 13, 2020
95909f6
Merge pull request eclipsesource/jsonforms2-website#124 from eclipses…
sdirix Oct 13, 2020
13353d0
Add format radio option description to control docs
TheZoker Dec 1, 2020
cd9e131
Show next version on landing page
TheZoker Dec 3, 2020
01ea23b
Updates the version script to fetch prereleases
sdirix Dec 3, 2020
bc96f54
Merge branch master into develop
sdirix Dec 3, 2020
60f240a
Document 'clear input button' styling customization
TheZoker Dec 16, 2020
703c01b
Add news and overhaul landing page
TheZoker Dec 17, 2020
148b203
Bump http-proxy from 1.18.0 to 1.18.1
dependabot[bot] Sep 5, 2020
6c540ee
Bump ini from 1.3.5 to 1.3.7
dependabot[bot] Dec 10, 2020
c130a07
Merge branch master into develop
sdirix Dec 17, 2020
befeaac
Adjust professional support
sdirix Dec 17, 2020
aa67ad5
Merge branch 'master' into develop
sdirix Jan 3, 2021
6098258
JSON Forms architecture diagram and page
TheZoker Jan 3, 2021
515eea2
Website overhaul for JSON Forms 2.5
sdirix Jan 25, 2021
f3f4cc0
Add Vue information
TheZoker Jan 26, 2021
14aed63
Update to JSON Forms 2.5.0
TheZoker Jan 26, 2021
d199253
Add 2.5 news tweet
sdirix Jan 26, 2021
d50d2ec
Merge pull request eclipsesource/jsonforms2-website#146 from eclipses…
sdirix Jan 26, 2021
d5c27a9
Add vue logo and correct API links
TheZoker Jan 27, 2021
208f1c6
Migrate JSON Forms examples to Standalone variant
AlexandraBuzila Jan 19, 2021
62596d7
Replace static copyright year with dynamic year
TheZoker Feb 3, 2021
0933302
Add FAQ for enabling default values via Ajv
TheZoker Feb 9, 2021
b57eb62
Use 'createMuiTheme' in theme docs
sdirix Feb 25, 2021
20bb6c8
Add validation modes to validation page
TheZoker Feb 28, 2021
847845f
Fix array example layout
TheZoker Mar 1, 2021
4f05f78
Add vue-vanilla renderer sets information
TheZoker Mar 11, 2021
3bd7dae
Add tutorial for reusing existing controls
freakpants Mar 11, 2021
9b73c8d
Only apply prism highlight, if prism is loaded
TheZoker Mar 23, 2021
dceea72
Migrate to Docusaurus
TheZoker Mar 31, 2021
96b9c81
Add Cloudflare analytics
sdirix Mar 31, 2021
e0652b5
Add local search
TheZoker Apr 26, 2021
497f5e0
Adjust form spacing
TheZoker Apr 27, 2021
90a0824
Add combinators example
TheZoker Apr 27, 2021
f37ee43
Reduce page size and page loading time
TheZoker May 6, 2021
f7a4cd6
Update JSON Forms to 2.5.1
TheZoker May 11, 2021
ee4cf7c
Add last tweets to website news
sdirix May 20, 2021
26ef9e5
Fix typo in EclipseSource blog link
sdirix May 21, 2021
65d7850
Update renderer sets feature table
TheZoker May 27, 2021
94a1db4
Update JSON Forms to 2.5.2
TheZoker Jun 16, 2021
34d6112
Fix build warnings
TheZoker May 6, 2021
69816c0
Adjust menu toggle color on mobile devices
TheZoker May 12, 2021
df2fea1
Update ref resolving text
TheZoker Jun 16, 2021
4f79e21
Add ListWithDetail example
TheZoker Jun 25, 2021
c110591
Fix meta description tag
TheZoker Jun 29, 2021
2c5f9c3
Add JSON Forms 3.0.0-alpha.0 news
TheZoker Jun 29, 2021
1a2d6e7
Move from Spectrum to Discourse
TheZoker Jul 8, 2021
584685b
Add labels documentation
TheZoker Jul 8, 2021
3085912
Add `readonly` documentation
TheZoker Jul 8, 2021
8a509cb
Update dependencies
TheZoker Jul 8, 2021
cd99b98
Improve page titles
TheZoker Jul 30, 2021
3794a8d
Fix broken links
sdirix Dec 9, 2021
f4e0b69
Add Documentation for Date and Time Picker
LukasBoll Dec 10, 2021
5c631e1
Update to jsonforms 3.0.0-alpha3 and mui 5
TheZoker Dec 21, 2021
b7dc91a
JSON Forms 3.0.0-beta.0 news
sdirix Dec 22, 2021
c470612
Update Docusaurus and JSON Forms
TheZoker May 31, 2022
13235f6
Document 'additionalErrors' feature
sdirix May 31, 2022
cf2a854
Add documentation for multiple choice
LukasBoll May 31, 2022
3a9c0b5
Update to JSON Forms 3.0.0-beta.5
sdirix Jul 4, 2022
f997388
Add '3.0.0-rc.0' release candidate news
sdirix Jul 25, 2022
65f0bd9
Update to JSON Forms 3.0.0
LukasBoll Sep 29, 2022
a5fac9b
Add FAQ Section for multipleOf (eclipsesource/jsonforms2-website#239)
LukasBoll Oct 4, 2022
67ce745
Update tutorials for 3.0
LukasBoll Oct 13, 2022
f427e22
Add initial i18n documentation (eclipsesource/jsonforms2-website#222)
TheZoker Oct 13, 2022
a2f21a4
Refactor renderer sets table
LukasBoll Oct 20, 2022
d3edc0a
Add autocomplete renderer docs and example
LukasBoll Nov 8, 2022
6a8a3a0
Add Vue2 Vuetify Renderer Set documentation
TheZoker Dec 1, 2022
0ca1e17
Adapt URLs to renamed vanilla and material renderers folders
lucas-koehler Dec 20, 2022
f51a398
Add Vue API and adjust API titles
LukasBoll Jan 18, 2023
ffe9d60
Fix Cloudflare integration
sdirix Jan 16, 2023
00ced5b
Add description for support page
sdirix Jan 23, 2023
1e7c922
Add community page
sdirix Jan 23, 2023
71ea128
Improve rule documentation
clemens-msupply Feb 17, 2023
775a8d5
Update docusaurus to 2.3.1 and Node to 16.19 (eclipsesource/jsonforms…
TheZoker Feb 21, 2023
97afd66
Improve i18n example
waypar Mar 7, 2023
a5cd55a
Add community links to camunda and Vuetify webcomponent projects
kchobantonov Mar 8, 2023
b01d6bb
Add JSON Forms Blazor community project
sdirix Mar 9, 2023
795307e
Fix typo in validation docs
waypar Apr 4, 2023
29b186c
update to JSON Forms 3.1.0
LukasBoll Jun 21, 2023
184879a
chore: fix build by reducing dependencies
sdirix Jun 22, 2023
3575b41
Add JSON Forms editor information to community page
TheZoker Jul 7, 2023
d7196d1
fix: replace dead link to JSON Schema ref parser website
TheZoker Jul 7, 2023
f817b55
Fix API links
TheZoker Jul 25, 2023
6c0f5da
Add default security headers
TheZoker Sep 15, 2023
1b00bb2
Update community.mdx
hauptmedia Nov 26, 2023
a14da5f
Add action to check website for console errors
TheZoker Nov 20, 2023
c82d603
chore: update Docusaurus to v3.0.1
TheZoker Dec 19, 2023
75e8153
docs: specify Node 18 as requirement
sdirix Dec 19, 2023
88625da
fix: update Cloudflare CSP hashes
sdirix Dec 22, 2023
0950792
chore: update Docusaurus to 3.1.0
TheZoker Jan 23, 2024
a082dae
Release 3.2.0 (eclipsesource/jsonforms2-website#289)
lucas-koehler Jan 24, 2024
379023c
feat: Add custom blog plugin (eclipsesource/jsonforms2-website#291)
TheZoker Feb 21, 2024
ffcd437
Remove dotenv dependency (eclipsesource/jsonforms2-website#290)
TheZoker Feb 21, 2024
49a7685
feat: add middleware documentation
LukasBoll Mar 20, 2024
3af49a3
feat: add data prop and rerender FAQ
LukasBoll Mar 20, 2024
f7adb75
Update community.mdx to include antd renderer package
DrewHoo Apr 6, 2024
33d39db
Add FAQ: update a field depending on another field (eclipsesource/jso…
LukasBoll Apr 11, 2024
75f0eeb
Release 3.3.0 (eclipsesource/jsonforms2-website#298)
lucas-koehler May 29, 2024
56df17e
docs: add jsonforms-builder community project
eidriahn Aug 27, 2024
e8581c1
Release 3.4.0 (eclipsesource/jsonforms2-website#300)
lucas-koehler Sep 17, 2024
fdf030d
chore: update CSP
sdirix Sep 23, 2024
7fb3099
fix: list correct options for date picker 'views'
sdirix Sep 24, 2024
693f4c5
Release 3.4.1
lucas-koehler Oct 18, 2024
4faa707
docs: document failWhenUndefined
skairunner Nov 26, 2024
aefb6cf
docs: Fix instructions in getting started
lucas-koehler Jan 7, 2025
bb2c870
Update community.mdx
kchobantonov Dec 1, 2024
0c08b64
feat: update to JSON Forms 3.5.1
sdirix Jan 10, 2025
0ec551c
fix: adjust CSP for API docs
sdirix Jan 13, 2025
f1857b7
fix: append slash in menubar links
sdirix Jan 10, 2025
eb8a921
fix: website check gh action
sdirix Jan 13, 2025
c6817ce
docs: add `formaide` to the list of community projects
johannesss Mar 3, 2025
8bb76ad
Added the Flutter JSON Forms Renderer
matthiasnagel Mar 22, 2025
28c1d13
Update community.mdx
ed-george Apr 10, 2025
938de41
docs: remove `formaide` from the community projects as it won't be av…
johannesss Jun 10, 2025
010e343
Update to JSON Forms 3.6 (eclipsesource/jsonforms2-website#312)
lucas-koehler Jun 18, 2025
9d2bf72
Add dynamic enum renderers tutorial (eclipsesource/jsonforms2-website…
LukasBoll Oct 24, 2025
67d394c
Update to JSON Forms 3.7 (eclipsesource/jsonforms2-website#314)
lucas-koehler Dec 4, 2025
7ff8b5b
Add Shadcn/ui Renderer to community list
SchutteJan Dec 23, 2025
45af442
chore: update csp with new hash
sdirix Feb 10, 2026
6d15548
docs: add project documentation and AI assistant guidelines
sdirix Mar 26, 2026
f279cfb
add jsonforms-svelte project
kchobantonov May 6, 2026
d422cac
chore: remove unnecessary semver-warning
sdirix Apr 29, 2026
f099b20
Release 3.8 (eclipsesource/jsonforms2-website#321)
lucas-koehler Jun 18, 2026
2048c55
Update community.mdx with link to PrimeVue 4 impl
derekwsgray Jun 29, 2026
5f83988
Merge remote-tracking branch 'website-local/master' into move-website
sdirix Jul 22, 2026
1ae58a6
ci: wire the documentation website into the monorepo
sdirix Jul 22, 2026
d1f185a
ci: add release-website workflow to pin and deploy the website
sdirix Jul 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
41 changes: 41 additions & 0 deletions .github/workflows/check-website.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Check Webpage daily for Console Errors

on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:

jobs:
check-webpage:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

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

- name: Install dependencies
run: npm install puppeteer

- name: Open webpage and check for errors
uses: actions/github-script@v7
with:
script: |
const puppeteer = require('puppeteer');

const browser = await puppeteer.launch();
const page = await browser.newPage();

page
.on('console', message => core.setFailed(`Webpage has console errors: ${message}`))
.on('pageerror', ({ message }) => core.setFailed(`Webpage has console errors: ${message}`));

await page.goto('https://jsonforms.io');

await new Promise(r => setTimeout(r, 5000));

await browser.close();
2 changes: 2 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@ on:
push:
paths-ignore:
- '**.md'
- 'website/**'
pull_request:
paths-ignore:
- '**.md'
- 'website/**'

jobs:
ci:
Expand Down
149 changes: 149 additions & 0 deletions .github/workflows/release-website.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
name: 'Release Website'

# Pin the documentation website to a stable JSON Forms release and (re)deploy
# it. This is intentionally separate from publish.yaml: a website failure must
# never taint or block an already-published npm release, and the site also
# needs to be redeployable on its own (docs, news, community changes) without
# cutting a library release.
#
# Run manually after a stable release, passing the released version. It bumps
# the website's @jsonforms/* dependencies to that exact version, verifies the
# site still builds, pushes the bump to master, and triggers the Netlify build
# hook so production is published against the latest stable release.
#
# The optional regenerate_docs flag rebuilds the typedoc API docs from the
# current state of master (no tag checkout) and commits the refreshed
# website/static/api along with the bump. Use it while master still matches
# the released code, i.e. right after a stable release.
on:
workflow_dispatch:
inputs:
version:
type: 'string'
description: 'stable JSON Forms version to pin the website to (e.g. 3.9.0)'
required: true
skip_bump:
type: 'boolean'
description: 'mark to skip the dependency bump and only rebuild/redeploy the current website state'
required: false
default: false
skip_deploy:
type: 'boolean'
description: 'mark to only bump and push, skipping the Netlify deploy trigger'
required: false
default: false
regenerate_docs:
type: 'boolean'
description: 'mark to regenerate the API docs from the current repository state and commit them'
required: false
default: false

jobs:
release-website:
permissions:
contents: 'write'
runs-on: 'ubuntu-latest'
steps:
- uses: 'actions/checkout@v4'
with:
ref: 'master'
token: '${{ secrets.JSONFORMS_PUBLISH_PAT }}'

- name: 'Configure Git Credentials'
run: |
git config user.name "jsonforms-publish[bot]"
git config user.email "jsonforms-publish@eclipsesource.com"

- name: 'Setup node'
uses: 'actions/setup-node@v4'
with:
node-version-file: 'website/.nvmrc'
registry-url: 'https://registry.npmjs.org'

- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
if: github.event.inputs.regenerate_docs == 'true'
name: 'Install pnpm'
with:
run_install: false

# Regenerate the API docs from the current repository state. The
# packages are built first because typedoc resolves cross-package types
# from the built lib/ output (same order as ci.yaml).
- name: 'Regenerate API docs'
if: github.event.inputs.regenerate_docs == 'true'
run: |
pnpm i --frozen-lockfile
pnpm run build
pnpm run doc
./website/copy-docs.sh

# Ensure the released version is actually on npmjs before pinning to it.
- name: 'Wait for npm propagation'
if: github.event.inputs.skip_bump == 'false'
run: |
for i in $(seq 1 30); do
if [ "$(npm view @jsonforms/core@${VERSION} version 2> /dev/null)" = "${VERSION}" ]; then
exit 0
fi
echo "@jsonforms/core@${VERSION} not yet available on npmjs, retrying..."
sleep 20
done
echo "@jsonforms/core@${VERSION} did not appear on npmjs in time"
exit 1
env:
VERSION: ${{ github.event.inputs.version }}

- name: 'Bump @jsonforms/* to the released version'
if: github.event.inputs.skip_bump == 'false'
working-directory: 'website'
run: |
npm install --save-exact \
@jsonforms/core@${VERSION} \
@jsonforms/react@${VERSION} \
@jsonforms/material-renderers@${VERSION} \
@jsonforms/examples@${VERSION}
env:
VERSION: ${{ github.event.inputs.version }}

# Install (in case the bump was skipped) and verify the site builds before
# pushing or deploying, so we never publish a broken bump.
- name: 'Install'
if: github.event.inputs.skip_bump == 'true'
working-directory: 'website'
run: npm ci

- name: 'Verify build'
working-directory: 'website'
run: npm run build:current

- name: 'Commit and push'
if: github.event.inputs.skip_bump == 'false' || github.event.inputs.regenerate_docs == 'true'
run: |
if [ "${SKIP_BUMP}" = "false" ]; then
git add website/package.json website/package-lock.json
fi
if [ "${REGENERATE_DOCS}" = "true" ]; then
git add website/static/api
fi
if git diff --cached --quiet; then
echo "Website already up to date, nothing to commit."
elif [ "${SKIP_BUMP}" = "false" ] && [ "${REGENERATE_DOCS}" = "true" ]; then
git commit -m "docs: pin website to JSON Forms ${VERSION} and regenerate API docs"
git push origin HEAD:master
elif [ "${SKIP_BUMP}" = "false" ]; then
git commit -m "docs: pin website to JSON Forms ${VERSION}"
git push origin HEAD:master
else
git commit -m "docs: regenerate website API docs"
git push origin HEAD:master
fi
env:
VERSION: ${{ github.event.inputs.version }}
SKIP_BUMP: ${{ github.event.inputs.skip_bump }}
REGENERATE_DOCS: ${{ github.event.inputs.regenerate_docs }}

# Trigger the production build on Netlify. Automatic Netlify deploys are
# disabled, so this hook is what publishes the site.
- name: 'Trigger website deploy'
if: github.event.inputs.skip_deploy == 'false'
run: curl -fsS -X POST -d '{}' "${{ secrets.NETLIFY_WEBSITE_BUILD_HOOK }}"
33 changes: 33 additions & 0 deletions .github/workflows/website.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Website

# Build the documentation website to catch breakage early. This job only
# verifies that the site compiles; it never deploys. Production is published
# separately against the latest stable release (see publish.yaml + Netlify).
on:
push:
paths:
- 'website/**'
pull_request:
paths:
- 'website/**'

jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 20
defaults:
run:
working-directory: website
steps:
- uses: actions/checkout@v4

- name: Setup node
uses: actions/setup-node@v4
with:
node-version-file: website/.nvmrc

- name: Install
run: npm ci

- name: Build
run: npm run build:current
55 changes: 55 additions & 0 deletions netlify.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Netlify configuration for the JSON Forms documentation website, which lives
# in website/.
#
# The site is published only against the latest stable release, not on every
# push ("no rolling website"):
# - Automatic production deploys are disabled in the Netlify UI.
# - A Netlify build hook, fired from .github/workflows/release-website.yaml
# after a stable release, triggers the production build. The site renders
# against the @jsonforms/* versions pinned by that workflow.
# - The `ignore` command below skips deploy-preview builds for changes that
# don't touch website/ (paths are relative to the base directory).
[build]
base = "website"
command = "npm run build:current"
publish = "build"
ignore = "git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF -- ."

[[redirects]]
from = "/public/api/core/*"
to = "/api/core/"

[[redirects]]
from = "/public/api/react/*"
to = "/api/react/"

[[redirects]]
from = "/public/api/material/*"
to = "/api/material/"

[[redirects]]
from = "/public/api/vanilla/*"
to = "/api/vanilla/"

[[redirects]]
from = "/public/api/angular/*"
to = "/api/angular/"

[[redirects]]
from = "/public/api/vue/*"
to = "/api/vue/"

[[headers]]
for = "/*"
[headers.values]
Access-Control-Allow-Origin = "*"
Referrer-Policy = "strict-origin-when-cross-origin"
Content-Security-Policy = "default-src 'self'; script-src 'self' 'unsafe-eval' 'sha256-O8zYuOjyuzUZDv3fub7DKfAs5TEd1dG+fz+hCSCFmQA=' 'sha256-nlA5Eh6znySQnjHmn8Yf6Vfz2I3XgXggeuOKoXBiBC0=' 'sha256-pBkmluod9Ko4GzDfbWgKM/wxzujFXUdGVOePkwOQT+c=' 'sha256-bI2b8zL8P3uzmgy+aB+Lh2ZEf8GRlptjS0Gs3QKMRSM=' static.cloudflareinsights.com cloudflareinsights.com/cdn-cgi/rum; connect-src 'self' cloudflareinsights.com/cdn-cgi/rum; style-src 'self' 'unsafe-inline'; img-src 'self' data:; object-src 'none'; frame-ancestors 'self';"
X-Frame-Options = "SAMEORIGIN"
X-Content-Type-Options = "nosniff"
Permissions-Policy = "accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=()"

[[headers]]
for = "/api/*"
[headers.values]
Content-Security-Policy = "script-src 'self' 'unsafe-inline'; script-src-elem 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; connect-src 'self' data:;"
7 changes: 7 additions & 0 deletions website/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
node_modules
.docusaurus
build
.env
google7cffb0370fcac18c.html
.yalc
yalc.lock
1 change: 1 addition & 0 deletions website/.nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v22.14.0
31 changes: 31 additions & 0 deletions website/.prompts/project-info.prompttemplate
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# JSON Forms Documentation Website

Docusaurus-based documentation website for [JSON Forms](https://github.com/eclipsesource/jsonforms), a declarative framework for building JSON Schema based forms.

## Key Architectural Decisions

- **Content in `/content/`**: All MDX content lives here, NOT in `/docs/` (Docusaurus default)
- **Sidebars in `/src/sidebars/`**: Navigation configs are separate files, not in docusaurus.config.js
- **Custom Blog Plugin** (`plugins/custom-blog-plugin.js`): Injects latest post into homepage
- **Version fetching**: `build.sh` queries GitHub API, writes to `/static/current-version.js`

## Important Patterns

### Interactive Examples
Use the `Demo` component (`src/components/common/Demo.js`) which renders JSON Forms with Material-UI and provides tabbed Schema/UI Schema/Form views.

### Adding Documentation
1. Create MDX file in `/content/docs/` or `/content/examples/`
2. Add entry to the appropriate sidebar in `/src/sidebars/`

### Custom Renderers
Example custom renderers exist in `src/components/common/` (rating, country, region controls).

### Component Development
- React components go in `/src/components/`
- Use the existing Demo component pattern for interactive examples
- Follow CSS Modules pattern for component-specific styles

## Important Guidelines

**Always build and test changes**: Run the build to check for compilation errors, then start the dev server and visually verify changes work correctly. Check for console errors in the browser. Do not consider a task complete until the build passes and changes have been visually verified.
12 changes: 12 additions & 0 deletions website/.vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp

// List of extensions which should be recommended for users of this workspace.
"recommendations": [
"esbenp.prettier-vscode",
"ms-vscode.vscode-typescript-tslint-plugin"
],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": []
}
6 changes: 6 additions & 0 deletions website/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"editor.formatOnSave": false,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"prettier.jsxSingleQuote": true,
"prettier.singleQuote": true
}
Loading
Loading