master
 1import fs from 'node:fs'
 2import path from 'node:path'
 3import { Badge } from './badges.js'
 4import { quoteAttr } from './utils.js'
 5import { log } from './log.js'
 6
 7export function updateBadges(
 8  badges: Badge[],
 9  badgesDir: string,
10  badgesDatafile: string,
11) {
12  log.info('Generating badges...')
13  fs.mkdirSync(badgesDir, { recursive: true })
14  fs.writeFileSync(badgesDatafile, JSON.stringify(badges, null, 2))
15
16  for (const badge of badges) {
17    const badgePath = path.resolve(badgesDir, `${badge.id}.md`)
18    const desc = quoteAttr(badge.desc)
19    const content =
20      `<img src="${badge.image}" alt="${desc}" title="${desc}" width="128">\n` +
21      `<strong>${desc}</strong>\n` +
22      `<br><br>\n\n` +
23      badge.body +
24      `\n\n\n` +
25      `Created by <a href="https://github.com/my-badges/my-badges">My Badges</a>`
26
27    log.info('badge', badgePath)
28    fs.writeFileSync(badgePath, content)
29  }
30}