summaryrefslogtreecommitdiff
path: root/src/text/parse
diff options
context:
space:
mode:
authorrinsuki <428rinsuki+git@gmail.com>2018-05-17 07:52:24 +0900
committerrinsuki <428rinsuki+git@gmail.com>2018-05-17 07:52:24 +0900
commit829b4012e6dc14eb64a3d8f60826fe9b6a41b40d (patch)
tree42ac37f323db349dca9316e6fdb39fc33b860686 /src/text/parse
parentadd yarn.lock to gitignore (diff)
parentUpdate deliver.ts (diff)
downloadmisskey-829b4012e6dc14eb64a3d8f60826fe9b6a41b40d.tar.gz
misskey-829b4012e6dc14eb64a3d8f60826fe9b6a41b40d.tar.bz2
misskey-829b4012e6dc14eb64a3d8f60826fe9b6a41b40d.zip
Merge branch 'master' into fix/yarn-lock-ignore
Diffstat (limited to 'src/text/parse')
-rw-r--r--src/text/parse/elements/search.ts13
-rw-r--r--src/text/parse/elements/title.ts14
-rw-r--r--src/text/parse/index.ts4
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[] => {