Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

markdown-it-external-links

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

markdown-it-external-links

Plugin for markdown-it that adds CSS classes to links that fall outside of the specified internal domain(s).

  • 0.0.6
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
584
decreased by-25.32%
Maintainers
1
Weekly downloads
 
Created
Source

npm version Dependency Status devDependency Status

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>

Install

$ npm install --save markdown-it-external-links

Usage

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);

Options

OptionTypeDefaultDescription
externalClassNamestring | null"external-link"External class to use for external links. Specify a value of null to disable output.
internalClassNamestring | nullnullInternal class to use for external links. Specify a value of null to disable output.
internalDomainsstring[][]An array of domains that are considered internal. Example Value: [ "example.org" ]
externalTargetstring"_self"Target attribute for external links.
internalTargetstring"_self"Target attribute for internal links.
externalRelstringnullRel attribute for external links.
internalRelstringnullRel attribute for internal links.

Contribution Agreement

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.

Keywords

FAQs

Package last updated on 08 Oct 2016

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc