Skip to content

Commit fcd1632

Browse files
committed
Merge branch 'develop' into master
2 parents 2926855 + de03976 commit fcd1632

File tree

6 files changed

+23
-8
lines changed

6 files changed

+23
-8
lines changed

docs/syntax.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
- `>`の後に続く0~1文字のスペースを無視する。
5454
- 隣接する引用の行は一つになる。
5555
- 複数行の引用では空行も含めることができる。
56+
- 引用の後ろにある空行は無視される。([#61](https://github.com/misskey-dev/mfm.js/issues/61))
5657

5758

5859

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
{
22
"name": "mfm-js",
3-
"version": "0.18.0",
3+
"version": "0.19.0",
44
"description": "An MFM parser implementation with PEG.js",
55
"main": "./built/index.js",
66
"types": "./built/index.d.ts",
77
"scripts": {
88
"build": "npm run tsc && npm run peg",
99
"build-debug": "npm run tsc && npm run peg-debug",
10-
"peg": "peggy --cache -o built/parser.js --allowed-start-rules fullParser,inlineParser,plainParser src/parser.pegjs",
11-
"peg-debug": "peggy --cache -o built/parser.js --allowed-start-rules fullParser,inlineParser,plainParser --trace src/parser.pegjs",
10+
"peg": "peggy --cache -o built/internal/parser.js --allowed-start-rules fullParser,inlineParser,plainParser src/internal/parser.pegjs",
11+
"peg-debug": "peggy --cache -o built/internal/parser.js --allowed-start-rules fullParser,inlineParser,plainParser --trace src/internal/parser.pegjs",
1212
"tsc": "tsc",
1313
"tsd": "tsd",
1414
"parse": "node ./built/cli/parse",

src/api.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import peg from 'peggy';
22
import { MfmNode, MfmPlainNode } from './node';
3-
import { stringifyNode, stringifyTree, inspectOne } from './util';
3+
import { stringifyNode, stringifyTree, inspectOne } from './internal/util';
44

5-
const parser: peg.Parser = require('./parser');
5+
const parser: peg.Parser = require('./internal/parser');
66

77
/**
88
* Generates a MfmNode tree from the MFM string.

src/parser.pegjs renamed to src/internal/parser.pegjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
LINK,
2323
FN,
2424
TEXT
25-
} = require('./node');
25+
} = require('../node');
2626

2727
const {
2828
mergeText,
@@ -128,7 +128,7 @@ plain
128128
// block: quote
129129

130130
quote
131-
= &(BEGIN ">") q:quoteInner { return q; }
131+
= &(BEGIN ">") q:quoteInner LF? { return q; }
132132

133133
quoteInner
134134
= head:quoteMultiLine tails:quoteMultiLine+

src/util.ts renamed to src/internal/util.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { isMfmBlock, MfmNode, TEXT } from './node';
1+
import { isMfmBlock, MfmNode, TEXT } from '../node';
22

33
export function mergeText(nodes: (MfmNode | string)[]): MfmNode[] {
44
const dest: MfmNode[] = [];

test/parser.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,20 @@ describe('FullParser', () => {
129129
];
130130
assert.deepStrictEqual(mfm.parse(input), output);
131131
});
132+
it('引用ブロックの後ろの空行は無視される', () => {
133+
const input = `
134+
> foo
135+
> bar
136+
137+
hoge`;
138+
const output = [
139+
QUOTE([
140+
TEXT('foo\nbar')
141+
]),
142+
TEXT('hoge')
143+
];
144+
assert.deepStrictEqual(mfm.parse(input), output);
145+
});
132146
});
133147

134148
describe('search', () => {

0 commit comments

Comments
 (0)