/monod

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

Primary LanguageJavaScriptMIT LicenseMIT

Monod

Circle CI

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

Usage

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

Deploy to Heroku

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 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 use Hot Module Replacement. You can override the default host and port through env (HOST, PORT).

You should 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 is supposed to read/write Monod's data. It defaults to ./data/ (so be sure to create this directory if you run 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 on why it 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 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.