Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
markdown-it-external-links
Advanced tools
Plugin for markdown-it that adds CSS classes to links that fall outside of the specified internal domain(s).
Plugin for markdown-it that adds CSS classes to links that fall outside of the specified internal domain(s).
Example input:
- [Internal Link A](/)
- [Internal Link B](//example.org)
- [Internal Link C](http://example.org)
- [Internal Link D](other-page.html)
- [Internal Link E](.././other-page.html)
- [External Link A](//example.com)
- [External Link B](http://example.com)
Output (without internal link class - default):
<ul>
<li><a href="/">Internal Link A</a></li>
<li><a href="//example.org">Internal Link B</a></li>
<li><a href="http://example.org">Internal Link C</a></li>
<li><a href="other-page.html">Internal Link D</a></li>
<li><a href=".././other-page.html">Internal Link E</a></li>
<li><a href="//example.com" class="external-link">External Link A</a></li>
<li><a href="http://example.com" class="external-link">External Link B</a></li>
</ul>
Output (with internal link class):
<ul>
<li><a href="/" class="internal-link">Internal Link A</a></li>
<li><a href="//example.org" class="internal-link">Internal Link B</a></li>
<li><a href="http://example.org" class="internal-link">Internal Link C</a></li>
<li><a href="other-page.html" class="internal-link">Internal Link D</a></li>
<li><a href=".././other-page.html" class="internal-link">Internal Link E</a></li>
<li><a href="//example.com" class="external-link">External Link A</a></li>
<li><a href="http://example.com" class="external-link">External Link B</a></li>
</ul>
$ npm install --save markdown-it-external-links
var md = require('markdown-it')();
var externalLinks = require('markdown-it-external-links');
md.use(externalLinks, {
externalClassName: "custom-external-link",
internalClassName: "custom-internal-link",
internalDomains: [ "example.org" ]
});
var input = '[Some External Link](http://example.com)';
var output = md.render(input);
console.log(output);
Option | Type | Default | Description |
---|---|---|---|
externalClassName | string | null | "external-link" | External class to use for external links. Specify a value of null to disable output. |
internalClassName | string | null | null | Internal class to use for external links. Specify a value of null to disable output. |
internalDomains | string[] | [] | An array of domains that are considered internal. Example Value: [ "example.org" ] |
externalTarget | string | "_self" | Target attribute for external links. |
internalTarget | string | "_self" | Target attribute for internal links. |
externalRel | string | null | Rel attribute for external links. |
internalRel | string | null | Rel attribute for internal links. |
This project is licensed under the MIT license (see LICENSE). To be in the best position to enforce these licenses the copyright status of this project needs to be as simple as possible. To achieve this the following terms and conditions must be met:
All contributed content (including but not limited to source code, text, image, videos, bug reports, suggestions, ideas, etc.) must be the contributors own work.
The contributor disclaims all copyright and accepts that their contributed content will be released to the public domain.
The act of submitting a contribution indicates that the contributor agrees with this agreement. This includes (but is not limited to) pull requests, issues, tickets, e-mails, newsgroups, blogs, forums, etc.
FAQs
Plugin for markdown-it that adds CSS classes to links that fall outside of the specified internal domain(s).
The npm package markdown-it-external-links receives a total of 555 weekly downloads. As such, markdown-it-external-links popularity was classified as not popular.
We found that markdown-it-external-links 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.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.