diff options
Diffstat (limited to 'plugins/jetpack/extensions/blocks/markdown/renderer.js')
-rw-r--r-- | plugins/jetpack/extensions/blocks/markdown/renderer.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/plugins/jetpack/extensions/blocks/markdown/renderer.js b/plugins/jetpack/extensions/blocks/markdown/renderer.js new file mode 100644 index 00000000..ae87568a --- /dev/null +++ b/plugins/jetpack/extensions/blocks/markdown/renderer.js @@ -0,0 +1,28 @@ +/** + * External dependencies + */ +import { __ } from '@wordpress/i18n'; +import MarkdownIt from 'markdown-it'; +import { RawHTML } from '@wordpress/element'; + +/** + * Module variables + */ +const markdownConverter = new MarkdownIt(); +const handleLinkClick = event => { + if ( event.target.nodeName === 'A' ) { + const hasConfirmed = window.confirm( + __( 'Are you sure you wish to leave this page?', 'jetpack' ) + ); + + if ( ! hasConfirmed ) { + event.preventDefault(); + } + } +}; + +export default ( { className, source = '' } ) => ( + <RawHTML className={ className } onClick={ handleLinkClick }> + { source.length ? markdownConverter.render( source ) : '' } + </RawHTML> +); |