{"id":17124920,"url":"https://github.com/shellyln/mdne","last_synced_at":"2025-07-27T19:10:00.758Z","repository":{"id":34673765,"uuid":"182517738","full_name":"shellyln/mdne","owner":"shellyln","description":"Markdown Neo Edit - A simple markdown and code editor powered by Markdown-it, Ace and Carlo.","archived":false,"fork":false,"pushed_at":"2023-01-05T16:21:09.000Z","size":7685,"stargazers_count":5,"open_issues_count":10,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-17T13:20:20.610Z","etag":null,"topics":["ace","carlo","editor","lisp","liyad","lsx","markdown","markdown-it","menneu","pdf","puppeteer"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shellyln.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-21T10:06:41.000Z","updated_at":"2020-12-27T13:15:25.000Z","dependencies_parsed_at":"2023-01-15T08:31:04.838Z","dependency_job_id":null,"html_url":"https://github.com/shellyln/mdne","commit_stats":null,"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"purl":"pkg:github/shellyln/mdne","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellyln%2Fmdne","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellyln%2Fmdne/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellyln%2Fmdne/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellyln%2Fmdne/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shellyln","download_url":"https://codeload.github.com/shellyln/mdne/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellyln%2Fmdne/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266161494,"owners_count":23885902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ace","carlo","editor","lisp","liyad","lsx","markdown","markdown-it","menneu","pdf","puppeteer"],"created_at":"2024-10-14T18:43:41.724Z","updated_at":"2025-07-27T19:10:00.742Z","avatar_url":"https://github.com/shellyln.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# mdne (mdne-classic) - Markdown Neo Edit\n\u003cimg src=\"https://raw.githubusercontent.com/shellyln/mdne/master/docs/images/logo.svg?sanitize=true\" title=\"logo\" style=\"width: 200px\"\u003e\n\n### A simple markdown and code editor powered by [Markdown-it](https://github.com/markdown-it/markdown-it), [Ace](https://ace.c9.io/) and [Carlo](https://github.com/GoogleChromeLabs/carlo).\n\n\n\u003e ## ⚠️ We recommend migrating to [mdne-electron](https://github.com/shellyln/mdne-electron).  \n\u003e ### [Carlo](https://github.com/GoogleChromeLabs/carlo) is no longer maintained.\n\n\n[![npm](https://img.shields.io/npm/v/mdne.svg)](https://www.npmjs.com/package/mdne)\n[![GitHub release](https://img.shields.io/github/release/shellyln/mdne.svg)](https://github.com/shellyln/mdne/releases)\n[![.github/workflows/test.yml](https://github.com/shellyln/mdne/workflows/.github/workflows/test.yml/badge.svg)](https://github.com/shellyln/mdne/actions)\n[![GitHub forks](https://img.shields.io/github/forks/shellyln/mdne.svg?style=social\u0026label=Fork)](https://github.com/shellyln/mdne/fork)\n[![GitHub stars](https://img.shields.io/github/stars/shellyln/mdne.svg?style=social\u0026label=Star)](https://github.com/shellyln/mdne)\n\n\n\u003cimg src=\"https://raw.githubusercontent.com/shellyln/mdne/master/docs/images/scr-01.png\" title=\"screenshot\" style=\"width: 400px\"\u003e\n\n\n\u003e **Migrate from `v0.1.x`** (for Windows)  \n\u003e Please re-run `./make-shortcut.cmd`.\n\n\n## Features\n* Live preview of Markdown, HTML, [LSX](https://github.com/shellyln/liyad#what-is-lsx) formats.\n* Export Markdown, HTML, LSX into PDF or HTML.\n* Code highlighting.\n  * C#\n  * CSS\n  * Dockerfile\n  * Go\n  * GraphQL\n  * HTML\n  * JavaScript\n  * JSON\n  * JSON5\n  * JSX\n  * Latex\n  * Less\n  * Lisp\n  * Makefile\n  * Markdown\n  * Protobuf\n  * Python\n  * R\n  * Ruby\n  * Rust\n  * Sass\n  * Scss\n  * Shell script\n  * SQL\n  * SVG\n  * Tex\n  * TSX\n  * TypeScript\n  * XML\n  * YAML\n* Markdown extended syntax\n  * Many markdown-it plugins are enabled. See [here](https://github.com/shellyln/menneu#features).\n* Scripting and value expansion\n  * See [here](https://github.com/shellyln/menneu#lisp-block-expansion).\n* Full screen mode (F11)\n\n\n## Distributions and Integrations\n\n* [mdne-electron](https://github.com/shellyln/mdne-electron)\n  * Standalone offline desktop app for Windows/Mac/Linux.\n    * [Electron](https://electronjs.org/) app\n* [mdne online](https://github.com/shellyln/mdne-electron)\n  * Online markdown editor for Chrome/Chromium Edge/Firefox.\n    * [PWA](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps) (Progressive Web Apps)\n* [mdne-sf](https://github.com/shellyln/mdne-sf)\n  * Edit Salesforce record's field. (browser app)\n  * Markdown preview Visualforce page example\n* [mdne (mdne-classic)](https://github.com/shellyln/mdne)\n  * Offline desktop app for Google Chrome browser + Node.js.\n    * *This repository*\n    * [Carlo](https://github.com/GoogleChromeLabs/carlo) app\n* [mdne-for-kintone](https://github.com/shellyln/mdne-for-kintone)\n  * Edit kintone record's field. (browser app)\n\n\n## Install\n\n### Prerequirements\n* Google Chrome (latest)\n* Node\u003e=10\n\n### Install from NPM\n\n* Linux\n    ```sh\n    env PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=TRUE npm install -g mdne\n    ```\n\n* Windows\n    ```cmd\n    set PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=TRUE\n    npm install -g mdne\n    ```\n\n* Chrome OS (Chromebook / Chromebox) Crostini\n    ```sh\n    env PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=TRUE npm install -g mdne\n    cd\n    mkdir Desktop\n    ```\n\n### Create desktop and 'send to' menu shoorcuts (Windows)\n* Download source zip archive from [here](https://github.com/shellyln/mdne/archive/master.zip).\n* Extract zip archive and run `make-shortcut.cmd`.\n\n\n### Create desktop icon (Linux)\n* `mdne.desktop`\n```ini\n[Desktop Entry]\nVersion=1.0\nType=Application\nName=mdne\nComment=mdne\nExec=/home/(user name)/.nvm/versions/node/v??.??.??/bin/node /home/(user name)/.nvm/versions/node/v??.??.??/lib/node_modules/mdne/index.js %F\nIcon=/home/(user name)/.nvm/versions/node/v??.??.??/lib/node_modules/mdne/contents/favicon.svg\nPath=/home/(user name)/Desktop\nTerminal=false\nStartupNotify=false\nName[en_US]=mdne\n```\n\u003e Replace `(user name)` and `??.??.??` .\n\n## Run\n\n### Open blank editor:\n\n* Linux, Windows\n    ```sh\n    mdne\n    ```\n\n\n* Chrome OS (Chromebook / Chromebox) Crostini\n    ```sh\n    env MDNE_CHROME_CHANNEL_CHROMIUM=true mdne\n    ```\n    * `MDNE_CHROME_CHANNEL_CHROMIUM=TRUE` can alternatively be written to `.bashrc`.\n    * Chromium is downloaded locally the first time it run.\n\n### Open file:\n\n* Linux, Windows\n    ```sh\n    mdne README.md\n    ```\n\n* Chrome OS (Chromebook / Chromebox) Crostini\n    ```sh\n    env MDNE_CHROME_CHANNEL_CHROMIUM=true mdne README.md\n    ```\n    * `MDNE_CHROME_CHANNEL_CHROMIUM=TRUE` can alternatively be written to `.bashrc`.\n    * Chromium is downloaded locally the first time it run.\n\n\n\n## CLI\nPlease use [Ménneu](https://github.com/shellyln/menneu#use-cli) CLI.\n\n\n## Live demo\n\n[https://shellyln.github.io/mdne/](https://shellyln.github.io/mdne/)\n\n#### Open external files from live demo\n* Drop a local file into FileDropOpenDialog.\n* Set the target URL to a location hash.\n  * example: [react-dom.development.js](https://shellyln.github.io/mdne/#open.url=https%3A%2F%2Fcdnjs.cloudflare.com%2Fajax%2Flibs%2Freact-dom%2F16.7.0%2Fumd%2Freact-dom.development.js)\n    * Fetching files is restricted by the Same-Origin Policy.\n* Set zipped data to a location hash.\n  * example: [hello.md](https://shellyln.github.io/mdne/#filename=hello.md\u0026open.d=eJwtyjEOgCAMBdCdU3zjit6BuLh4CKQdiIWSSkK8vYnxzW_GziLqUajy5FzAnUsTRol2kY6KWAlJicGUuxqaDjYmnA-O_yy5e4TE392iia7uBTWXHe8)\n    * location hash is generated when `Save` or `SaveAs` commands are done.\n\n#### Live demo browser requirements\n* Google Chrome: latest\n* Firefox: latest\n\n#### Live demo restrictions\n* Rendering / exporting to PDF is not available.\n* Save and SaveAs commands download the file being edited.\n\n\n## ~~Deploying Live demo~~\n\n1. ~~Run `npm run manifest` after edit the `contents/*`.~~\n    * ~~New `contents/precache-manifest.yyyyy.js` will generate.~~\n1. ~~Remove the old `contents/precache-manifest.xxxxx.js`.~~\n1. ~~Edit `contents/service-worker.js` to change the reference of `contents/precache-manifest.yyyyy.js` file name.~~\n1. ~~Deploy the `contents/*`.~~\n\n\u003e See [mdne-electron #build-mdne-online-pwa-app](https://github.com/shellyln/mdne-electron#build-mdne-online-pwa-app).\n\n\n## Security warning\n\nExposing of Node side functions by RPC is enabled in preview iframe.  \n**DON'T OPEN links to untrusted sites from the preview.**  \nExposed functions have the ability to list / read / write local files.\n\n\u003e ## ⚠️ We recommend migrating to [mdne-electron](https://github.com/shellyln/mdne-electron).\n\n\n## License\n[ISC](https://github.com/shellyln/mdne/blob/master/LICENSE.md)  \nCopyright (c) 2019 Shellyl_N and Authors.\n\n----\n## Bundled softwares' license\n\n* [Ace](https://github.com/ajaxorg/ace): [license](https://github.com/ajaxorg/ace/blob/master/LICENSE) (BSD-3-Clause)\n* [Materialize](https://materializecss.com/): [license](https://github.com/Dogfalo/materialize/blob/v1-dev/LICENSE) (MIT)\n* [Normalize.css](https://necolas.github.io/normalize.css/): [license](https://github.com/necolas/normalize.css/blob/master/LICENSE.md) (MIT)\n* [React](https://reactjs.org/): [license](https://github.com/facebook/react/blob/master/LICENSE) (MIT)\n* [pako](https://github.com/nodeca/pako): [license](https://github.com/nodeca/pako/blob/master/LICENSE) (MIT + ZLIB)\n* [dialog-polyfill](https://github.com/GoogleChrome/dialog-polyfill): [license](https://github.com/GoogleChrome/dialog-polyfill/blob/master/LICENSE) (BSD-3-Clause)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshellyln%2Fmdne","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshellyln%2Fmdne","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshellyln%2Fmdne/lists"}