Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
showdown-highlight
Advanced tools
A Showdown extension for highlight the code blocks.
This package uses highlight.js
to highlight code blocks in Showdown output. :rocket:
# Using npm
npm install --save showdown-highlight
# Using yarn
yarn add showdown-highlight
const showdown = require('showdown')
, showdownHighlight = require("showdown-highlight")
;
// After requiring the module, use it as extension
let converter = new showdown.Converter({
// That's it
extensions: [showdownHighlight({
// Whether to add the classes to the <pre> tag, default is false
pre: true
// Whether to use hljs' auto language detection, default is true
, auto_detection: true
})]
});
// Now you can Highlight code blocks
let html = converter.makeHtml(`
## Highlighting Code with Showdown
Below we have a piece of JavaScript code:
\`\`\`js
function sayHello (msg, who) {
return \`\${who} says: msg\`;
}
sayHello("Hello World", "Johnny");
\`\`\`
`);
console.log(html);
// <h2 id="highlightingcodewithshowdown">Highlighting Code with Showdown</h2>
//
// <p>Below we have a piece of JavaScript code:</p>
//
// <pre><code class="js language-js"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">sayHello</span> (<span class="hljs-params">msg, who</span>) </span>{
// <span class="hljs-keyword">return</span> <span class="hljs-string">`<span class="hljs-subst">${who}</span> says: msg`</span>;
// }
// sayHello(<span class="hljs-string">"Hello World"</span>, <span class="hljs-string">"Johnny"</span>);
// </code></pre>
There are few ways to get help:
showdownHighlight()
Highlight the code in the showdown input.
Examples:
let converter = new showdown.Converter({
extensions: [showdownHighlight]
})
Enable the classes in the <pre>
element:
let converter = new showdown.Converter({
extensions: [showdownHighlight({ pre: true })]
})
If you want to disable language auto detection
feature of hljs, change auto_detection
flag as false
. With this option
turned off, showdown-highlight
will not process any codeblocks with no
language specified.
let converter = new showdown.Converter({
extensions: [showdownHighlight({ auto_detection: false })]
})
Have an idea? Found a bug? See how to contribute.
If you are using this library in one of your projects, add it in this list. :sparkles:
mdpdf
bloggify-markdown-highlight
github-readme-to-html
md-toy-blog
@kev_nz/publisher
@etermind/alex
@siradoc/siradoc
@web-native-js/chtml-cli
swanky
md-srv
docset-tools-markdown
callete
teroshdl2
ui_kitchenadmincenter
trumpdoc
@peersky/next-web3-chakra
mdpdf_jm
textbase
teroshdl
showdown-html
busi-ui
md-browse
markdown2dash
tutors-reader-lib
tutors-html-beta
tutors-html
examma-ray
steelsky
chimpsky
ember-showdown-highlight
showit
tutors-html-alpha
FAQs
A Showdown extension for highlight the code blocks.
The npm package showdown-highlight receives a total of 4,481 weekly downloads. As such, showdown-highlight popularity was classified as popular.
We found that showdown-highlight demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.