BoxLang 🚀 A New JVM Dynamic Language Learn More...

ColdBox Markdown

v3.6.0+1 Modules


Copyright Since 2005 ColdBox Platform by Luis Majano and Ortus Solutions, Corp
www.coldbox.org | www.ortussolutions.com


Welcome to the CBMarkdown Project

This module will give you markdown processing capabilities via the flexmark-java project: https://github.com/vsch/flexmark-java and full emoji support 🚀

License

Apache License, Version 2.0.

System Requirements

  • Lucee 5+
  • ColdFusion 2018+

Instructions

Just use the CommandBox to install or drop into your modules folder:

box install cbmarkdown

Models

The module registers the following mapping in WireBox: Processor@cbmarkdown. Which is the class you will use to process markdown into HTML. There is one simple function to call on the processor:

  • toHTML( required txt ) - Convert markdown text to HTML.

HTML to Markdown

You can also use our toMarkdown() function to convert any HTML to markdown equivalent.

Options

A subset of the flexmark options are supported. These can be configured in your module settings in your config/Coldbox.cfc via the modulesettings struct.

moduleSettings = {
	cbmarkdown = {
		// Looks for www or emails and converts them to links
		autoLinkUrls                  : true,
		// Creates anchor links for headings
		anchorLinks                   : true,
		// Set the anchor id
		anchorSetId                   : true,
		// Set the anchor id but also the name
		achorSetName                  : true,
		// Do we create the anchor for the full header or just before it. True is wrap, false is just create anchor tag
		anchorWrapText                : false,
		// The class(es) to apply to the anchor
		anchorClass                   : "anchor",
		// raw html prefix. Added before heading text, wrapped or unwrapped
		anchorPrefix                  : "",
		// raw html suffix. Added before heading text, wrapped or unwrapped
		anchorSuffix                  : "",
		// Enable youtube embedded link transformer
		enableYouTubeTransformer      : false,
		// default null, custom inline code open HTML
		codeStyleHTMLOpen             : "<code>",
		// default null, custom inline code close HTML
		codeStyleHTMLClose            : "</code>",
		// default "language-", prefix used for generating the <code> class for a fenced code block, only used if info is not empty and language is not defined in
		fencedCodeLanguageClassPrefix : "language-",
		// Table options
		tableOptions                  : {
			// Treat consecutive pipes at the end of a column as defining spanning column.
			columnSpans                 : true,
			// Whether table body columns should be at least the number or header columns.
			appendMissingColumns        : true,
			// Whether to discard body columns that are beyond what is defined in the header
			discardExtraColumns         : true,
			// Class name to use on tables
			className                   : "table",
			// When true only tables whose header lines contain the same number of columns as the separator line will be recognized
			headerSeparationColumnMatch : true
		}
	} // end markdown settings
};

Copyright Since 2005 ColdBox Framework by Luis Majano and Ortus Solutions, Corp www.ortussolutions.com


HONOR GOES TO GOD ABOVE ALL

Because of His grace, this project exists. If you don't like this, then don't read it, its not for you.

"Therefore being justified by faith, we have peace with God through our Lord Jesus Christ: By whom also we have access by faith into this grace wherein we stand, and rejoice in hope of the glory of God. And not only so, but we glory in tribulations also: knowing that tribulation worketh patience; And patience, experience; and experience, hope: And hope maketh not ashamed; because the love of God is shed abroad in our hearts by the Holy Ghost which is given unto us. ." Romans 5:5

THE DAILY BREAD

"I am the way, and the truth, and the life; no one comes to the Father, but by me (JESUS)" Jn 14:1-12

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.


Unreleased

3.6.0 - 2023-04-20

Added

  • Upgraded flexmark to latest stable 0.64.0 with all dependencies and extensions
  • New github actions
  • ColdBox 7 auto testing

[3.5.0] => 2022-MAY-18

Added

  • New module template updates
  • Add options for configuring code blocks and how they render thanks to @michaelborn
  • Migration to github actions

[3.4.0] => 2020-MAY-28

Added

  • Updated flexmark to 0.50.50
  • Added auto formatting thanks to cfformat
  • Auto-publishing of changelos and artifacts to github upon release
  • New Autolinking extension
  • New Autoanchor extension
  • New YouTube Transformer extension
  • New TOC extension
  • New TaskList extension
  • New Strikethrough extension
  • New Subscript extension

[3.3.0] => 2019-DEC-13

  • New module layout
  • New flexmark core v0.50.44 thanks to @michaelborn

[3.2.0] => 2018-MAR-22

  • Full Emoji support via the cbemoji library

[3.1.0] => 2018-MAR-08

  • Dropped ACF10 support
  • Fixes the appending of user options instead of default options always taking precedence
  • Added accessors to Processor so you can retrieve internal parser and renderer

[3.0.0] => 2017-JUL-26

  • Updated entire core to use Flexmark markdown processor
  • Added global options for processor

[2.0.1]

  • Unified workbench
  • Updated javaloader

[2.0.0]

[1.0.0]

  • Create first module version

$ box install cbmarkdown

No collaborators yet.
   
  • {{ getFullDate("2016-04-01T14:36:41Z") }}
  • {{ getFullDate("2023-04-20T17:53:42Z") }}
  • 8,972
  • 183,420