forked from tabler/tabler-icons
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathimport-categories.mjs
43 lines (32 loc) · 1.7 KB
/
import-categories.mjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import glob from 'glob'
import fs from 'fs'
import { resolve, join, basename } from 'path'
import { ICONS_SRC_DIR } from './helpers.mjs'
// const extensions = ['heart', 'star', 'off', 'bolt', 'cancel', 'check', 'cog', 'dollar', 'dot', 'eco', 'edit', 'x', 'plus', 'minus', 'shield', 'up', 'down', 'move', 'link', 'ribbon', 'question', 'exclamation', '2', '3', 'code', 'pause', 'pin', 'search', 'share', 'hand', 'infinity', 'ai']
const extensions = ['filled']
extensions.forEach(function (extension) {
glob.sync(join(ICONS_SRC_DIR, `*-${extension}.svg`)).forEach(function (file, i) {
const fileOriginal = file.replace(`-${extension}.svg`, '.svg')
if (fs.existsSync(fileOriginal)) {
const dataOriginal = fs.readFileSync(fileOriginal).toString()
const categoryOriginal = dataOriginal.match(/category: ([a-zA-Z-]+)/),
tagsOriginal = dataOriginal.match(/tags: (\[.*?\])/)
if (categoryOriginal || tagsOriginal) {
let data = fs.readFileSync(file).toString()
data = data.replace(/(---[\s\S]+?---)/, function (m, headerContent) {
console.log('categoryOriginal', fileOriginal, categoryOriginal && categoryOriginal[1], tagsOriginal && tagsOriginal[1])
// if (categoryOriginal) {
// headerContent = headerContent.replace(/category: .*\n/, '')
// headerContent = headerContent.replace(/---/, `---\ncategory: ${categoryOriginal[1]}`)
// }
if (tagsOriginal) {
headerContent = headerContent.replace(/tags: .*\n/, '')
headerContent = headerContent.replace(/---/, `---\ntags: ${tagsOriginal[1]}`)
}
return headerContent
})
fs.writeFileSync(file, data)
}
}
})
})