0.2.18 • Published 21 days ago
@tryghost/mg-shortcodes v0.2.18
Shortcodes
A barebones shortcode parser that handles edge cases.
Install
npm install @tryghost/mg-shortcodes --save
or
yarn add @tryghost/mg-shortcodes
Usage
// Import the class
import Shortcodes from '@tryghost/mg-shortcodes';
// Create a new instance
const shortcodes = new Shortcodes();
// Handle [link] shortcodes
shortcodes.add('link', ({attrs, content}) => {
return `<a href="${attrs.url}">${content}</a>`;
});
// [abc color="red"]<p>Full post</p>[def]<p>Free excerpt</p>[/abc]
shortcodes.addWitSplit('abc', 'def', 0, ({content}) => {
return content; // <p>Full post</p>
});
// Unwrap [block] shortcodes
shortcodes.unwrap('block');
// You can add & unwrap as many shortcodes as you like. The order is not important.
const content = `[block][link url="https://example.com"]Hello[/link][/block]`;
// Parse the content and return the updated content
const updatedContent = shortcodes.parse(content);
// <a href="https://example.com">Hello</a>
Develop
This is a mono repository, managed with lerna.
Follow the instructions for the top-level repo.
1. git clone
this repo & cd
into it as usual
2. Run yarn
to install top-level dependencies.
Run
yarn dev
Test
yarn lint
run just eslintyarn test
run lint and testsyarn benchmark
run benchmarks
Copyright & License
Copyright (c) 2013-2023 Ghost Foundation - Released under the MIT license.
0.2.18
21 days ago
0.2.17
2 months ago
0.2.16
4 months ago
0.2.15
5 months ago
0.2.14
5 months ago
0.2.13
7 months ago
0.2.12
7 months ago
0.2.11
7 months ago
0.2.10
9 months ago
0.2.9
9 months ago
0.2.8
10 months ago
0.2.7
11 months ago
0.2.6
1 year ago
0.2.5
1 year ago
0.2.3
1 year ago
0.2.2
1 year ago
0.2.4
1 year ago
0.2.1
1 year ago
0.2.0
1 year ago
0.1.3
1 year ago
0.1.2
1 year ago
0.1.1
1 year ago