# 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](./docs/index.md) for the detail. TypeScript: ```ts import * as mfm from '@sharkey/sfm-js'; const inputText = `
Hello $[tada everynyan! 🎉] I'm @ai, A bot of misskey! https://github.com/syuilo/ai
`; // 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](LICENSE).