diff --git a/docs/syntax.md b/docs/syntax.md index cddb0ff..84dc965 100644 --- a/docs/syntax.md +++ b/docs/syntax.md @@ -35,6 +35,13 @@ >>nest ``` +## 詳細 +- 引用された内容には再度FullParserを適用する。 +- `>`の後に続く0~1文字のスペースを無視する。 +- 隣接する引用の行は一つになる。 +- 複数行の引用では空行も含めることができる。 +- 引用の後ろにある空行は無視される。([#61](https://github.com/misskey-dev/mfm.js/issues/61)) + ## ノード ```js { @@ -45,13 +52,6 @@ } ``` -## 詳細 -- 引用された内容には再度FullParserを適用する。 -- `>`の後に続く0~1文字のスペースを無視する。 -- 隣接する引用の行は一つになる。 -- 複数行の引用では空行も含めることができる。 -- 引用の後ろにある空行は無視される。([#61](https://github.com/misskey-dev/mfm.js/issues/61)) -

Block: 検索ブロック

@@ -64,6 +64,9 @@ MFM 書き方 [Search] MFM 書き方 [検索] ``` +## 詳細 +- Searchの大文字小文字は区別されない。 + ## ノード ```js { @@ -75,9 +78,6 @@ MFM 書き方 [検索] } ``` -## 詳細 -- Searchの大文字小文字は区別されない。 -

Block: コードブロック

@@ -99,6 +99,9 @@ abc ```` +## 詳細 +- langは指定されない場合はnullになる。 + ## ノード ```js { @@ -110,9 +113,6 @@ abc } ``` -## 詳細 -- langは指定されない場合はnullになる。 -

Block: 数式ブロック

@@ -128,6 +128,11 @@ a = 2 \] ``` +## 詳細 +- `\[`は行頭でなければならない。 +- `\]`は行末でなければならない。 +- 前後のスペースと改行はトリミングされる。 + ## ノード ```js { @@ -138,11 +143,6 @@ a = 2 } ``` -## 詳細 -- `\[`は行頭でなければならない。 -- `\]`は行末でなければならない。 -- 前後のスペースと改行はトリミングされる。 -

Block: 中央寄せブロック

@@ -157,6 +157,12 @@ abc ``` +## 詳細 +- `
`は行頭でなければならない。 +- `
`は行末でなければならない。 +- 中身を空にすることはできない。 +- 内容には再度InlineParserを適用する。 + ## ノード ```js { @@ -167,12 +173,6 @@ abc } ``` -## 詳細 -- `
`は行頭でなければならない。 -- `
`は行末でなければならない。 -- 中身を空にすることはできない。 -- 内容には再度InlineParserを適用する。 -

Inline: 揺れる字

@@ -183,6 +183,10 @@ abc ***big!*** ``` +## 詳細 +- 内容には再度InlineParserを適用する。 +- 内容には改行も含めることが可能です。 + ## ノード ```js { @@ -197,10 +201,6 @@ abc } ``` -## 詳細 -- 内容には再度InlineParserを適用する。 -- 内容には改行も含めることが可能です。 -

Inline: 太字

@@ -221,6 +221,15 @@ __bold__ bold ``` +## 詳細 +- 内容には再度InlineParserを適用する。 + +構文1,3のみ: +- 内容にはすべての文字、改行が使用できる。 + +構文2のみ: +- 内容には`[a-z0-9 \t]i`にマッチする文字が使用できる。 + ## ノード ```js { @@ -231,15 +240,6 @@ __bold__ } ``` -## 詳細 -- 内容には再度InlineParserを適用する。 - -構文1,3のみ: -- 内容にはすべての文字、改行が使用できる。 - -構文2のみ: -- 内容には`[a-z0-9 \t]i`にマッチする文字が使用できる。 -

Inline: 目立たない字

@@ -249,6 +249,10 @@ __bold__ small ``` +## 詳細 +- 内容には再度InlineParserを適用する。 +- 内容には改行も含めることが可能です。 + ## ノード ```js { @@ -259,10 +263,6 @@ __bold__ } ``` -## 詳細 -- 内容には再度InlineParserを適用する。 -- 内容には改行も含めることが可能です。 -

Inline: イタリック

@@ -283,16 +283,6 @@ __bold__ _italic_ ``` -## ノード -```js -{ - type: 'italic', - children: [ - { type: 'text', props: { text: 'italic' } } - ] -} -``` - ## 詳細 - 内容には再度InlineParserを適用する。 @@ -304,6 +294,16 @@ _italic_ - 内容には`[a-z0-9 \t]i`にマッチする文字が使用できる。 - 開始記号の前の文字が(無い、改行、半角スペース、[a-zA-Z0-9]に一致しない)のいずれかの時にイタリック文字として判定される。 +## ノード +```js +{ + type: 'italic', + children: [ + { type: 'text', props: { text: 'italic' } } + ] +} +``` +

Inline: 打ち消し線

@@ -319,6 +319,15 @@ _italic_ strike ``` +## 詳細 +- 内容には再度InlineParserを適用する。 + +構文1のみ: +- 内容には`~`、改行以外の文字を使用できる。 + +構文2のみ: +- 内容には改行以外の文字を使用できる。 + ## ノード ```js { @@ -329,15 +338,6 @@ _italic_ } ``` -## 詳細 -- 内容には再度InlineParserを適用する。 - -構文1のみ: -- 内容には`~`、改行以外の文字を使用できる。 - -構文2のみ: -- 内容には改行以外の文字を使用できる。 -

Inline: インラインコード

@@ -347,6 +347,10 @@ _italic_ `$abc <- 1` ``` +## 詳細 +- 内容には改行を含めることができない。 +- 内容には「´」を含めることができない。 + ## ノード ```js { @@ -357,10 +361,6 @@ _italic_ } ``` -## 詳細 -- 内容には改行を含めることができない。 -- 内容には「´」を含めることができない。 -

Inline: インライン数式

@@ -370,6 +370,9 @@ _italic_ \(y = 2x\) ``` +## 詳細 +- 内容には改行を含めることができない。 + ## ノード ```js { @@ -380,9 +383,6 @@ _italic_ } ``` -## 詳細 -- 内容には改行を含めることができない。 -

Inline: メンション

@@ -395,6 +395,19 @@ _italic_ @user ``` +## 詳細 +- 最初の`@`の前の文字が(改行、スペース、無し、[a-zA-Z0-9]に一致しない)のいずれかの場合にメンションとして認識する。 + +### ユーザ名 +- 1文字以上。 +- `A`~`Z` `0`~`9` `_` `-`が含められる。 +- 1文字目と最後の文字は`-`にできない。 + +### ホスト名 +- 1文字以上。 +- `A`~`Z` `0`~`9` `_` `-` `.`が含められる。 +- 1文字目と最後の文字は`-` `.`にできない。 + ## ノード ```js { @@ -418,19 +431,6 @@ _italic_ } ``` -## 詳細 -- 最初の`@`の前の文字が(改行、スペース、無し、[a-zA-Z0-9]に一致しない)のいずれかの場合にメンションとして認識する。 - -### ユーザ名 -- 1文字以上。 -- `A`~`Z` `0`~`9` `_` `-`が含められる。 -- 1文字目と最後の文字は`-`にできない。 - -### ホスト名 -- 1文字以上。 -- `A`~`Z` `0`~`9` `_` `-` `.`が含められる。 -- 1文字目と最後の文字は`-` `.`にできない。 -

Inline: ハッシュタグ

@@ -440,6 +440,13 @@ _italic_ #abc ``` +## 詳細 +- 内容には半角スペース、全角スペース、改行、タブ文字を含めることができない。 +- 内容には`.` `,` `!` `?` `'` `"` `#` `:` `/` `【` `】` `<` `>` を含めることができない。 +- 括弧は対になっている時のみ内容に含めることができる。対象: `()` `[]` `「」` +- `#`の前の文字が(改行、スペース、無し、[a-zA-Z0-9]に一致しない)のいずれかの場合にハッシュタグとして認識する。 +- 内容が数字のみの場合はハッシュタグとして認識しない。 + ## ノード ```js { @@ -450,13 +457,6 @@ _italic_ } ``` -## 詳細 -- 内容には半角スペース、全角スペース、改行、タブ文字を含めることができない。 -- 内容には`.` `,` `!` `?` `'` `"` `#` `:` `/` `【` `】` `<` `>` を含めることができない。 -- 括弧は対になっている時のみ内容に含めることができる。対象: `()` `[]` `「」` -- `#`の前の文字が(改行、スペース、無し、[a-zA-Z0-9]に一致しない)のいずれかの場合にハッシュタグとして認識する。 -- 内容が数字のみの場合はハッシュタグとして認識しない。 -

Inline: URL

@@ -480,6 +480,15 @@ http://hoge.jp/abc ``` +## 詳細 +構文1のみ: +- 内容には`[.,a-z0-9_/:%#@$&?!~=+-]i`にマッチする文字を使用できる。 +- 内容には対になっている括弧を使用できる。対象: `( )` `[ ]` +- `.`や`,`は最後の文字にできない。 + +構文2のみ: +- 内容には改行、スペース以外の文字を使用できる。 + ## ノード 構文1: ```js @@ -514,15 +523,6 @@ http://hoge.jp/abc } ``` -## 詳細 -構文1のみ: -- 内容には`[.,a-z0-9_/:%#@$&?!~=+-]i`にマッチする文字を使用できる。 -- 内容には対になっている括弧を使用できる。対象: `( )` `[ ]` -- `.`や`,`は最後の文字にできない。 - -構文2のみ: -- 内容には改行、スペース以外の文字を使用できる。 -

Inline: リンク

@@ -538,6 +538,10 @@ silent=true ?[Misskey.io](https://misskey.io/) ``` +## 詳細 +- リンクラベルには再度InlineParserを適用する。 +- リンクラベルに含まれるURL、リンク、メンションはテキストとしてパースする。 + ## ノード ```js [ @@ -559,10 +563,6 @@ silent=true ] ``` -## 詳細 -- リンクラベルには再度InlineParserを適用する。 -- リンクラベルに含まれるURL、リンク、メンションはテキストとしてパースする。 -

Inline: 絵文字コード(カスタム絵文字)

@@ -572,6 +572,9 @@ silent=true :thinking_ai: ``` +## 詳細 +- 内容には[a-z0-9_+-]iにマッチする文字を使用できる。 + ## ノード ```js { @@ -582,9 +585,6 @@ silent=true } ``` -## 詳細 -- 内容には[a-z0-9_+-]iにマッチする文字を使用できる。 -

Inline: 関数

@@ -625,6 +625,11 @@ $[flip.h,v MisskeyでFediverseの世界が広がります] [flip.h,v MisskeyでFediverseの世界が広がります] ``` +## 詳細 +- 内容には再度InlineParserを適用する。 +- 内容には改行も含めることが可能です。 +- 使用できる関数名やパラメータはホスト側で定義され、パーサはその登録状況を関知しません。 + ## ノード ```js { @@ -639,11 +644,6 @@ $[flip.h,v MisskeyでFediverseの世界が広がります] } ``` -## 詳細 -- 内容には再度InlineParserを適用する。 -- 内容には改行も含めることが可能です。 -- 使用できる関数名やパラメータはホスト側で定義され、パーサはその登録状況を関知しません。 -

Inline: Unicode絵文字