Monod
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:
- Introducing Le lab with “Monod”, our Markdown Editor
- Le lab #2 — Offline-First, Document Sharing, Templates: Monod is Back (not in Black)
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.
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.