This repo "markdown-plus-plus" is a project to support Markdown syntax highlighting in Notepad++. It is done via various User Defined Language (UDL) XML files. All UDLs are carefully designed by human, rather than generated by machine.
You can simply consume the UDL XML file that matches your favorite theme, or config your own using the build system.
Thanks for encouragements and comments. This repo is not only for myself anymore. It's for everyone.
Love Notepad++? Need to write docs in Markdown? This repo is made for you.
- Markdown-plus-plus is a npm package now. You can fetch the UDL files in command line directly,
npx markdown-plus-plus --help
. - Build system relies on Node.js.
git clone
thennpm install
to develop this repo. Less dependency hell. - In v2, there are 2 builds for every theme: Modern and classic. Now, there are only 1 build. The main difference in classic build, asterisk-style bullet points, becomes an option in v3.
- Better file structure:
- You can find all UDL files in one single folder called
<udl\>
. - You can modify the config files in another folder called
<config\>
. - Filename for UDLs follows the pattern:
<markdown.[theme-name].udl.xml>
. - Filename for configs follows this pattern:
<markdown.[theme-name].config.json>
- You can find all UDL files in one single folder called
Your | Taste! |
---|---|
Default | Zenburn |
Bespin | Blackboard |
Deep Black | Obsidian |
Solarized | Solarized-light |
Twilight | Material |
Supports file extensions: .markdown
and .md
Tested: Notepad++ v7.9 64-bit (on Windows 10)
If you had installed Node.js in your system, you can use npx
command to get UDL file(s):
:: Check whether you have Node.js installed
node -v
:: Go to UDL folder of Notepad++. Usually...
cd %AppData%\Notepad++\userDefineLangs
:: Example: Download Zenburn UDL file
npx markdown-plus-plus zenburn
:: Read help for details
npx markdown-plus-plus --help
- Download the source code in latest release page. It should be a zip file.
- Open the zip file and go to
<udl\>
folder. - Copy a XML file of your favorite theme, and paste in
<userDefineLangs\>
folder of Notepad++. The directory is usually<%AppData%\Roaming\Notepad++\userDefineLangs\>
. - Restart Notepad++.
- Open and test with a Markdown file e.g. test/at-a-glance.md.
Enjoy!!
Need your input to solve the following problems:
_em text_
,__strong text__
and___em strong text___
only parse the first word because it will screw up some URLs such asexample__url
.- Cannot use asterisk-style bullet points (
* a \<li\> bullet point
). Instead, please write in- a bullet point
or+ a bullet point
. - Improve documentations. My English sucks. (*´ー`*)
- The GFM's strikethrough
~~like this~~
is still missing. Will do it later.
The best way to build your own UDL file is to fork this repo. You need to install Node.js in your system.
:: In your dev folder
git clone https://github.com/Edditoria/markdown-plus-plus.git
cd markdown-plus-plus
npm install
:: Play around. Finally, run the build script
npm run build
For details, please read the document: build-workflow.md
Options are reviewed in v3. In each config file in the config folder, you can adjust for your own build. Here are some examples:
Option | Descriptions |
---|---|
goodies.highlightHex |
Highlight HEX value. |
flags.transparentBg |
Make the text background being transparent. |
flags.asteriskUnorderedList |
Enable the markdown style of asterisk-style bullet points (* a \<li\> bullet point ). |
For details, please read the document: build-workflow.md
tl;tr For pull request, please merge from your new branch into my master branch (recommend enabling "Allow edits from maintainers"); Or, propose a file change in Github directly; Or, hit me a message via issue page or my social contacts.
For details, please kindly read CONTRIBUTING.md.
🍺 Thank you so much! 🙏
Copyright for portions of this repository are held by Thomas Smits since 2010 as part of his repository. All other copyright are held by Edditoria since 2012.
Code released under the MIT License. Docs released under Creative Commons.
As human-readable summary (but not a substitute for the license):
You can use it, share it, modify the code and distribute your work for private and commercial uses. If you like, please share your work with me. 🍕