Skip to content
/ mdne Public

Markdown Neo Edit - A simple markdown and code editor powered by Markdown-it, Ace and Carlo.

License

Notifications You must be signed in to change notification settings

shellyln/mdne

Repository files navigation

mdne (mdne-classic) - Markdown Neo Edit

A simple markdown and code editor powered by Markdown-it, Ace and Carlo.

⚠️ We recommend migrating to mdne-electron.

Carlo is no longer maintained.

npm GitHub release .github/workflows/test.yml GitHub forks GitHub stars

Migrate from v0.1.x (for Windows)
Please re-run ./make-shortcut.cmd.

Features

  • Live preview of Markdown, HTML, LSX formats.
  • Export Markdown, HTML, LSX into PDF or HTML.
  • Code highlighting.
    • C#
    • CSS
    • Dockerfile
    • Go
    • GraphQL
    • HTML
    • JavaScript
    • JSON
    • JSON5
    • JSX
    • Latex
    • Less
    • Lisp
    • Makefile
    • Markdown
    • Protobuf
    • Python
    • R
    • Ruby
    • Rust
    • Sass
    • Scss
    • Shell script
    • SQL
    • SVG
    • Tex
    • TSX
    • TypeScript
    • XML
    • YAML
  • Markdown extended syntax
    • Many markdown-it plugins are enabled. See here.
  • Scripting and value expansion
  • Full screen mode (F11)

Distributions and Integrations

  • mdne-electron
    • Standalone offline desktop app for Windows/Mac/Linux.
  • mdne online
    • Online markdown editor for Chrome/Chromium Edge/Firefox.
      • PWA (Progressive Web Apps)
  • mdne-sf
    • Edit Salesforce record's field. (browser app)
    • Markdown preview Visualforce page example
  • mdne (mdne-classic)
    • Offline desktop app for Google Chrome browser + Node.js.
      • This repository
      • Carlo app
  • mdne-for-kintone
    • Edit kintone record's field. (browser app)

Install

Prerequirements

  • Google Chrome (latest)
  • Node>=10

Install from NPM

  • Linux

    env PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=TRUE npm install -g mdne
  • Windows

    set PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=TRUE
    npm install -g mdne
  • Chrome OS (Chromebook / Chromebox) Crostini

    env PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=TRUE npm install -g mdne
    cd
    mkdir Desktop

Create desktop and 'send to' menu shoorcuts (Windows)

  • Download source zip archive from here.
  • Extract zip archive and run make-shortcut.cmd.

Create desktop icon (Linux)

  • mdne.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=mdne
Comment=mdne
Exec=/home/(user name)/.nvm/versions/node/v??.??.??/bin/node /home/(user name)/.nvm/versions/node/v??.??.??/lib/node_modules/mdne/index.js %F
Icon=/home/(user name)/.nvm/versions/node/v??.??.??/lib/node_modules/mdne/contents/favicon.svg
Path=/home/(user name)/Desktop
Terminal=false
StartupNotify=false
Name[en_US]=mdne

Replace (user name) and ??.??.?? .

Run

Open blank editor:

  • Linux, Windows

    mdne
  • Chrome OS (Chromebook / Chromebox) Crostini

    env MDNE_CHROME_CHANNEL_CHROMIUM=true mdne
    • MDNE_CHROME_CHANNEL_CHROMIUM=TRUE can alternatively be written to .bashrc.
    • Chromium is downloaded locally the first time it run.

Open file:

  • Linux, Windows

    mdne README.md
  • Chrome OS (Chromebook / Chromebox) Crostini

    env MDNE_CHROME_CHANNEL_CHROMIUM=true mdne README.md
    • MDNE_CHROME_CHANNEL_CHROMIUM=TRUE can alternatively be written to .bashrc.
    • Chromium is downloaded locally the first time it run.

CLI

Please use Ménneu CLI.

Live demo

https://shellyln.github.io/mdne/

Open external files from live demo

  • Drop a local file into FileDropOpenDialog.
  • Set the target URL to a location hash.
  • Set zipped data to a location hash.
    • example: hello.md
      • location hash is generated when Save or SaveAs commands are done.

Live demo browser requirements

  • Google Chrome: latest
  • Firefox: latest

Live demo restrictions

  • Rendering / exporting to PDF is not available.
  • Save and SaveAs commands download the file being edited.

Deploying Live demo

  1. Run npm run manifest after edit the contents/*.
    • New contents/precache-manifest.yyyyy.js will generate.
  2. Remove the old contents/precache-manifest.xxxxx.js.
  3. Edit contents/service-worker.js to change the reference of contents/precache-manifest.yyyyy.js file name.
  4. Deploy the contents/*.

See mdne-electron #build-mdne-online-pwa-app.

Security warning

Exposing of Node side functions by RPC is enabled in preview iframe.
DON'T OPEN links to untrusted sites from the preview.
Exposed functions have the ability to list / read / write local files.

⚠️ We recommend migrating to mdne-electron.

License

ISC
Copyright (c) 2019 Shellyl_N and Authors.


Bundled softwares' license