import-tags.mjs 776 B

123456789101112131415161718192021222324252627282930
  1. import fs from 'fs'
  2. import csv from 'csv-parser'
  3. import { join } from 'path'
  4. import { HOME_DIR } from './helpers.mjs'
  5. fs.createReadStream(join(HOME_DIR, '_import.tsv')).pipe(csv({
  6. headers: false,
  7. separator: '\t'
  8. })).on('data', (row) => {
  9. console.log(row[1], row[2])
  10. const filename = join(HOME_DIR, `src/_icons/${row[1]}.svg`)
  11. if(row[2].length) {
  12. let data = fs.readFileSync(filename).toString()
  13. data = data.replace(/(---[\s\S]+?---)/, function(m, headerContent) {
  14. headerContent = headerContent.replace(/tags: .*\n/, '')
  15. headerContent = headerContent.replace(/---/, `---\ntags: [${row[2]}]`)
  16. return headerContent
  17. })
  18. fs.writeFileSync(filename, data)
  19. }
  20. }).on('end', () => {
  21. console.log('CSV file successfully processed')
  22. })