• Stars
    star
    7,733
  • Rank 4,921 (Top 0.1 %)
  • Language
    HTML
  • License
    MIT License
  • Created almost 13 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The last Markdown editor, ever.

Dillinger

The Last Markdown Editor, Ever

N|Solid

Build Status

Dillinger is a cloud-enabled, mobile-ready, offline-storage compatible, AngularJS-powered HTML5 Markdown editor.

  • Type some Markdown on the left
  • See HTML in the right
  • Magic

Features

  • Import a HTML file and watch it magically convert to Markdown
  • Drag and drop images (requires your Dropbox account be linked)
  • Import and save files from GitHub, Dropbox, Google Drive and One Drive
  • Drag and drop markdown and HTML files into Dillinger
  • Export documents as Markdown, HTML and PDF

Markdown is a lightweight markup language based on the formatting conventions that people naturally use in email. As John Gruber writes on the Markdown site

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.

Tech

Dillinger uses a number of open source projects to work properly:

And of course Dillinger itself is open source with a public repository on GitHub.

Installation

Dillinger requires Node.js v10+ to run.

Install the dependencies and devDependencies and start the server.

cd dillinger
npm i
node app

For production environments...

npm install --production
NODE_ENV=production node app

Plugins

Dillinger is currently extended with the following plugins. Instructions on how to use them in your own application are linked below.

Plugin README
Dropbox plugins/dropbox/README.md
GitHub plugins/github/README.md
Google Drive plugins/googledrive/README.md
OneDrive plugins/onedrive/README.md
Medium plugins/medium/README.md
Google Analytics plugins/googleanalytics/README.md

Development

Want to contribute? Great!

Dillinger uses Gulp + Webpack for fast developing. Make a change in your file and instantaneously see your updates!

Open your favorite Terminal and run these commands.

First Tab:

node app

Second Tab:

gulp watch

(optional) Third:

karma test

Building for source

For production release:

gulp build --prod

Generating pre-built zip archives for distribution:

gulp build dist --prod

Docker

Dillinger is very easy to install and deploy in a Docker container.

By default, the Docker will expose port 8080, 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:${package.json.version} .

This will create the dillinger image and pull in the necessary dependencies. Be sure to swap out ${package.json.version} with the actual version of Dillinger.

Once done, run the Docker image and map the port to whatever you wish on your host. In this example, we simply map port 8000 of the host to port 8080 of the Docker (or whatever port was exposed in the Dockerfile):

docker run -d -p 8000:8080 --restart=always --cap-add=SYS_ADMIN --name=dillinger <youruser>/dillinger:${package.json.version}

Note: --cap-add=SYS_ADMIN is required for PDF rendering.

Verify the deployment by navigating to your server address in your preferred browser.

127.0.0.1:8000

License

MIT

Free Software, Hell Yeah!

More Repositories

1

juke

Flossy way to build a user registration app/component with Express, Redis and Stylus. It's also a decent starting point for any Express app.
JavaScript
19
star
2

freebeernearme

Free Bear Near Me is an application for finding free beer near your current location. This is a demo for a presentation at SXSWi 2011.
JavaScript
17
star
3

did-the-site-change

A simple node.js + Twilio App that monitors a single website or multiple websites and sends an SMS to a list of admins upon a change.
JavaScript
13
star
4

Lingua

A universal translation application for multiple platforms and devices.
JavaScript
12
star
5

covid-19-news-sentiment

📰A free, open source service that aims to determine the sentiment of news and headlines around Coronavirus-19.
JavaScript
9
star
6

gunnar

Gunnar is a desktop app the allows you to drag and drop files and upload to your Rackspace cloud files server.
JavaScript
9
star
7

ristretto

Ristretto is an Optical Character Recognition library and API for fetching remote images from the web. It has nothing to do with Coffee.
JavaScript
9
star
8

robintrack-api

Unofficial node client for accessing the APIs called on Robintrack.net.
JavaScript
7
star
9

stock-exchange-symbols

📈 Fetch and aggregate up to date lists of stocks on the NYSE, NASDAQ and AMEX.
JavaScript
7
star
10

the-cvd-bot

🦠 A free, open source Telegram Bot for keeping up to date on the Coronavirus with the latest news and statistics.
JavaScript
6
star
11

api-backwardango

🔮 REST-ful API to evaluate whether a cryptoasset is in backwardation or contango.
JavaScript
5
star
12

openwebsxsw

Website for OpenWebSXSW.com
JavaScript
5
star
13

api-long-short-ratio

☁️ REST-ful API for fetching the Bitfinex Long vs Short ratio for BTC, ETH, LTC and XRP via Google Cloud Functions.
JavaScript
5
star
14

bitmex

🛠 Opinionated, Async/Await optimized Bitmex client.
JavaScript
5
star
15

photopipe

PhotoPipe is a node service that takes an URL of an image, writes it to disk and then can redirect or pipe it to another web service, such as one that only accepts binary uploads.
JavaScript
5
star
16

top-10-github-repos-by-language

Easily fetch the Top 10 GitHub Repos by Programming Language
JavaScript
4
star
17

basic-cloud-vision-api-nodejs

Node.js demo for Google Cloud Vision and face detection.
4
star
18

shawtie

A node.js based in-memory, URL shortener.
JavaScript
4
star
19

countdowner

Countdowner is a native iOS 5.0+ application that allows a user to set a timer. It is for educational purposes.
Objective-C
4
star
20

robintrack-api-utilities

🧰 A collection of utilities for building datasets and interacting with the Robintrack API.
JavaScript
4
star
21

tick

Todo List Manager running on Express.js
JavaScript
4
star
22

robinhood-api

📈 Unofficial node.js client for accessing the APIs called on Robinhood.com.
JavaScript
3
star
23

the-cvd-channel

🦠📣A free, open source Telegram Bot Broadcast Channel for keeping up to date on the Coronavirus with the latest news and statistics.
JavaScript
3
star
24

scaffold

👷🏼‍♂️ Opinionated CLI tool for generating Google Cloud Functions API scaffolding.
JavaScript
3
star
25

geogram

Capture Instagrams in a Geo-fenced region.
JavaScript
3
star
26

covidsentiment.com

🦠View the positive and negative sentiments of news headlines surrounding coronavirus. The site uses Microsoft Azure's Cognitive Services Text Analytics Machine Learning API to determine sentiment.
JavaScript
3
star
27

timezone-slack-bot-aws-lambda

A Slack bot that will give you the time from any city on Earth
JavaScript
2
star
28

espnlines

ESPNLines is a simple, realtime app that fetches the latest sports headlines from ESPN's API.
JavaScript
2
star
29

api-firestore

👷🏽‍♀️ CRUD operations for Google Cloud Functions APIs for any generic Collection in Firestore.
JavaScript
2
star
30

renegade-bacon-cookie-party

Renegade Bacon Cookie Party
2
star
31

kloutskout

Simple node.js webapp to get a Klout score by Twitter name
JavaScript
2
star
32

metric-long-short-ratios

Generate Bitfinex Long/Short Ratios via Bitfinex's official API.
JavaScript
2
star
33

Moschitta

A Titanium Desktop presentation app that was created in a couple of days to highlight my talk at TXJS on Rapid Prototyping with JavaScript.
JavaScript
2
star
34

Fail-Friday

Fail Friday is a Google Maps mashup of data from the FDIC for all the failed banks in the USA. It is updated in near "real-time" by utilizing YQL for scraping data from the FDIC's website every minute.
PHP
2
star
35

api-assets

🗃 An opinionated, standardized approach to obtaining assets from any cryptocurrency exchange from one REST-ful API.
JavaScript
1
star
36

api-maker-dao

⚒ Opinionated, REST-ful API to access data from MakerDAO via the mkr.tools website.
JavaScript
1
star
37

native-module-server

Native module directory server for AWS Lambda supported native node modules.
1
star
38

enhanced-fetch

🐕 Opinionated wrapper to the browser's default fetch method.
JavaScript
1
star
39

api-users

👷🏽‍♀️ CRUD operations for Google Cloud Functions APIs for a users Collection in Firestore.
JavaScript
1
star
40

node-canvas-prebuilt-for-lambda

🏗 Prebuilt version of node-canvas (2.6.0) for use with AWS Lambda (Amazon Linux AMI support).
JavaScript
1
star