Socket
Book a DemoInstallSign in
Socket

posthtml-markdownit

Package Overview
Dependencies
Maintainers
3
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

posthtml-markdownit

A PostHTML plugin to transform markdown using markdown-it

Source
npmnpm
Version
1.3.1
Version published
Weekly downloads
21K
5.02%
Maintainers
3
Weekly downloads
 
Created
Source

posthtml-markdownit

Transform markdown using markdown-it

Version License Build Downloads

Introduction

This plugin converts Markdown to HTML using markdown-it.

Before:

<markdown>
  # Heading 1
  ---

  Paragraph with some text

  *Italic*
  __Bold__

  - List item 1
  - List item 2
  - List item 3
</markdown>

After:

<h1>Heading 1</h1>
<hr>
<p>Paragraph with some text</p>
<p><em>Italic</em>
<strong>Bold</strong></p>
<ul>
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
</ul>

Install

$ npm i -D posthtml-markdownit

Usage

const posthtml = require('posthtml')
const markdown = require('posthtml-markdownit')

posthtml([
    markdown()
  ])
  .process('<markdown># Test</markdown>')
  .then(result => console.log(result.html))

  // <h1>Test</h1>

Importing files

You can import and render Markdown files:

Before:

<markdown src="./README.md">
  # Imported
</markdown>

After:

<!-- contents of README.md here -->
<h1>Imported</h1>

Syntax

Tags

Both <markdown> and <md> tags are suported.

Before:

<md>
  # Heading 1
</md>

After:

<h1>Heading 1</h1>

By default, the tags are removed. See the tag attribute if you need a wrapping tag around your Markdown content.

Attributes

You can also use markdown or md attributes on any element:

Before:

<div md>
  # Heading 1
</div>

After:

<h1>Heading 1</h1>

tag

You can use a tag attribute to wrap the resulting markup in a tag:

Before:

<md tag="section">
  # Heading 1
</md>

After:

<section>
  <h1>Heading 1</h1>
</section>

inline

You can mark the content to be rendered inline. This is helpful if you're including a file that will be used as an inline element and don't want the enclosing p tags.

Before:

<p class="example">
  <markdown src="./example.md" inline>
    Imported
  </markdown>
</p>

After:

<p class="example">Imported</p>

Instead of:

<p class="example">
  <p>Imported</p>
</p>

Options

root

Type: string
Default: ./

A path relative to which markdown files are imported.

encoding

Type: string
Default: utf8

Encoding for imported Markdown files.

markdownit

Type: object
Default: {}

Options passed to markdown-it. See the available options.

plugins

Type: array
Default: []

Plugins for markdown-it.

Example:

markdown({
  plugins: [{
    plugin: require('markdown-it-emoji'),
    options: {} // Options for markdown-it-emoji
  }]
})

Keywords

html

FAQs

Package last updated on 15 Dec 2022

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