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

markdown-it-classy

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

markdown-it-classy

Plugin for markdown-it - add classes to your markdown

  • 0.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
143
increased by5.15%
Maintainers
1
Weekly downloads
 
Created
Source

markdown-it-classy

This is a plugin for the markdown-it markdown parser.

Need to style some text written with markdown but are lacking that extra oomph? Plug in markdown-it-classy.

Install

$ npm install --save markdown-it-classy

or, if using bower:

$ bower install --save markdown-it-classy

or, just grab dist/markdown-it-classy.js and add it to your project.

Plug

For NodeJS and other environments that expose require:

var classy = require("markdown-it-classy"),
  MarkdownIt = require("markdown-it"),
  md = new MarkdownIt();

md.use(classy);

If you're using markdown-it-classy in the browser without require support, you can find it on the global object:

var classy = window.markdownItClassy;

md.use(classy);

Use

Anything in curly brackets ({}) gets interpreted as a class string for that element.

This is paragraph 1.

This is paragraph 2 and I wish there was a way to make it blue.
{blue}

converts to:

<p>This is paragraph 1.</p>

<p class="blue">This is paragraph 2 and I wish there was a way to make it blue.</p>

Go crazy (or not)

# All kinds of headings work! {classy}

## Atx... {classy} ##

... and Setext {classy}
---

_em {classy}_ and __strong {classy}__ are supported as well.
{classy}

- so
- are
- ul tags
{classy}

> blockquotes?
> {classy}
>
> why not!
{classy}

converts to:

<h1 class="classy">All kinds of headings work!</h1>

<h2 class="classy">Atx...</h2>

<h2 class="classy">... and Setext</h2>

<p class="classy"><em class="classy">em</em> and <strong class="classy">strong</strong> are supported as well.

<ul class="classy">
	<li>so</li>
	<li>are</li>
	<li>ul tags</li>
</ul>

<blockquote class="classy">
	<p class="classy">blockquotes?</p>
	<p>why not!</p>
</blockquote>

Very classy indeed!

Nested elements

Because of the way the CommonMark spec keeps track of nested elements (eg. a paragraph inside a blockquote), there is a slight gotcha when it comes to specifying classes for one or the other. So while adding classes to paragraphs only is straightforward:

Something or other. {someclass}
                                   =>     <p class="someclass">Something or other.</p>
Something or other.
{someclass}

with blockquotes, the situation is a bit more involved:

> Something or other. {someclass}  =>     <blockquote><p class="someclass">Something or other.</p></blockquote>

HOWEVER!

> Something or other.
{someclass}
                                   =>     <blockquote class="someclass"><p>Something or other.</p></blockquote>
> Something or other.
> {someclass}

So basically, if the class statement is after a newline, it gets applied to the outer element, and if it's inline, it's applied to the inner element.

The same applies for lists:

- something {item-class-one}
- other {item-class-two}           =>     <ul class="list-class"><li class="item-class-one">something</li><li class="item-class-two">other</li><ul>
{list-class}

Disclaimer

This purposefully doesn't conform to any spec or discussion related to CommonMark. It's only ever useful if you want to add classes to some Markdown and nothing else. A possible use case could be if you wanted to give users a very limited styling capability beyond em and strong.

Keywords

FAQs

Package last updated on 22 Jul 2015

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