Skip to content

Commit 1e6835a

Browse files
committed
Expand multiple short_names emoji (#14)
1 parent cb7835c commit 1e6835a

File tree

3 files changed

+151
-3
lines changed

3 files changed

+151
-3
lines changed

gulpfile.js

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const gulp = require('gulp'),
77
merge = require('merge2'),
88
ts = require('gulp-typescript'),
99
webpack = require('webpack-stream'),
10+
fs = require('fs'),
1011
tsProject = ts.createProject('tsconfig.json');
1112

1213
const distRoot = path.resolve('./dist')
@@ -95,15 +96,15 @@ var getEmoticonFilter = function(){
9596
})
9697
};
9798

98-
function copyImages () {
99+
async function copyImages () {
99100
del(paths.dist.images.separate);
100101

101102
const emojiMap = require('emoji-datasource-apple').reduce((acc, emoji) => Object.assign(acc, {
102103
[emoji.image]: emoji
103104
}), {})
104105
const availableFiles = Object.keys(emojiMap)
105106

106-
return gulp.src('node_modules/emoji-datasource-apple/img/apple/64/*.png')
107+
let pipeline = gulp.src(`node_modules/emoji-datasource-apple/img/apple/64/*.png`)
107108
.pipe($.filter(file => availableFiles.includes(file.basename)))
108109
.pipe($.rename(file => {
109110
const emojiData = emojiMap[`${file.basename}${file.extname}`]
@@ -112,6 +113,26 @@ function copyImages () {
112113
file.dirname = './'
113114
}))
114115
.pipe(gulp.dest(paths.dist.images.separate))
116+
117+
const extractPipelines = availableFiles.reduce((ps, basename) => {
118+
const emoji = emojiMap[basename]
119+
const filteredShortNames = emoji.short_names.filter(n => n !== emoji.short_name)
120+
const sourceFile = `${emojiDataSourcePath}/${basename}`
121+
122+
if (filteredShortNames.length > 0 && fs.existsSync(sourceFile)) {
123+
const pipelines = filteredShortNames.map(shortname => {
124+
return gulp.src(sourceFile)
125+
.pipe($.clone())
126+
.pipe($.rename(`${shortname}.png`))
127+
.pipe(gulp.dest(paths.dist.images.separate))
128+
})
129+
return ps.concat(pipelines)
130+
} else {
131+
return ps
132+
}
133+
}, [])
134+
135+
return merge(pipeline, ...extractPipelines)
115136
}
116137
exports.copyImages = copyImages
117138

package-lock.json

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

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
"emoji-datasource-apple": "^4.1.0",
3636
"gulp": "^4.0.0",
3737
"gulp-bump": "~0.1.11",
38+
"gulp-clone": "^2.0.1",
3839
"gulp-concat": "~2.4.1",
3940
"gulp-download": "0.0.1",
4041
"gulp-filter": "~1.0.2",

0 commit comments

Comments
 (0)