https://github.com/c-w/webedit
Application to generate rich editors for JSON files on Github
https://github.com/c-w/webedit
material-ui reactjs redux
Last synced: 3 months ago
JSON representation
Application to generate rich editors for JSON files on Github
- Host: GitHub
- URL: https://github.com/c-w/webedit
- Owner: c-w
- License: apache-2.0
- Created: 2020-07-20T01:50:58.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-06T15:25:35.000Z (over 2 years ago)
- Last Synced: 2025-01-13T15:15:23.527Z (5 months ago)
- Topics: material-ui, reactjs, redux
- Language: JavaScript
- Homepage: https://justamouse.com/webedit
- Size: 4.01 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# :pencil: webedit
[](https://github.com/c-w/webedit/actions?query=workflow%3ACI)
## What's this?
> :wrench: Webedit is a tool that lets you auto-generate UIs to edit JSON files on Github :octocat:.
I use JSON files on Github to collect data for a bunch of small tools (e.g. my [cocktail recipes](https://github.com/c-w/cocktails) or my [book reviews](https://github.com/c-w/redings)) so it became useful to have a UI to add items to the various collections while on the go. That's how webedit was born: a mobile-first site to facilitate adding items to JSON files on Github.
## How do I get started?
Using webedit is super simple:
1. :globe_with_meridians: Head over to the [webedit site](https://justamouse.com/webedit)
2. :lock: Log in using a [personal access token](https://github.com/settings/tokens)
3. :notebook: Start editing JSON files using a nice UI based on [Material design](https://material-ui.com/)
4. :heavy_check_mark: Webedit will automatically update the files for you using the [Github API](https://docs.github.com/en/rest)Webedit will crawl your repositories and generate a UI for each repository that contains a `.webedit.json` or `.webedit.yaml` file at the root. The schema for the configuration file is as follows:
```jsonc
{
// The first thing you need to provide webedit is the path
// of the file for which you wish to generate editing UIs
// this path is relative to the root of your repository
"path/to/json/file": {
// Required: the schema key tells webedit about the shape
// of the items you wish to edit; provide any JSON schema
// object here and webedit will generate the appropriate
// form to create new items for you using the RJSF library
// see https://json-schema.org for more information
"schema": {},
// Optional: if the array of items to edit isn't at the root
// you can use the path key to provide a JMES path expression
// for how webedit can find the arrya you with to edit
// see https://jmespath.org for more information
"path": "some.optional[0].jmespath.expression",
// Optional: if you wish to customize the appearance of the
// form that webedit generates for you, use the ui key and
// configure custom RJSF widgets for your form
// see https://react-jsonschema-form.readthedocs.io/en/latest/usage/widgets/
"ui": {}
},
// Note: you can specify configuration blocks for multiple files
// in the same repository and webedit will generate a separate
// editor for each entry
"some/other/path/to/a/json/file": {}
}
```