mirror of
https://activitypub.software/TransFem-org/sfm-js
synced 2024-11-25 07:25:13 +00:00
Merge branch 'develop'
This commit is contained in:
commit
d5e0f6517c
6 changed files with 27 additions and 9 deletions
|
@ -11,6 +11,10 @@
|
|||
|
||||
-->
|
||||
|
||||
## 0.23.1
|
||||
### Improvements
|
||||
- improve emoji code parsing
|
||||
|
||||
## 0.23.0
|
||||
|
||||
### Features
|
||||
|
@ -35,8 +39,6 @@
|
|||
|
||||
## 0.22.0
|
||||
|
||||
npm: https://www.npmjs.com/package/mfm-js/v/0.22.0
|
||||
|
||||
### Features
|
||||
- Unicode emoji supports Unicode 14.0 emoji (#109)
|
||||
|
||||
|
|
|
@ -546,7 +546,7 @@ silent=true
|
|||
```
|
||||
|
||||
## 詳細
|
||||
- リンクラベルには再度InlineParserを適用する。ただし、リンクラベルではURL、リンク、メンションは使用できない。
|
||||
- 表示テキストには再度InlineParserを適用する。ただし、表示テキストではURL、リンク、メンションは使用できない。
|
||||
|
||||
## ノード
|
||||
```js
|
||||
|
|
4
package-lock.json
generated
4
package-lock.json
generated
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "mfm-js",
|
||||
"version": "0.23.0",
|
||||
"version": "0.23.1",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "mfm-js",
|
||||
"version": "0.23.0",
|
||||
"version": "0.23.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"twemoji-parser": "14.0.0"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "mfm-js",
|
||||
"version": "0.23.0",
|
||||
"version": "0.23.1",
|
||||
"description": "An MFM parser implementation with TypeScript",
|
||||
"main": "./built/index.js",
|
||||
"types": "./built/index.d.ts",
|
||||
|
@ -39,6 +39,7 @@
|
|||
"twemoji-parser": "14.0.0"
|
||||
},
|
||||
"files": [
|
||||
"built"
|
||||
"built",
|
||||
"CHANGELOG.md"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -626,12 +626,15 @@ export const language = P.createLanguage({
|
|||
},
|
||||
|
||||
emojiCode: r => {
|
||||
const side = P.notMatch(P.regexp(/[a-z0-9]/i));
|
||||
const mark = P.str(':');
|
||||
return P.seq([
|
||||
P.alt([P.lineBegin, side]),
|
||||
mark,
|
||||
P.regexp(/[a-z0-9_+-]+/i),
|
||||
mark,
|
||||
], 1).map(name => M.EMOJI_CODE(name as string));
|
||||
P.alt([P.lineEnd, side]),
|
||||
], 2).map(name => M.EMOJI_CODE(name as string));
|
||||
},
|
||||
|
||||
link: r => {
|
||||
|
|
|
@ -34,7 +34,19 @@ describe('SimpleParser', () => {
|
|||
|
||||
it('between texts', () => {
|
||||
const input = 'foo:bar:baz';
|
||||
const output = [TEXT('foo'), EMOJI_CODE('bar'), TEXT('baz')];
|
||||
const output = [TEXT('foo:bar:baz')];
|
||||
assert.deepStrictEqual(mfm.parseSimple(input), output);
|
||||
});
|
||||
|
||||
it('between texts 2', () => {
|
||||
const input = '12:34:56';
|
||||
const output = [TEXT('12:34:56')];
|
||||
assert.deepStrictEqual(mfm.parseSimple(input), output);
|
||||
});
|
||||
|
||||
it('between texts 3', () => {
|
||||
const input = 'あ:bar:い';
|
||||
const output = [TEXT('あ'), EMOJI_CODE('bar'), TEXT('い')];
|
||||
assert.deepStrictEqual(mfm.parseSimple(input), output);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue