/monod

:notebook: Our cool, secure, and offline-first Markdown editor.

Primary LanguageJavaScriptMIT LicenseMIT

Monod

Circle CI

Build Status


Hi! I'm Monod, the Markdown Editor!

Monod is a (relatively) secure and offline-first Markdown editor we have built at TailorDev in order to learn React.js (and a bunch of other JavaScript tools and libraries). We dedicated two Le lab sessions to build the foundations of Monod:


Usage

Either use our public instance at: https://monod.lelab.tailordev.fr/, or self-host Monod at home, on your server, or even on Heroku:

Deploy to Heroku

Documentation

Documentation can be found in the doc/ directory.

Installation

Production

$ git clone https://github.com/TailorDev/monod.git
$ npm install # will run `npm run build`
$ npm prune --production

We use this Dockerfile to run Monod in production (which runs npm run start from the Monod root directory).

Development

$ git clone https://github.com/TailorDev/monod.git
$ npm install
$ npm run dev

The last command runs the development server at http://localhost:8080, and uses Hot Module Replacement. You can override the default host and port through the env variables HOST and PORT.

You can also start the server by running:

$ MONOD_DATA_DIR=/path/to/data npm run start

MONOD_DATA_DIR is an environment variable that configures where the server reads and writes Monod's data. It defaults to ./data/ (so be sure to create that directory if you start the server with just npm run start).

You are all set!

Other Commands

npm run build

Builds the client-side application in build/ (production ready)

npm run stats

Webpack build + generate a JSON file with metrics. We blogged about why this can be useful.

npm run lint

Runs ESLint.

npm run lint:fix

Fix all ESLint problems.

Requirements

We use node 5.8+ and npm 3.7+.

Contributing

Please, see the CONTRIBUTING file.

Running the Tests

$ npm run test

You can also "watch" them:

$ npm run test:watch

Code coverage is available by running:

$ npm run cov

Contributor Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. See CODE_OF_CONDUCT file.

License

Monod is released under the MIT License. See the bundled LICENSE file for details.