mirror of
https://activitypub.software/TransFem-org/sfm-js
synced 2024-11-21 13:45:10 +00:00
No description
eb43eb0298
upstream changes 2024-06-29 See merge request TransFem-org/sfm-js!5 |
||
---|---|---|
.forgejo/workflows | ||
docs | ||
etc | ||
src | ||
test | ||
test-d | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
.gitlab-ci.yml | ||
api-extractor.json | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
codecov.yml | ||
CONTRIBUTING.md | ||
jest.config.ts | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json |
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.