Convert Figma logo to code with AI

joemccann logodillinger

The last Markdown editor, ever.

8,079
1,133
8,079
123

Top Related Projects

22,405

In-browser Markdown editor

50,751

📝A simple and elegant markdown editor, available for Linux, macOS and Windows.

23,246

The Markdown-based note-taking app that doesn't suck.

Quick Overview

Dillinger is an open-source, cloud-enabled, HTML5, Markdown editor. It provides a clean and intuitive interface for writing Markdown with real-time preview, supporting various export formats and cloud storage integrations.

Pros

  • Real-time preview of Markdown rendering
  • Multiple export options (HTML, PDF, etc.)
  • Integration with cloud storage services (Dropbox, Google Drive, etc.)
  • Customizable themes and layout options

Cons

  • Requires internet connection for full functionality
  • Limited offline capabilities
  • Some advanced Markdown features may not be supported
  • Occasional syncing issues with cloud services

Getting Started

To use Dillinger, simply visit the official website at https://dillinger.io/. No installation is required for the web version. However, if you want to run it locally or contribute to the project, follow these steps:

  1. Clone the repository:

    git clone https://github.com/joemccann/dillinger.git
    
  2. Install dependencies:

    cd dillinger
    npm install
    
  3. Start the development server:

    npm start
    
  4. Open your browser and navigate to http://localhost:8080 to use Dillinger locally.

Competitor Comparisons

22,405

In-browser Markdown editor

Pros of StackEdit

  • Offers offline editing capabilities
  • Supports multiple storage providers (Google Drive, Dropbox, GitHub)
  • Provides real-time collaboration features

Cons of StackEdit

  • Less frequent updates compared to Dillinger
  • More complex setup for self-hosting

Code Comparison

StackEdit (Vue.js component):

<template>
  <div class="editor">
    <textarea v-model="content"></textarea>
    <div v-html="renderedContent"></div>
  </div>
</template>

Dillinger (Angular.js controller):

angular.module('diligent.editor', [])
  .controller('Editor', function($scope) {
    $scope.content = '';
    $scope.renderedContent = '';
  });

Both StackEdit and Dillinger are popular Markdown editors with web-based interfaces. StackEdit offers more flexibility in terms of storage options and offline editing, making it suitable for users who need to work without an internet connection. It also provides real-time collaboration features, which can be beneficial for team projects.

On the other hand, Dillinger has a simpler setup process for self-hosting and receives more frequent updates. This can be advantageous for users who prioritize the latest features and improvements.

The code comparison shows that StackEdit uses Vue.js for its frontend, while Dillinger is built with Angular.js. This difference in frameworks may impact the development experience and performance of each application.

50,751

📝A simple and elegant markdown editor, available for Linux, macOS and Windows.

Pros of MarkText

  • Cross-platform desktop application (Windows, macOS, Linux)
  • Offers a WYSIWYG editing experience
  • Supports various export formats (PDF, HTML, etc.)

Cons of MarkText

  • Requires installation, not web-based like Dillinger
  • May have a steeper learning curve for new users

Code Comparison

MarkText (Electron-based app):

const { app, BrowserWindow } = require('electron')

function createWindow () {
  const win = new BrowserWindow({ width: 800, height: 600 })
  win.loadFile('index.html')
}

app.whenReady().then(createWindow)

Dillinger (Web-based app):

const express = require('express')
const app = express()

app.get('/', (req, res) => {
  res.sendFile(__dirname + '/index.html')
})

app.listen(3000, () => console.log('Server running on port 3000'))

Both projects are Markdown editors, but they differ in their implementation and target platforms. MarkText is a desktop application built with Electron, offering a more native experience across different operating systems. Dillinger, on the other hand, is a web-based editor that can be accessed from any browser without installation.

MarkText provides a richer set of features and export options, making it suitable for users who require more advanced functionality. Dillinger's web-based nature makes it more accessible for quick edits and collaborations, especially when working on different devices.

23,246

The Markdown-based note-taking app that doesn't suck.

Pros of Notable

  • Offers a more comprehensive note-taking experience with features like tags, attachments, and multi-notebook support
  • Provides a native desktop application for offline use and better performance
  • Supports advanced Markdown features and real-time rendering

Cons of Notable

  • Lacks real-time collaboration features present in Dillinger
  • May have a steeper learning curve due to its more extensive feature set
  • Requires installation, unlike Dillinger's web-based approach

Code Comparison

Notable (React component):

const Editor = ({ content, onChange }) => (
  <ReactMde
    value={content}
    onChange={onChange}
    selectedTab="write"
    generateMarkdownPreview={markdown => Promise.resolve(converter.makeHtml(markdown))}
  />
);

Dillinger (Angular component):

<div ng-model="documentContent" ui-codemirror="{
  lineWrapping : true,
  lineNumbers: false,
  mode: 'markdown',
  matchBrackets: true
}"></div>

While both projects use different frameworks, they both implement Markdown editors with preview functionality. Notable uses a React-based editor with more modern syntax, while Dillinger relies on AngularJS with a UI-CodeMirror directive for its editor implementation.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

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.

PluginREADME
Dropboxplugins/dropbox/README.md
GitHubplugins/github/README.md
Google Driveplugins/googledrive/README.md
OneDriveplugins/onedrive/README.md
Mediumplugins/medium/README.md
Google Analyticsplugins/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!