4.1.0 • Published 5 years ago

mfmf v4.1.0

Weekly downloads
2
License
AGPL-3.0-or-later
Repository
github
Last release
5 years ago

mfmf: Misskey Flavored Markdown Functions

LISCENSE npm

Misskeyで使われているMarkdown風の書式をライブラリとして扱うことができます。
Misskeyのソースコードをほぼそのまま抜き出しています。

install

npm install mfmf

usage

Script

const mfm = require('mfmf')

Basic

const mfmstring = "**mfmf**"
const html = mfm.render(mfm.parse(mfmstring), [])
console.log(html)
// => `<p data-mfm="root"><b data-mfm="bold">mfmf</b></p>`

mfm.render(input: MfmForest, mentionedRemoteUsers: INote'mentionedRemoteUsers', options?: any): string(HTML)

MfmForestを渡すと、HTML文字列が返ってきます。(toHtmlのエイリアスです。)

mentionedRemoteUsers: INote'mentionedRemoteUsers'

Misskey内部処理で必要だったものです。リモートのメンションに関係するものです。

config

オプションを指定します。
何も指定しないときでも空のオブジェクト{}を渡してください。
初期値は特記のない限り全てfalseまたは''です。

  • jmstyle boolean
    • true……joinmisskey用のHTML(付属のCSS/SASSで利用可)
    • false……リモート送信用(ただしdata-mfm属性は自動で付加されます。不要な場合は取り除いてください。)
  • url string : タグやリプライのリンクのプレフィクスです。不要なので?などのクエリを指定しておくとよいと思います。
  • animate : trueに設定するとanimate.cssのクラスを出力します。
  • codeTagAsDiv : trueに設定するとprecodeタグだったものがdiv.prediv.codeになります。
  • rootTagName : ルート要素のタグを指定します。初期値はjmstyle ? 'div' : 'p'です。

mfm.parse(source: string): MfmForest

MFMテキストからMfmForestを生成します。

mfm.htmlToMfm(html: string): string(mfm)

HTMLをMFMに変換します。fromHtmlのエイリアスです。

CSS

SASSで記述されており、src/styleにソースがあります。プレビュー用にdist/style/mfm.cssもあります。

おまけ

mfmfは、mfmの実行に必要なpreludeやtypesなどもexportします。

Example

ソースファイル ==> 結果

開発

ビルド

npm run build

テスト

gulp test
4.1.0

5 years ago

4.0.2

5 years ago

4.0.1

5 years ago

4.0.0

5 years ago

3.1.0

5 years ago

3.0.0

5 years ago

2.3.0

5 years ago

2.2.0

5 years ago

2.1.3

5 years ago

2.1.2

5 years ago

2.1.1

5 years ago

2.1.0

5 years ago

2.0.5

5 years ago

2.0.4

5 years ago

2.0.3

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.3.3

6 years ago

1.3.2

6 years ago

1.3.1

6 years ago

1.3.0

6 years ago

1.2.2

6 years ago

1.2.0

6 years ago

1.1.8

6 years ago

1.1.7

6 years ago

1.1.6

6 years ago

1.1.5

6 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago