SkillAgentSearch skills...

Mdpjs

A somewhat functional JavaScript Markdown parser, affinity with formulas

Install / Use

/learn @UmemotoCtrl/Mdpjs
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

mdpjs: MarkdownParser

A somewhat functional JavaScript Markdown parser, affinity with formulas Web Site.

This script aims to use in Client-side and was made as alternative for existing js parsers because their do not work well with math formulas.

Probably the only option intended to be used in conjunction with mathjax (or katex)!

Feature

  • Do not react to markdown control symbols in formula and code blocks. The math keeps the original structure.
  • $$ ... $$ and \[ ... \] are supported for independent line formulas. Putting a line which should have only $$, \[, or \].

Usage

Add the following to header

<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/UmemotoCtrl/mdpjs@0.1.4/js/mdp.js"></script>

then execute

var mdp = makeMDP();
var html_text = mdp.render( markdown_test );

The script is pluggable, for examples,

mdp.addInlineSyntax ({	// this is sample for img
	tag: "IG",
	priority: 60,
	provisionalText: '<img url="$2" alt="$1"></img>',
	matchRegex: new RegExp("!\\[(.+?)\\]\\((.+?)\\)", 'g'),
	converter: function ( argBlock ) {
		return null;
	},
	convertedHTML: new Array()
});
mdp.addBlockSyntax ({	// this is sample for Setext headings
	tag: "SH",
	priority: 60,
	provisionalText: mdp.config.delimiter+"SH"+mdp.config.delimiter,	// should include delimiter+tag+delimiter
	matchRegex: new RegExp("^.+\\n *=+[ =]*=+ *(?=\\n)", 'gm'),
	converter: function ( argBlock ) {
		var temp = argBlock.replace(/"/g, '')
			.replace( new RegExp('^ *(.+)\\n.*$'), '<h1 id="$1">$1</h1>' );
		return mdp.mdInlineParser(temp, null);
	},
	convertedHTML: new Array()
});
View on GitHub
GitHub Stars18
CategoryDevelopment
Updated4mo ago
Forks3

Languages

JavaScript

Security Score

92/100

Audited on Nov 20, 2025

No findings