markdown-it-conditional-render
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

markdown-it-conditional-render

build

English | 中文

Markdown It conditional rendering plugin, inspired by markdown-it-condition, the original repository has been removed or moved, but the compiled and compressed code is still available in NPM and has been extracted from lib/markdown-it-condition.js.

Demo

⚙️ Options

  • ruleNamestring
    • Default: condition
    • Custom rule name
  • ifMarkerstring
    • Default: ::if
    • Judging from here, if branching condition
  • elseIfMarkerstring
    • Default: ::elseif
    • else if branching condition
  • elseMarkerstring
    • Default: ::else
    • else branching condition
  • endIfMarkerstring
    • Default: ::endif
    • End of judgment
  • validate(condition: string): boolean
    • Preprocess the original text and verify the branching conditions in the text
    • Default returns true
  • evaluate(condition: string, value: any): boolean
    • Parse the actual parameters and remove the text that does not meet the conditions

    • The default processing is as follows:

      function evaluate(condition: string, value: any) {
      	let element = value;
      	condition.split(".").forEach((field) => {
      		element = element[field];
      	});
      
      	if (!!element) {
      		return true;
      	}
      
      	return false;
      }

The full usage of each parameter by default is shown in the example

📚 Example

const MarkdownIt = require("markdown-it")
const markdownItEngine = new MarkdownIt();
const markdownItConditionalRender = require("markdown-it-conditional-render");

markdownItEngine.use(markdownItConditionalRender);

const res = markdownItEngine.render(
  `
::if flag.value

*This text will be shown*

::else

*This text won't

::endif
`,
{
  flag: {
    value: true,
  },
});

console.log(res);

🔧 Develop

$ git clone https://github.com/palmcivet/markdown-it-conditional-render.git
$ cd ./markdown-it-conditional-render
$ pnpm add
$ pnpm run build

⚖️ License

MIT

Package Sidebar

Install

npm i markdown-it-conditional-render

Weekly Downloads

49

Version

0.1.0

License

MIT

Unpacked Size

15.4 kB

Total Files

8

Last publish

Collaborators

  • palmcivet