diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2017-03-18 01:16:32 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2017-03-18 01:16:32 +0900 |
| commit | bc3006f3c41297536788ec20ea012ba0a4d0ee24 (patch) | |
| tree | 66878ca481de7e0005bfd6bb91c7d027d018511d /src/common/text/elements | |
| parent | nanka iroiro (diff) | |
| download | sharkey-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.js | 19 | ||||
| -rw-r--r-- | src/common/text/elements/url.js | 9 |
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 }; }; |