Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Gentleman is a lightweight web-based projectional editor that allows you to create and manipulate models.

License

NotificationsYou must be signed in to change notification settings

geodes-sms/gentleman

Repository files navigation

Gentleman logo Gentleman

Gentleman is alightweight web-based projectional editor that allows you to create and manipulate concept-based models through projection.

Features

✔️ Common editing features: contextual assistance, copy-paste, undo/redo
✔️ Support multiple projections for a concept
✔️ Easy to switch the projections used against a model
✔️ Projections are defined with specialized UI elements
✔️ Support graphical projectional editor using SVG
✔️ SVG projection can be imported or created in the editor
✔️ Support multiple layouts with simulations

Gentleman IDE

Examples

MindmapTraffic Light (TL)TodoListStatechartSequence DiagramMusic Sheet
Oops! missing image 😅Oops! missing image 😅Oops! missing image 😅Oops! missing image 😅Oops! missing image 😅Oops! missing image 😅
Try it outTry it outTry it outTry it outTry it outTry it out

If the links for graphical projections examples do not work:

  • Follow the installation steps.
  • Create a new Editor.
  • Import the metamodels and projection available in themodels folder.
  • Start the editing!

Documentation 📖

For live examples (demo), docs and to learn more about Gentleman, please visitgentlemancp.org.
If you are in a hurry here are somequick links:
🔗Documentation
🔗Getting started

Integration

Gentleman can be added to any web application in 2 steps:

  1. Add the library (JS script) to your page
  2. Decorate an HTML TagORDynamically create an instance

Gentleman library:gentleman.core.js.

Decorate an HTML Tag

<html><body>        ...<divdata-gentleman="editor"></div>        ...<scriptsrc="gentleman.core.js"></script><script>leteditor=Gentleman.activateEditor()[0]editor.init({...});</script></body></html>

Dynamically create an instance

// your applicationconstApp={};...// create and initialize an editorleteditor=Gentleman.createEditor();editor.init({...});...// append the editor to the pageApp.container.append(editor.container);

Browser Compatibility

Gentleman supports all browsers that areES5-compliant (IE8 and below are not supported).

Installation 💻

Building the Code

Requirements

To build the code, follow these steps.

  1. Ensure thatNodeJS is installed. This provides the platform on which the build tooling runs.
  2. From the project folder, execute the following command to install the dependencies
$ npm install

Development

When working on the code, you will need a folder named.internal at the root of the project.
This folder is used as the source of content for thewebpack-dev-server (seewebpack.dev.js) that provides live reloading. It can be used to store dev-specific files and assets.

  1. Create a folder named.internal in the root
  2. Add anindex.html file in the.internal folder
  3. Add the script<script src="app.bundle.js"></script> at the end of theindex.html page

Once you have the.internal folder in place, execute the following command

$ npm run start

This will start a development server (webpack-dev-server) and should open the application in the browser.

Production

To deploy the code or test in a production environment, follow these steps.

  1. Update thebuild file with newly created css files
  2. From the project folder, execute the following command to build the code for production
$ npm run build

Publication 📃

  1. L.E. Lafontant, E. Syriani.Gentleman: a light-weight web-based projectional editor generator (2020)
    Paper |Demonstration

  2. A. Ducoin, E.Syriani.Graphical Projectional Editing in Gentleman (2022)
    Paper |Demonstration

  3. L.E. Lafontant, E.Syriani.Modeling with Gentleman: a web-based projectional editor (2024)
    Paper

Distribution 📂

This distribution contains the following files and folders:

  • src: the library source code
  • app: the application source code
  • dist: the distributed library
  • docs: the app documentation
  • assets: contains static files for library and app

Contributors

  • Louis-Edouard LAFONTANT
  • Aurélien DUCOIN

License ©️

The source code is licensed under aGPL 3.0 licenseGPL

About

Gentleman is a lightweight web-based projectional editor that allows you to create and manipulate models.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp