refactor(blog): update deprecated simple icons API

This commit is contained in:
Kim, Jimin 2023-06-18 01:54:46 +09:00
parent 11cc4452f9
commit 33ba73d8f0
2 changed files with 9 additions and 8 deletions

View file

@ -1,6 +1,7 @@
import ejs from "ejs" import ejs from "ejs"
import { optimize } from "svgo" import { optimize } from "svgo"
import { readFileSync, writeFileSync } from "fs" import { readFileSync, writeFileSync } from "fs"
import icons from "simple-icons/icons"
import tinycolor from "tinycolor2" import tinycolor from "tinycolor2"
import { map, seriesMap } from "." import { map, seriesMap } from "."
@ -117,12 +118,10 @@ function generatePortfolioSVGs() {
function parseBadge(badgeRaw: string): Badge { function parseBadge(badgeRaw: string): Badge {
const isMultiWord = badgeRaw.includes(" ") const isMultiWord = badgeRaw.includes(" ")
const words = badgeRaw.split(" ") const words = badgeRaw.split(" ")
const slug = words[0]
const icon = isMultiWord // @ts-ignore
? // eslint-disable-next-line @typescript-eslint/no-var-requires const icon = icons["si" + slug[0].toUpperCase() + slug.slice(1)]
require("simple-icons")[words[0]]
: // eslint-disable-next-line @typescript-eslint/no-var-requires
require("simple-icons")[badgeRaw]
const color = tinycolor(icon.hex).lighten(5).desaturate(5) const color = tinycolor(icon.hex).lighten(5).desaturate(5)

View file

@ -1,4 +1,6 @@
import tinycolor from "tinycolor2" import tinycolor from "tinycolor2"
import icons from "simple-icons/icons"
import { SimpleIcon } from "simple-icons"
import { contentDirectoryPath, iconsDirectoryPath } from "../config" import { contentDirectoryPath, iconsDirectoryPath } from "../config"
import { generateToc } from "../parseMarkdown" import { generateToc } from "../parseMarkdown"
@ -12,12 +14,12 @@ export default function parsePortfolio(data: DataToPass): void {
if (markdownData.badges) { if (markdownData.badges) {
;(markdownData.badges as string[]).forEach((slug) => { ;(markdownData.badges as string[]).forEach((slug) => {
// todo: handle cases when icon is not on simple-icons // todo: handle cases when icon is not on simple-icons
const icon: SimpleIcon =
// @ts-ignore
icons["si" + slug[0].toUpperCase() + slug.slice(1)]
portfolioData.skills.add(slug) portfolioData.skills.add(slug)
// eslint-disable-next-line @typescript-eslint/no-var-requires
const icon = require("simple-icons")[slug]
const color = tinycolor(icon.hex).lighten(5).desaturate(5) const color = tinycolor(icon.hex).lighten(5).desaturate(5)
// save svg icon // save svg icon