Giter Site home page Giter Site logo

3rdevai / markdown-plus-plus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from edditoria/markdown-plus-plus

0.0 0.0 0.0 2.21 MB

Markdown syntax highlighting for Notepad++, by customized UDL file (user defined language)

License: MIT License

JavaScript 100.00%

markdown-plus-plus's Introduction

Markdown Syntax Highlighting for Notepad++

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.

Screenshots

Your Taste!
Markdown in Default Theme of Notepad++ Markdown in Zenburn Theme of Notepad++
Default Zenburn
Markdown in Bespin Theme of Notepad++ Markdown in Blackboard Theme of Notepad++
Bespin Blackboard
Markdown in Deep Black Theme of Notepad++ Markdown in Obsidian Theme of Notepad++
Deep Black Obsidian
Markdown in Solarized Theme of Notepad++ Markdown in Solarized-light Theme in Notepad++
Solarized Solarized-light
Markdown in Twilight Theme of Notepad++ Markdown in Material Theme in Notepad++
Twilight Material

Supports file extensions: .markdown and .md
Tested: Notepad++ v8.4.4 64-bit on Windows 10

Usage

Node.js

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 Solarized-light UDL file
npx markdown-plus-plus solarized-light

:: Example: Download Solarized UDL file for Dark Mode
npx markdown-plus-plus solarized --dark

:: Read help for details
npx markdown-plus-plus --help

You can choose to install this package in your system:

:: Enable `mpp` command instead of `npx markdown-plus-plus`...
npm install --global markdown-plus-plus

:: List all themes
mpp --list

:: Example: Download Solarized-light UDL file
mpp solarized-light

:: Example: Download Solarized UDL file for Dark Mode
mpp solarized --dark

:: Update this package
npm update markdown-plus-plus

Download Manually

  1. Download the source code in latest release page. It should be a zip file.
  2. Open the zip file and go to <udl\> folder.
  3. Copy a XML file of your favorite theme, and paste in <userDefineLangs\> folder of Notepad++. The directory is usually <%AppData%\Notepad++\userDefineLangs\>.
  4. Restart Notepad++.
  5. Open and test with a Markdown file e.g. test/at-a-glance.md.

Enjoy!!

Dark Mode

Notepad++ features Dark Mode with great UDL enhancements since v8.1.3. In short, you may want 2 files:

:: Make sure you are running mpp v3.4+
mpp --version

:: Go to UDL folder of Notepad++. Usually...
cd %AppData%\Notepad++\userDefineLangs

:: Download Solarized UDL file
mpp solarized

:: Download Solarized UDL file for Dark Mode,
:: even though you use the same theme
mpp solarized --dark

NPP will pick up the correct file for dark mode. Here're some conventions in this package:

Normal Dark Mode
Command mpp <theme-name> mpp <theme-name> --dark
Filename <markdown.theme-name.udl.xml> <markdown.theme-name.dark.udl.xml>
UDL name Theme Name (markdown) Theme Name [markdown]

Limitations

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 as example__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.

If Notepad++ doesn't redraw your current markdown file(s), please re-open the NPP application and/or re-open the markdown file. Upgrade NPP may help.

Build Your Own UDL Files

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

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. ⚠️ Use it with caution
flags.asteriskUnorderedList Enable the markdown style of asterisk-style bullet points (* a \<li\> bullet point). ⚠️ Use it with caution

For details, please read the document: build-workflow.md

Key Changes from v2 to v3

  • 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 then npm 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>

Contribution

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 and License

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. 🍕

markdown-plus-plus's People

Contributors

edditoria avatar talllguy avatar alderete-sfdc avatar raffaelemorganti avatar theodus2009 avatar borekon avatar andrewhu-uw avatar ohar avatar ronjouch avatar thomasleveil avatar jonmoon74 avatar misstickles avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.