RASH Javascript Editor (RAJE)

​ a Javascript-based wordprocessor for creating RASH documents natively https://gspinaci.github.io/raje-doceng2017

Main citation: Spinaci, G., Peroni, S., Di Iorio, A., Poggi, F., Vitali, F. (2017). The RASH JavaScript Editor (RAJE): A Wordprocessor for Writing Web-first Scholarly Articles. In Proceedings of the 2017 ACM Symposium on Document Engineering (DocEng 2017): 85-94. DOI: https://doi.org/10.1145/3103010.3103018 (also available in RASH)

What is RAJE

RAJE is a stand-alone, multi-platform software used for writing HTML articles natively. It comes with a user-friendly interface that hides all the complexities of writing HTML lines from scratch. Its releases and the related sources are available on GitHub a licensed according to the ISC License, as all the other tools included in the RASH Framework.

It's fully crafted using Javascript in particular: Node.js, the Electron.js framework to build the multi-platform software and TinyMCE for managing the editing behaviours.

The echosystem of RAJE

Why RAJE? (Desiderata)

It has been designed for being totally compatible with HTML5, RASH and the existing tools developed for the Framework, and Semplifiying the writing of an article keeping everything as natural as possible.

RAJE doesn't enable the user to personalise the rendering of the document – focus on the content only, the Following best practices used in existing word processors for creating structures typical of papers.

It also allows the creation of mathematical formulas with an appropriate interface, supporting Web-first formats, and it interacts with GitHub for easing the storing, sharing, and preservation of the articles.


Starting from the version 0.6, RASH has started to support the use of different languages for writing mathematical expressions, which include MathML, LaTeX and AsciiMath. All these formulas are actually rendered by means of the MathJax processor.

RAJE implements an intuitive and easy-to-use environment, where users are allowed to write down formulas using AsciiMath as input (From preliminary tests we run, AsciiMath seemed to be the language easier to learn, write and remember).

The structure of RAJE


The structure of RAJE

The structure of RAJE is now defined by means of two specific modules.

The first module, i.e. RAJE-core, implements the main editing functionalities, and it is based on TinyMCE – contrarily, the previous version of RAJE was totally developed from scratch using the Contenteditable attribute.

The other module, i.e. RAJE-app, is a wrapper that uses RAJE core to implement the standalone wordprocessor. RAJE-app allows one to store RASH documents either in the file system or in online storages such as Github (as of 7 January 2018, still an experimental feature) and Dropbox (not implemented yet).

The main idea of this infrastructure is to keep the core separated from the wrapper, separated so as to enable the reuse of the editing capabilities of RAJE in different environments (within a Web application, imported in existing frameworks, etc.).


Download and try the last RAJE release. You have any feedback, question or you just want to contribute? Everything is really appreciate!

Latest release: 0.1.16 — Changelog