No description
Find a file
marihachi aa893a8477
implement plain syntax (#114)
* implement plain syntax

* public api

* plain syntax

* public api

* plain syntax

* Update test/parser.ts

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* plain parser -> simple parser

* nomfm -> plain

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2022-06-07 23:41:09 +09:00
.github Create config.yml 2021-08-28 18:02:05 +09:00
docs implement plain syntax (#114) 2022-06-07 23:41:09 +09:00
etc implement plain syntax (#114) 2022-06-07 23:41:09 +09:00
src implement plain syntax (#114) 2022-06-07 23:41:09 +09:00
test implement plain syntax (#114) 2022-06-07 23:41:09 +09:00
test-d Introduce coverage integration 2021-06-26 23:48:46 +09:00
.editorconfig update CI configuration 2021-04-01 11:37:44 +09:00
.eslintignore Update .eslintignore 2022-01-10 01:51:04 +09:00
.eslintrc.js Update .eslintrc.js 2022-01-31 21:29:41 +09:00
.gitignore add package-lock 2021-07-31 15:15:44 +09:00
api-extractor.json Introduce api-extractor and lint 2021-07-31 15:12:43 +09:00
CHANGELOG.md v0.22.1 2022-05-22 11:44:40 +09:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2021-08-23 23:43:00 +09:00
codecov.yml Introduce coverage integration 2021-06-26 23:48:46 +09:00
CONTRIBUTING.md Update contribution guides 2021-08-28 15:52:36 +09:00
jest.config.ts Introduce coverage integration 2021-06-26 23:48:46 +09:00
LICENSE update copyright 2022-01-01 21:57:03 +09:00
package-lock.json package-lock.json 2022-06-05 16:28:17 +09:00
package.json implement plain syntax (#114) 2022-06-07 23:41:09 +09:00
README.md implement plain syntax (#114) 2022-06-07 23:41:09 +09:00
tsconfig.json fix tsconfig 2021-06-27 00:10:39 +09:00

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 full MFM text.
const mfmTree = mfm.parse(inputText);

// Generate a MFM tree from the simple MFM text.
const simpleMfmTree = mfm.parseSimple('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

simple parser:

npm run parse-simple

License

This software is released under the MIT License.