Skip to content

Instantly share code, notes, and snippets.

Last active May 25, 2022 11:55
  • Star 7 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
Use marked and prism.js to parse markdown and add syntax highlighting in Node.js
// Versions: marked v0.6.2, prismjs v1.15.0
let marked = require('marked');
let prism = require('prismjs');
let loadLanguages = require('prismjs/components/');
loadLanguages(['javascript', 'jsx', 'css', 'markup', 'bash', 'json']);
highlight: function(code, lang) {
if (prism.languages[lang]) {
return prism.highlight(code, prism.languages[lang], lang);
} else {
return code;
let someMarkdown = "```javascript\nlet x = 2;```";
let html = marked.parse(someMarkdown)
Copy link

Worked fine! Thanks! Just made a small change: used loadLanguages() with no parameters so all of them were loaded and I don't need to worry about which languages I may need in the future.

Copy link

Now the library says, "loadLanguages is not a function"

Copy link

NoelTheis commented Nov 8, 2021

For me at least, the example was not working because marked does not seem to recognize ```javascript\nlet x = 2;``` as a proper code block?
It only works for me with a line break before the closing "```" : ```javascript\nlet x = 2;\n```

Leaving this in case someone else stumbles upon this

Copy link

lai32290 commented Mar 7, 2022

Thanks! it works!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment