Skip to content

Commit 1826726

Browse files
committed
fix(smiley): fixed smiley, hashtag and mention conflict
1 parent e19068b commit 1826726

11 files changed

Lines changed: 73 additions & 62 deletions

File tree

demo/index.html

Lines changed: 30 additions & 31 deletions
Large diffs are not rendered by default.

dist/embed.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rollup.es2015.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ var banner = "/*\n" +
1515
var config = {
1616
entry : 'src/js/main.js',
1717
dest : 'src/embed.es2015.js',
18-
format : 'es6',
18+
format : 'es',
1919
banner : banner,
2020
sourceMap : true,
2121
plugins: [

src/embed.es2015.js

Lines changed: 13 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/embed.es2015.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/embed.js

Lines changed: 13 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/embed.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/js/modules/emoticons/smiley.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ const defaultIcons = [{
3434
}, {
3535
'text': ':o',
3636
'code': '&#xe61a'
37+
}, {
38+
'text': ':O',
39+
'code': '&#xe61a'
3740
}, {
3841
'text': '-_-',
3942
'code': '&#xe61e'
@@ -81,6 +84,7 @@ export default function (input, options) {
8184

8285
return input.replace(smileyRegex, (match, pre, text) => {
8386
let index = escapedSymbols.indexOf(escapeRegExp(text));
87+
if (index === -1) return match;
8488
let code = icons[index].code;
8589
return options.template.smiley(text, pre, code, options);
8690
});

src/js/modules/hashtag.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import regex from './regex';
22

33
export default function (input, options) {
44
const hRegex = regex.hashtag;
5-
return input.replace(hRegex,(match)=>{
6-
const username = match.split('#')[1];
7-
return options.hashtagUrl(username);
5+
return input.replace(hRegex,(match, $1, $2)=>{
6+
const username = $2.split('#')[1];
7+
return $1 + options.hashtagUrl(username);
88
})
99
}

src/js/modules/mentions.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import regex from './regex';
22

33
export default function (input, options) {
44
const mRegex = regex.mentions;
5-
return input.replace(mRegex,(match) => {
6-
const username = match.split('@')[1];
7-
return options.mentionsUrl(username);
5+
return input.replace(mRegex,(match, $1, $2) => {
6+
const username = $2.split('@')[1];
7+
return $1 + options.mentionsUrl(username);
88
})
99
}

0 commit comments

Comments
 (0)