https://github.com/jdalrymple/markdown-it-codeblocks
Simple plugin for segmenting sample code and reference blocks in markdown processing
https://github.com/jdalrymple/markdown-it-codeblocks
markdown markdown-it-plugin nodejs
Last synced: 3 months ago
JSON representation
Simple plugin for segmenting sample code and reference blocks in markdown processing
- Host: GitHub
- URL: https://github.com/jdalrymple/markdown-it-codeblocks
- Owner: jdalrymple
- License: mit
- Created: 2017-08-24T20:28:51.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2019-04-23T14:19:01.000Z (about 6 years ago)
- Last Synced: 2025-03-07T21:44:11.042Z (4 months ago)
- Topics: markdown, markdown-it-plugin, nodejs
- Language: JavaScript
- Homepage:
- Size: 10.7 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# markdown-it-codeblocks
Splits up your header sections into samples and references ie :
````markdown
#heading1Here is some sample code
```code
var a = 8;
```description here
````
would get converted to:
```html
heading1
Here is some sample code
var a = 8
description here
```
If there are multiple code sections, it will only include up to the last consecuritve code section:
````markdown
#heading1Here is some sample code
```code
var a = 8;
``````code
var a = 2;
```Some more text
````
would get converted to:
```html
heading1
Here is some sample code
var a = 8
var a = 2
Some more text
```
But, if there is anything inbetween those sections like:
````markdown
#heading1Here is some sample code
```code
var a = 8;
```Some other markdown in between these two code sections
```code
var a = 2;
```Some more text
````
it would get converted to:
```html
heading1
Here is some sample code
var a = 8
Some other markdown inbetween these two code sections
var a = 2
Some more text
```
Works well when combined with the [markdown-it-header-sections](https://www.npmjs.com/package/markdown-it-header-sections) plugin!
# Table of Contents
* [Install](#install)
* [Usage](#usage)
* [API](#api)
* [License](#licence)
* [Changelog](#changelog)# Install
```
npm install -S markdown-it-codeblocks
```# Usage
With defaults:
```javascript
const MarkdownItCodeBlocks = require('markdown-it-codeblocks');
const MarkdownIt = require('markdown-it')
.use(MarkdownItCodeBlocks)
```With custom classes:
```javascript
const MarkdownItCodeBlocks = require('markdown-it-codeblocks');
const MarkdownIt = require('markdown-it')
.use(MarkdownItCodeBlocks, {sampleClass:'foo', referenceClass:'bar'})
```With level grouping:
```javascript
const MarkdownItCodeBlocks = require('markdown-it-codeblocks');
const MarkdownIt = require('markdown-it')
.use(MarkdownItCodeBlocks, {levelGrouping:2})
```This would group all headings within the 2 headings that are larger than 2 ie:
````markdown
## heading2aSome markdown
### inner heading
#### another inner heading
## heading2b
````
In this case, everything between `heading2a` and `heading2b` will be considered a single section
# API
MarkdownItCodeBlocks(md, options)
Parameters:
| Attribute | Type | Required | Description | Default |
| --------- | ---- | -------- | ----------- | ------- |
| `md` | String | yes | The input markdown | |
| `options.sampleClass` | String | no | Class assigned to the sample blocks | 'sample' |
| `options.referenceClass` | String | no | Class assigned to the reference blocks | 'reference' |
| `options.levelGrouping` | Integer | no | Allows you to group certain headings into one section. | null |# License
MIT
# Changelog
[1.0.0](https://github.com/jdalrymple/markdown-it-codeblocks/commit/6628f28aaa11d5f8382dee9c1adf506aea638bd0) (2017-09-02)
------------------
- Release