summaryrefslogtreecommitdiff
path: root/src/common/text/elements
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2017-03-18 01:16:32 +0900
committersyuilo <syuilotan@yahoo.co.jp>2017-03-18 01:16:32 +0900
commitbc3006f3c41297536788ec20ea012ba0a4d0ee24 (patch)
tree66878ca481de7e0005bfd6bb91c7d027d018511d /src/common/text/elements
parentnanka iroiro (diff)
downloadsharkey-bc3006f3c41297536788ec20ea012ba0a4d0ee24.tar.gz
sharkey-bc3006f3c41297536788ec20ea012ba0a4d0ee24.tar.bz2
sharkey-bc3006f3c41297536788ec20ea012ba0a4d0ee24.zip
#277
Diffstat (limited to 'src/common/text/elements')
-rw-r--r--src/common/text/elements/link.js19
-rw-r--r--src/common/text/elements/url.js9
2 files changed, 24 insertions, 4 deletions
diff --git a/src/common/text/elements/link.js b/src/common/text/elements/link.js
new file mode 100644
index 0000000000..03315bb2c0
--- /dev/null
+++ b/src/common/text/elements/link.js
@@ -0,0 +1,19 @@
+/**
+ * Link
+ */
+
+module.exports = text => {
+ const match = text.match(/^\??\[(.+?)\]\((https?:\/\/[\w\/:%#@\$&\?!\(\)\[\]~\.=\+\-]+)\)/);
+ if (!match) return null;
+ const silent = text[0] == '?';
+ const link = match[0];
+ const title = match[1];
+ const url = match[2];
+ return {
+ type: 'link',
+ content: link,
+ title: title,
+ url: url,
+ silent: silent
+ };
+};
diff --git a/src/common/text/elements/url.js b/src/common/text/elements/url.js
index f350b707ac..1003aff9c3 100644
--- a/src/common/text/elements/url.js
+++ b/src/common/text/elements/url.js
@@ -3,11 +3,12 @@
*/
module.exports = text => {
- const match = text.match(/^https?:\/\/[\w\/:%#@\$&\?!\(\)\[\]~\.=\+\-]+/);
+ const match = text.match(/^https?:\/\/[\w\/:%#@\$&\?!\(\)\[\]~\.=\+\-]+/);
if (!match) return null;
- const link = match[0];
+ const url = match[0];
return {
- type: 'link',
- content: link
+ type: 'url',
+ content: url,
+ url: url
};
};