https://github.com/johannes-editor/johannes
JavaScript Notion-inspired text editor.
https://github.com/johannes-editor/johannes
content-editable gutenberg gutenberg-blocks javascript nodejs notion post-editing text-editor typescript webpack wysiwyg
Last synced: 4 months ago
JSON representation
JavaScript Notion-inspired text editor.
- Host: GitHub
- URL: https://github.com/johannes-editor/johannes
- Owner: johannes-editor
- License: mit
- Created: 2024-06-14T18:16:23.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-06-14T13:38:35.000Z (about 1 year ago)
- Last Synced: 2025-07-27T22:47:10.803Z (11 months ago)
- Topics: content-editable, gutenberg, gutenberg-blocks, javascript, nodejs, notion, post-editing, text-editor, typescript, webpack, wysiwyg
- Language: TypeScript
- Homepage: https://demo.johannes.app
- Size: 8.79 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Johannes Editor
Johannes is a lightweight block based text editor written in TypeScript. It ships without any
front end framework dependencies and focuses on providing an easy to embed editing experience.
The project powers a small demo application included in this repository and can be integrated
into other web applications.
## Features
- **Pure TypeScript** – no additional framework dependencies are required.
- **Block based** editing with support for paragraphs, headings, tables and more.
- **Undo/redo** support using a `Memento` implementation.
- Syntax highlighted code blocks via `highlight.js`.
## Getting Started
Install dependencies and start the development server:
```bash
npm install
npm start
```
To build the production bundle run:
```bash
npm run build
```
### Running Tests
The project contains Jest unit tests. Execute them with:
```bash
npm test
```
## Project Structure
- `src/` – TypeScript sources and style sheets
- `demo/` – static files used by the demo application
- `tests/` – helper files for unit tests
## Contributing
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on how to propose
changes and run the project locally.
## License
This project is released under the [MIT License](LICENSE).