diff options
Diffstat (limited to 'src/text/parse')
| -rw-r--r-- | src/text/parse/elements/search.ts | 13 | ||||
| -rw-r--r-- | src/text/parse/elements/title.ts | 14 | ||||
| -rw-r--r-- | src/text/parse/index.ts | 4 |
3 files changed, 30 insertions, 1 deletions
diff --git a/src/text/parse/elements/search.ts b/src/text/parse/elements/search.ts new file mode 100644 index 0000000000..12ee8ecbb8 --- /dev/null +++ b/src/text/parse/elements/search.ts @@ -0,0 +1,13 @@ +/** + * Search + */ + +module.exports = text => { + const match = text.match(/^(.+?) 検索(\n|$)/); + if (!match) return null; + return { + type: 'search', + content: match[0], + query: match[1] + }; +}; diff --git a/src/text/parse/elements/title.ts b/src/text/parse/elements/title.ts new file mode 100644 index 0000000000..9f4708f5d6 --- /dev/null +++ b/src/text/parse/elements/title.ts @@ -0,0 +1,14 @@ +/** + * Title + */ + +module.exports = text => { + const match = text.match(/^【(.+?)】\n/); + if (!match) return null; + const title = match[0]; + return { + type: 'title', + content: title, + title: title.substr(1, title.length - 3) + }; +}; diff --git a/src/text/parse/index.ts b/src/text/parse/index.ts index b958da81b0..cfddd9f615 100644 --- a/src/text/parse/index.ts +++ b/src/text/parse/index.ts @@ -4,6 +4,7 @@ const elements = [ require('./elements/bold'), + require('./elements/title'), require('./elements/url'), require('./elements/link'), require('./elements/mention'), @@ -11,7 +12,8 @@ const elements = [ require('./elements/code'), require('./elements/inline-code'), require('./elements/quote'), - require('./elements/emoji') + require('./elements/emoji'), + require('./elements/search') ]; export default (source: string): any[] => { |