A web-based tool to view, edit, format, and validate JSON

Related tags

Editors jsoneditor
Overview

JSON Editor

Version Downloads Maintenance License FOSSA Status

JSON Editor is a web-based tool to view, edit, format, and validate JSON. It has various modes such as a tree editor, a code editor, and a plain text editor.

The editor can be used as a component in your own web application. The library can be loaded as CommonJS module, AMD module, or as a regular javascript file.

Supported browsers: Chrome, Firefox, Safari, Opera, Edge, Internet Explorer 11.

json editor   code editor

Cross browser testing for JSONEditor is generously provided by BrowserStack

BrowserStack

Features

JSONEditor has various modes, with the following features.

Tree mode

  • Change, add, move, remove, and duplicate fields and values.
  • Sort arrays and objects.
  • Transform JSON using JMESPath queries.
  • Colorized code.
  • Color picker.
  • Search & highlight text in the tree view.
  • Undo and redo all actions.
  • JSON schema validation (powered by ajv).

Code mode

  • Colorized code (powered by Ace).
  • Inspect JSON (powered by Ace).
  • Format and compact JSON.
  • Repair JSON.
  • JSON schema validation (powered by ajv).

Text mode

  • Format and compact JSON.
  • Repair JSON.
  • JSON schema validation (powered by ajv).

Preview mode

  • Handle large JSON documents up to 500 MiB.
  • Transform JSON using JMESPath queries.
  • Format and compact JSON.
  • Repair JSON.
  • JSON schema validation (powered by ajv).

Documentation

Install

with npm (recommended):

npm install jsoneditor

Note that to use JSONEditor in Internet Explorer 11, it is necessary to load a polyfill for Promise in your application.

Alternatively, you can use another JavaScript package manager like https://yarnpkg.com/, or a CDN such as https://cdnjs.com/ or https://www.jsdelivr.com/.

Use

Note that in the following example, you'll have to change the urls jsoneditor/dist/jsoneditor.min.js and jsoneditor/dist/jsoneditor.min.css to match the place where you've downloaded the library, or fill in the URL of the CDN you're using.

<!DOCTYPE HTML>
<html lang="en">
<head>
    <!-- when using the mode "code", it's important to specify charset utf-8 -->
    <meta charset="utf-8">

    <link href="jsoneditor/dist/jsoneditor.min.css" rel="stylesheet" type="text/css">
    <script src="jsoneditor/dist/jsoneditor.min.js"></script>
</head>
<body>
    <div id="jsoneditor" style="width: 400px; height: 400px;"></div>

    <script>
        // create the editor
        const container = document.getElementById("jsoneditor")
        const options = {}
        const editor = new JSONEditor(container, options)

        // set json
        const initialJson = {
            "Array": [1, 2, 3],
            "Boolean": true,
            "Null": null,
            "Number": 123,
            "Object": {"a": "b", "c": "d"},
            "String": "Hello World"
        }
        editor.set(initialJson)

        // get json
        const updatedJson = editor.get()
    </script>
</body>
</html>

Build

The code of the JSON Editor is located in the folder ./src. To build jsoneditor:

  • Install dependencies:

    npm install
    
  • Build JSON Editor:

    npm run build
    

    This will generate the files ./jsoneditor.js, ./jsoneditor.css, and
    minified versions in the dist of the project.

  • To automatically build when a source file has changed:

    npm start
    

    This will update ./jsoneditor.js and ./jsoneditor.css in the dist folder on every change, but it will NOT update the minified versions as that's an expensive operation.

Test

Run unit tests:

npm test

Run code linting (JavaScript Standard Style):

npm run lint

Custom builds

The source code of JSONEditor consists of CommonJS modules. JSONEditor can be bundled in a customized way using a module bundler like browserify or webpack. First, install all dependencies of jsoneditor:

npm install

To create a custom bundle of the source code using browserify:

browserify ./index.js -o ./jsoneditor.custom.js -s JSONEditor

The Ace editor, used in mode code, accounts for about one third of the total size of the library. To exclude the Ace editor from the bundle:

browserify ./index.js -o ./jsoneditor.custom.js -s JSONEditor -x brace -x brace/mode/json -x brace/ext/searchbox

To minify the generated bundle, use uglifyjs:

uglifyjs ./jsoneditor.custom.js -o ./jsoneditor.custom.min.js -m -c
Comments
  • Beta of a completely new JSONEditor available now 🎉

    Beta of a completely new JSONEditor available now 🎉

    TLDR; please try out the new beta https://jsoneditoronline.org/beta/ and let me know what you think!

    The first JSONEditor was published on 2011-11-28, more than nine years ago. Over the years, it did grow into a powerful, battle-tested tool. However, the codebase has become hard to maintain, and the architecture needed a big overhaul. I also felt like there is room to make the experience of editing your JSON data even better. The current editor contains two complementing modes: tree and code. This split has always felt like a non-optimal solution to me. Over the years I've been searching and experimenting with different solutions to improve on this.

    I'm happy to present the first beta of a completely new editor, offering a totally new experience of editing JSON. The two separate modes (code and tree) are replaced with a new, unified solution which feels like working with a spreadsheet. Typical operations like inserting new fields or removing some have become easier now. You can copy/paste data via the system clipboard, making it frictionless to exchange data with other applications. The new editor can open and edit large JSON documents up to 500 MB without breaking a sweat. Under the hood, all editing you do is described and processed as JSON Patch operations, making it possible in the future to do cool stuff like keeping multiple editors in sync via atomic patch operations. And thanks to the new codebase it will be easier to make the editor more pluggable and customizable.

    The editor is created in Svelte, but is a standalone UI component which can be used anywhere: in plain JavaScript, React, Vue, Angular, or your favorite framework. The editor is created and published as a new library with its own repository, since the changes are too big to see this as a major release of the existing library. You can find the new library at https://github.com/josdejong/svelte-jsoneditor/. Please be aware that the API is not yet stable and may change in the coming releases.

    Please try out the new beta, and let me know what you think:

    https://jsoneditoronline.org/beta/

    Known limitations in this beta:

    • [x] The editor still misses a lot of features that where available before: color picker, timestamp tag, dropdown for enums of your JSON Schema
    • [x] Dragging selected contents up or down is not yet supported.
    • [x] In the web application it is not yet possible to save a document without indentation when using tree mode.

    Important questions to me are:

    • How do you like the new experience?
    • Do you prefer the new editor over the old one? If not, why?
    • Do you miss the old, low level code mode? If so, in what circumstances?
    • Are there things in the new editor that work clunky or cumbersome?

    I really need your feedbacks here, thanks!

    Feedback summary

    Based on the feedbacks I've created action points:

    • [x] Implement code mode
    • [x] Add expand/collapse all buttons
      • Those buttons are added again
    • [x] Quickkeys are not working on Mac: pasting doesn't work at all, other keys work with Control+... instead of Command+....
    • [x] It is unclear how to use the editor the first time.
      • create a tutorial of some sort?
    • [x] A common mistake is going into edit mode (blinking caret and border), and then paste JSON contents.
    • [x] We miss the code mode: format/compact, and just being able to edit the raw JSON
      • I will add the code mode again, this will address a large part of the feedbacks
    • [x] I miss being able to quickly get an idea of how large my document is (from number of lines, scrollbar, number of bytes)
      • having code mode back solves this, and we could also think though showing useful information in a status bar at the bottom
    • [x] It is harder to copy a part of a value now (first double click to go in edit mode, then select the right part of the value)
      • Won't fix: this is a consequence of the changed UX, which has many pros but also cons (like this one)
    • [x] The new editor is somewhat slower when expanding a large file
      • Profile the performance and see if improvements can be made
    • [x] Be able to Transform either using JMESPath OR Lodash
    • [x] Implement navigation path (breadcrumbs) on top again in tree mode
    opened by josdejong 197
  • New web application now live 🎉

    New web application now live 🎉

    I've been working on a completely new web application, which is now ~in beta~ live:

    https://jsoneditoronline.org/

    Please try it out and let me know what you're thinking about it here. Is it easy to use or is it too confusing? Any feedback and suggestions are very welcome!

    The most notable changes are:

    1. The editor now has two panels each with their own document instead of two panels showing the same document.
    2. Local documents are now stored in a local (in-browser) database. When opening the web application in multiple tabs of your browser, each tab will store it's own document separate from the others. No risk of data loss anymore.
    3. Support for highlighting differences between two JSON objects.
    4. Better support to load a JSON Schema document in various ways: url, text, other panel, document. or embedded text.
    5. Better support for drag and drop drag & drop.
    6. Fixes in saving large documents to disk (can handle files up to about 500 MB).
    webapp 
    opened by josdejong 72
  • Implement onValidationError option and a public validate API method

    Implement onValidationError option and a public validate API method

    It would be nice to have a callback function and a method to run/listen for validation errors. This can be used for example to check whether a document is valid before submitting it, or to render validation errors on a different or more prominent place in a web application.

    We should think about how this API should look exactly: think about the how to treat both JSON parse errors, JSON Schema validation errors, and custom validation errors.

    Followup from discussion here: https://github.com/josdejong/jsoneditor/pull/560#issuecomment-445551510

    feature help wanted 
    opened by josdejong 46
  • Show count and cursor position in the header

    Show count and cursor position in the header

    Hello,

    It would be useful to add an option to show in the header the characters count and the cursor position (line/column) such as in other editors.

    If you find it useful as well perhaps I'll find the time to contribute it myself.

    Thanks! Meir.

    opened by meirotstein 28
  • Display Enums As Drop Downs

    Display Enums As Drop Downs

    The tree editor displays now the enum types with a drop down. The only you have to do is to define the enum values in the json schema. (see feature request #282).

    Example:

    "properties": {
        "fruits": {
            "enum": ['orange', 'apple']
        }
    }
    
    opened by tdakanalis 28
  • API for caret selection

    API for caret selection

    The PR adds the following new capabilities:

    • onTextSelectionChange - new option for adding a callback for text selection change in text and code modes. expected callback function signature is:
    /**
      * @param {String} text selected text
      * @param {{row:Number, column:Number}} startPos selection start position
      * @param {{row:Number, column:Number}} endPos selected end position
      */
      function onTextSelectionChange(text, startPos, endPos) {
        ...
      }
    
    • onNodeSelectionChange - new option for adding a callback for Nodes selection in tree mode. expected callback function signature is:
    /**
      * @param {Array<Node>} nodes selected nodes
      */
      function onNodeSelectionChange(nodes) {
        ...
      }
    
    • getTextSelection() - returns the current selected text and selection range for text and code modes.
    • setTextSelection(startPos, endPos) - set text selection for text and code modes.
    • getNodeSelection() - returns the current selected Nodes for tree mode.
    • setNodeSelection(node1, node2) - set nodes selection for tree mode.

    Additions are documented in details in api.md

    @josdejong please note that the API for onNodeSelectionChange and getNodeSelection is a bit different from what we discussed because it returns a list of the selected nodes and not only the start and the end nodes, it makes more sense to me because probably it will be more useful to the utility consumer.

    opened by meirotstein 25
  • Progress on version `next`

    Progress on version `next`

    I'm working on a completely new version of the JSONEditor. The current code base is hard to maintain and expand, and is too limited qua customization. This new version aims at making the editor extendable (i.e. customize the action menu, custom modes, etc). The new editor will have good support for synchronizing changes with other editors or with a backend via JSON-Patch actions.

    Try it out now

    The new editor is being built in the next branch. To try it out:

    • clone the project: git clone https://github.com/josdejong/jsoneditor.git
    • go to the project directory: cd jsoneditor
    • check out the next branch with git: git checkout next
    • install dependencies: npm install
    • build the library: npm run build

    All examples in the examples folder are basically working and be tried out.

    Progress of version next

    • [x] Set up structure for the new editor, using react or preact
    • [x] Implement a new data model (works with JSON-Patch to apply changes)
    • [x] Implement method patch and an onChange listener using JSON-Patch
    • [x] Implement modes Tree, Form, View
    • [x] Implement modes Text and Code (the latter integrating Ace)
    • [x] Implement mode switcher and API
    • [x] Integrate jsonlint and handle errors nicely
    • [x] Implement configurable readonly properties and values
    • [x] Implement history, undo, redo
    • [x] Implement JSONSchema
    • [x] Implement search
    • [x] Implement customizable quick keys
    • [ ] Implement drag and drop of items
    • [ ] Implement checkbox for booleans
    • [ ] Implement select box for enums (when using JSONSchema)
    • [ ] Implement patchText and onTextChange when in modes Text or Code
    • [ ] Expose an API for React
    • [ ] A bunch of small fixes, refactorings, and performance improvements

    Extra

    • [ ] Implement hooks to customize the main menu
    • [ ] Implement hooks to customize the action menu
    • [ ] Implement hooks to customize how values are rendered (i.e. like show a checkbox for boolean values, select box for enums, etc)
    • [ ] Implement API to register new modes
    • [ ] Implement a more advanced Repair button than the current one that's implicitely executed when clicking format/compact in text mode. Should turn JS data into JSON, and help you to repair JSON-like data with a comma missing somewhere or things like that.
    next 
    opened by josdejong 22
  • Add API functionality to extend event behaviour.

    Add API functionality to extend event behaviour.

    Let the possibility of extending events behaviour (among the ones managed by jsoneditor). Function is provided as an option and will be triggered after node event management. This is added at the end of a node event execution, not replaced. It means that actions for that event will be executed and after that, if this function is provided, will be executed. For example, if we want to extend the behaviour when a click event is received providing information about the element clicked and the path, we can provide this function and use internal structures and internal code to do it. An example is provided with the PR (examples/16_extend_event_api.html).

    opened by cristinabarrantes 20
  • Abililty to suppress errors

    Abililty to suppress errors

    It would be very useful to have an option to suppress errors so that the console does not get cluttered up (example error message below). These errors are thrown while the user is typing and they add up quickly.

    Error: Parse error on line 8: ...": true, "test" "Created": "2016-01- ---------------------^ Expecting 'EOF', '}', ':', ',', ']', got 'STRING' at Object.parse (jsoneditor.js:6586) at Object.validate (jsoneditor.js:1620) at Object.parse (jsoneditor.js:1476) at JSONEditor.textmode.get (jsoneditor.js:1408) at ng-jsoneditor.js:32 at angular.js:17918 at completeOutstandingRequest (angular.js:5552) at angular.js:5829

    opened by mariahlynne 20
  • Use browserify to bundle index.js instead of webpack, don't include brace by default.

    Use browserify to bundle index.js instead of webpack, don't include brace by default.

    The default build in dest/jsoneditor.js includes brace and jsonlint, which seems to create many problems when using browserify to bundle jsoneditor due to some missing libs (e.g. there's no file module with browserify, which makes jsonlint choke).

    Apparently webpack doesn't easily support excluding libraries, so perhaps using browserify to create a clean jsoneditor.js without bundled dependencies would be best. This resulting jsoneditor.js contents can either go into index.js (which browserify tries to include by default), or into a new file in dist/, which package.json can reference with the main option.

    opened by nfvs 20
  • Entering

    Entering " (QUOTATION MARK) shouldn't cause parse error

    Editor users shouldn't have to know to escape " characters. This should either be done by the editor (pressing " inserts \") or by displaying " unescaped and escaping it before parsing.

    opened by mrclay 19
  • Bump json5 from 1.0.1 to 1.0.2

    Bump json5 from 1.0.1 to 1.0.2

    Bumps json5 from 1.0.1 to 1.0.2.

    Release notes

    Sourced from json5's releases.

    v1.0.2

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295). This has been backported to v1. (#298)
    Changelog

    Sourced from json5's changelog.

    Unreleased [code, diff]

    v2.2.3 [code, diff]

    v2.2.2 [code, diff]

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).

    v2.2.1 [code, diff]

    • Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)

    v2.2.0 [code, diff]

    • New: Accurate and documented TypeScript declarations are now included. There is no need to install @types/json5. (#236, #244)

    v2.1.3 [code, diff]

    • Fix: An out of memory bug when parsing numbers has been fixed. (#228, #229)

    v2.1.2 [code, diff]

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • JsonEditor with ReactiveForms

    JsonEditor with ReactiveForms

    Hi, I try to use JsonEditor with ReactiveForms according to your example, but it is'nt worked. The data is not kept in the value of the form control.

    my code:

    HTML:

    <form [formGroup]="form"> <json-editor formControlName="data" [options]="editorOptions">

    TypeScript: form: FormGroup; @ViewChild(JsonEditorComponent, { static: false }) editor!: JsonEditorComponent; public editorOptions: JsonEditorOptions; constructor(private fb: FormBuilder) { }

    ngOnInit(): void { this.editorOptions = new JsonEditorOptions() this.editorOptions.modes = ['code']; this.editorOptions.mode = 'code' this.editorOptions.onChange = () => { console.log(this.form) this.disabled.emit(!this.editor.isValidJson()) };

    this.form = this.fb.group({
      data: [JSON.parse(this.data)],
    });
    
    this.form.controls['data'].valueChanges.subscribe(change => {
      this.saveAction.emit(new Map([["data", JSON.stringify(this.form.get("data").value)]]));
    });
    

    }

    Can you help me to solve this issue? thanks about this wonderful tool!! efrat

    question 
    opened by EfratVardi 2
  • what the relationship between https://github.com/json-editor/json-editor and https://github.com/josdejong/jsoneditor ?

    what the relationship between https://github.com/json-editor/json-editor and https://github.com/josdejong/jsoneditor ?

    General information

    what the relationship between https://github.com/json-editor/json-editor and https://github.com/josdejong/jsoneditor ?

    I found they are too similar fot me to distinguish .

    question 
    opened by Tridu33 1
  • ColorPicker in code mode

    ColorPicker in code mode

    In Ace.Editor there is a plugin to open ColorPicker in "code mode": https://github.com/easylogic/ace-colorpicker How could i use it or something the same in JsonEditor? In our project we decided not to use "tree mode", but only "code mode" for the necessary flexibility. But color selection is a welcome feature in "code mode".

    feature help wanted 
    opened by alexbom 3
  • Bump decode-uri-component from 0.2.0 to 0.2.2

    Bump decode-uri-component from 0.2.0 to 0.2.2

    Bumps decode-uri-component from 0.2.0 to 0.2.2.

    Release notes

    Sourced from decode-uri-component's releases.

    v0.2.2

    • Prevent overwriting previously decoded tokens 980e0bf

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2

    v0.2.1

    • Switch to GitHub workflows 76abc93
    • Fix issue where decode throws - fixes #6 746ca5d
    • Update license (#1) 486d7e2
    • Tidelift tasks a650457
    • Meta tweaks 66e1c28

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump loader-utils from 2.0.3 to 2.0.4 in /examples/react_advanced_demo

    Bump loader-utils from 2.0.3 to 2.0.4 in /examples/react_advanced_demo

    Bumps loader-utils from 2.0.3 to 2.0.4.

    Release notes

    Sourced from loader-utils's releases.

    v2.0.4

    2.0.4 (2022-11-11)

    Bug Fixes

    Changelog

    Sourced from loader-utils's changelog.

    2.0.4 (2022-11-11)

    Bug Fixes

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
A web interface to edit TP-Link Router Config export files (typically named config.bin).

TP-Link Router Config Editor A web interface to edit TP-Link Router Config export files (typically named config.bin). Visit the website. Tested on an

Jahed 10 Nov 17, 2022
Example VS Code plugin that uses embedded Omega Edit bindings to generate content

Ωedit Edit for VS Code Example VS Code plugin that uses embedded Omega Edit bindings to generate content. Build Requirements Bindings compiled against

Concurrent Technologies Corporation (CTC) 2 Nov 17, 2022
An extension that adds an "edit tags" button to every object on osm.org

OpenStreetMap Tags Editor This is a WebExtension that adds an "Edit Tags" button to all node, way, and relation pages on the osm.org website. The butt

Ilya Zverev 13 Dec 1, 2022
A VSCode extension that implements outline view and go to definition for Coq files.

Coq Outline A VSCode extension that provides outline view for Coq files. Features Provide outline views for Coq files. Provide go to definition functi

Wang Zhongye 5 Oct 29, 2022
A React component to view a PDF document

React PDF viewer A React component to view a PDF document. It's written in TypeScript, and powered by React hooks completely. // Core viewer import {

React PDF Viewer 1.4k Jan 3, 2023
A block-styled editor with clean JSON output

IE / Edge Firefox Chrome Safari iOS Safari Opera Edge 12+ Firefox 18+ Chrome 49+ Safari 10+ Safari 10+ Opera 36+ If you like a project ?? ?? ?? If you

CodeX 21.2k Jan 9, 2023
Convert json data from editorjs to html elements

EditorJs Data Parser Easyly convert json data from editorjs to html elements Installaton npm i editorjs-data-parser yarn add editorjs-data-parser Supp

Teymur Salimzade 7 Aug 30, 2022
Typewriter is a simple, FOSS, Web-based text editor that aims to provide a simple and intuitive environment for you to write in.

Typewriter Typewriter is a simple, FOSS, Web-based text editor that aims to provide a simple and intuitive environment for you to write in. Features S

Isla 2 May 24, 2022
Pair-ls - a lightweight, editor-agnostic tool for remote pair-programming

pair-ls Pair-ls is a lightweight, editor-agnostic tool for remote pair-programming. It allows you to easily share the files you are working on in a re

Steven Arcangeli 13 Dec 9, 2022
Open source rich text editor based on HTML5 and the progressive-enhancement approach. Uses a sophisticated security concept and aims to generate fully valid HTML5 markup by preventing unmaintainable tag soups and inline styles.

This project isn’t maintained anymore Please check out this fork. wysihtml5 0.3.0 wysihtml5 is an open source rich text editor based on HTML5 technolo

Christopher Blum 6.5k Jan 7, 2023
Open source rich text editor based on HTML5 and the progressive-enhancement approach. Uses a sophisticated security concept and aims to generate fully valid HTML5 markup by preventing unmaintainable tag soups and inline styles.

This project isn’t maintained anymore Please check out this fork. wysihtml5 0.3.0 wysihtml5 is an open source rich text editor based on HTML5 technolo

Christopher Blum 6.5k Dec 30, 2022
Get warnings and error messages in monaco editor based on a unified processor.

monaco-unified Get warnings and error messages in monaco editor based on a unified processor. Installation npm install monaco-unified Usage First, cre

Remco Haszing 15 Nov 4, 2022
A browser based code editor

Monaco Editor The Monaco Editor is the code editor which powers VS Code, with the features better described here. Please note that this repository con

Microsoft 32.4k Jan 3, 2023
Lightweight UI components for Vue.js based on Bulma

Buefy is a lightweight library of responsive UI components for Vue.js based on Bulma framework and design. Features Keep your current Bulma theme / va

Buefy 9.4k Jan 4, 2023
A browser based code editor

Monaco Editor The Monaco Editor is the code editor which powers VS Code, with the features better described here. Please note that this repository con

Microsoft 24.6k May 17, 2021
A file based wiki that uses markdown

wikmd What is it? It’s a file-based wiki that aims to simplicity. The documents are completely written in Markdown which is an easy markup language th

linbreux 161 Jan 2, 2023
Dynamic content filtering in org-mode exported HTML documents based on tags.

Dynamic tag filtering in org-mode exported HTML documents This JavaScript code adds dynamic tag filtering to HTML documents exported from Emacs Org-mo

Øyvind Stegard 7 Sep 6, 2022
Verbum is a fully flexible text editor based on lexical framework.

Verbum Verbum - Flexible Text Editor for React Verbum is a fully flexible rich text editor based on lexical-playground and lexical framework. ⚠️ As th

Ozan Yurtsever 560 Dec 29, 2022
Pure javascript based WYSIWYG html editor, with no dependencies.

SunEditor Pure javscript based WYSIWYG web editor, with no dependencies Demo : suneditor.com The Suneditor is a lightweight, flexible, customizable WY

Yi JiHong 1.1k Jan 2, 2023