Skip to content

An MFM parser implementation with PEG.js

License

Notifications You must be signed in to change notification settings

TeamOrangeServer/a-mfm.js

 
 

Repository files navigation

mfm.js

An MFM parser implementation with PEG.js. Try it out!

Test codecov

NPM

Installation

npm i mfm-js

Usage

Please see docs for the detail.

TypeScript:

import * as mfm from 'mfm-js';

const inputText =
`<center>
Hello $[tada everynyan! 🎉]

I'm @ai, A bot of misskey!

https://github.com/syuilo/ai
</center>`;

// Generate a MFM tree from the MFM text.
const mfmTree = mfm.parse(inputText);

// Generate a MFM tree from the MFM plain text.
const plainMfmTree = mfm.parsePlain('I like the hot soup :soup:​');

// Reverse to a MFM text from the MFM tree.
const text = mfm.toString(mfmTree);

Develop

1. Clone

git clone https://github.com/misskey-dev/mfm.js.git

2. Install packages

cd mfm.js
npm i

3. Build

npm run build

Use the interactive CLI parser

full parser:

npm run parse

plain parser:

npm run parse-plain

License

This software is released under the MIT License.

About

An MFM parser implementation with PEG.js

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 85.1%
  • PEG.js 13.7%
  • JavaScript 1.2%