Gentleman is a lightweight web-based projectional editor generator.
Gentleman aims to to close the gap between models and domain experts.
| Concept defintion | Projection definition |
|---|---|
![]() |
![]() |
- Platform agnostic: Gentleman target the web (no installation required)
- Support textual and tabular notations and multimedia content
- Projections are defined with specialized UI elements for layouts and fields
- Integration with Ecore: Define an Ecore model and use it with Gentleman projections
The metamodelling workflow is reserved for the creation of concepts and projections.
Required scripts: gentleman.mod.js + gentleman.app.js
The modelling workflow is reserved for the creation of concept instances using a projection ensemble.
Required scripts: gentleman.app.js
Gentleman can be added to any web application in 2 steps:
- Add the required scripts to your page
- Decorate an HTML Tag OR Dynamically create an instance
<html>
<body>
...
<div data-gentleman="editor"></div>
...
<script src="gentleman.mod.js"></script> <!-- required for << metamodelling workflow >> -->
<script src="gentleman.app.js"></script>
</body>
</html>const options = {
concept: null,
projection: null,
config: null,
handlers: null
};
let editor = Gentleman.createEditor();
editor.init(options)Take a look at the demonstration (MODELS 2020) and see the tool in action.
⭐⭐⭐ Play with Gentleman ⭐⭐⭐
To build the code, follow these steps.
- Ensure that NodeJS is installed. This provides the platform on which the build tooling runs.
- From the project folder, execute the following command to install the dependencies
$ npm install
When working on the code, execute the following command
$ npm run start
This will start a development server (webpack-dev-server) that provides live reloading.
To deploy the code or test in a production environment, follow these steps.
- Update the build file with newly created css files
- From the project folder, execute the following command to build the code for production
$ npm run build
[1] L-E Lafontant, E. Syriani. Gentleman: a light-weight web-based projectional editor generator PDF
This distribution contains the following files and folders:
- src: the source code
- dist: the distributed library
- docs: the app documentation
- assets: contains static files
The source code is licensed under a GNU GENERAL PUBLIC LICENSE 3

