@tryghost/mg-shortcodes
v0.2.18
Published
A barebones shortcode parser that handles edge cases.
Downloads
66
Maintainers
Keywords
Readme
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.
git clone
this repo &cd
into it as usual- 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.