Dillinger is a cloud-enabled, mobile-ready, offline-storage, AngularJS powered HTML5 Markdown editor.
- Type some Markdown on the left
- See HTML in the right
The overriding design goal for Markdown's formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it's been marked up with tags or formatting instructions.
This text you see here is actually written in Markdown! To get a feel for Markdown's syntax, type some text into the left window and watch the results in the right.
Dillinger uses a number of open source projects to work properly:
- AngularJS - HTML enhanced for web apps!
- Ace Editor - awesome web-based text editor
- markdown-it - Markdown parser done right. Fast and easy to extend.
- Twitter Bootstrap - great UI boilerplate for modern web apps
- node.js - evented I/O for the backend
- Express - fast node.js network app framework @tjholowaychuk
- Gulp - the streaming build system
- keymaster.js - awesome keyboard handler lib by @thomasfuchs
- jQuery - duh
And of course Dillinger itself is open source with a public repository on GitHub.
You need Gulp installed globally:
$ npm i -g gulp
$ git clone [git-repo-url] dillinger $ cd dillinger $ npm i -d $ gulp build --prod $ NODE_ENV=production node app
Dillinger is currently extended with the following plugins
- Google Drive
Readmes, how to use them in your own application can be found here:
Want to contribute? Great!
Dillinger uses Gulp + Webpack for fast developing. Make a change in your file and instantanously see your updates!
Open your favorite Terminal and run these commands.
$ node app
$ gulp watch
$ karma start
Dillinger is very easy to install and deploy in a Docker container.
By default, the Docker will expose port 80, so change this within the Dockerfile if necessary. When ready, simply use the Dockerfile to build the image.
cd dillinger docker build -t <youruser>/dillinger:latest .
This will create the dillinger image and pull in the necessary dependencies. Once done, run the Docker and map the port to whatever you wish on your host. In this example, we simply map port 80 of the host to port 80 of the Docker (or whatever port was exposed in the Dockerfile):
docker run -d -p 80:80 --restart="always" <youruser>/dillinger:latest
Verify the deployment by navigating to your server address in your preferred browser.
N|Solid and NGINX
More details coming soon.
Change the path for the nginx conf mounting path to your full path, not mine!
- Write Tests
- Rethink Github Save
- Add Code Comments
- Add Night Mode
Free Software, Hell Yeah!