2021-03-26 14:20:12 +00:00
|
|
|
|
# mfm.js
|
2021-03-26 16:06:38 +00:00
|
|
|
|
An MFM parser implementation with PEG.js
|
|
|
|
|
|
|
|
|
|
[![NPM](https://nodei.co/npm/mfm-js.png?downloads=true&downloadRank=true&stars=true)](https://www.npmjs.com/package/mfm-js)
|
2020-01-31 19:29:30 +00:00
|
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
```
|
2021-03-19 12:16:21 +00:00
|
|
|
|
npm i rosee
|
2020-01-31 19:29:30 +00:00
|
|
|
|
```
|
|
|
|
|
|
2020-02-16 14:27:25 +00:00
|
|
|
|
## Usage
|
2021-03-17 06:24:33 +00:00
|
|
|
|
TypeScript:
|
2020-02-16 14:27:25 +00:00
|
|
|
|
```ts
|
2021-03-19 12:16:21 +00:00
|
|
|
|
import * as mfm from 'rosee';
|
2020-02-16 14:27:25 +00:00
|
|
|
|
|
2021-03-26 15:34:01 +00:00
|
|
|
|
const inputText =
|
2021-03-20 15:36:54 +00:00
|
|
|
|
`<center>
|
|
|
|
|
Hello [tada everynyan! 🎉]
|
|
|
|
|
|
2021-03-26 15:34:01 +00:00
|
|
|
|
I'm @ai, A bot of misskey!
|
2021-03-20 15:36:54 +00:00
|
|
|
|
|
|
|
|
|
https://github.com/syuilo/ai
|
|
|
|
|
</center>`;
|
|
|
|
|
|
2021-03-26 15:34:01 +00:00
|
|
|
|
// 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);
|
2020-02-24 13:27:01 +00:00
|
|
|
|
|
2020-02-16 14:27:25 +00:00
|
|
|
|
```
|
|
|
|
|
|
2021-03-26 16:06:38 +00:00
|
|
|
|
## Develop
|
2020-02-16 14:27:25 +00:00
|
|
|
|
### 1. Clone
|
|
|
|
|
```
|
2021-03-26 14:20:12 +00:00
|
|
|
|
git clone https://github.com/misskey-dev/mfm.js.git
|
2020-02-16 14:27:25 +00:00
|
|
|
|
```
|
|
|
|
|
|
2021-03-17 06:24:33 +00:00
|
|
|
|
### 2. Install packages
|
2020-01-31 19:29:30 +00:00
|
|
|
|
```
|
2021-03-26 14:20:12 +00:00
|
|
|
|
cd mfm.js
|
2021-03-17 06:24:33 +00:00
|
|
|
|
npm i
|
2020-01-31 19:29:30 +00:00
|
|
|
|
```
|
|
|
|
|
|
2021-03-17 06:24:33 +00:00
|
|
|
|
### 3. Build
|
2020-01-31 19:29:30 +00:00
|
|
|
|
```
|
2021-03-17 06:24:33 +00:00
|
|
|
|
npm run build
|
2020-01-31 19:29:30 +00:00
|
|
|
|
```
|
|
|
|
|
|
2021-03-17 06:24:33 +00:00
|
|
|
|
### Use the interactive CLI parser
|
2020-01-31 19:29:30 +00:00
|
|
|
|
```
|
2020-02-20 03:31:56 +00:00
|
|
|
|
npm run parse
|
2020-01-31 19:29:30 +00:00
|
|
|
|
```
|
2020-02-16 14:27:25 +00:00
|
|
|
|
|
|
|
|
|
## License
|
2021-03-17 06:24:33 +00:00
|
|
|
|
This software is released under the [MIT License](LICENSE).
|