No description
Find a file
2021-06-05 18:06:11 +09:00
.github/workflows Update ci.yml 2021-06-05 16:01:50 +09:00
docs update doc 2021-06-05 18:05:14 +09:00
src disallow a hashtag with only numbers 2021-06-05 17:30:23 +09:00
test Add PlainParser tests 2021-06-05 16:46:54 +09:00
test-d refactor: rename getNodeByType --> NodeType 2021-03-30 22:59:14 +09:00
.editorconfig update CI configuration 2021-04-01 11:37:44 +09:00
.gitignore update iroiro 2021-03-17 15:24:33 +09:00
LICENSE update iroiro 2020-02-16 23:27:25 +09:00
package.json v0.17.0 2021-06-05 17:50:59 +09:00
README.md update readme 2021-04-18 20:14:47 +09:00
tsconfig.json update iroiro 2021-03-17 15:24:33 +09:00

mfm.js

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

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.