Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

sfm.js

An SFM parser implementation with fixes based on MFM

Installation

npm config set @sharkey:registry https://git.joinsharkey.org/api/packages/Sharkey/npm/
npm i @sharkey/sfm-js

Usage

Please see docs for the detail.

TypeScript:

import * as mfm from '@sharkey/sfm-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://git.joinsharkey.org/Sharkey/sfm.js.git

2. Install packages

cd sfm.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.