diff --git a/assets/DMSans-Black.ttf b/assets/DMSans/DMSans-Black.ttf similarity index 100% rename from assets/DMSans-Black.ttf rename to assets/DMSans/DMSans-Black.ttf diff --git a/assets/DMSans-BlackItalic.ttf b/assets/DMSans/DMSans-BlackItalic.ttf similarity index 100% rename from assets/DMSans-BlackItalic.ttf rename to assets/DMSans/DMSans-BlackItalic.ttf diff --git a/assets/DMSans-Bold.ttf b/assets/DMSans/DMSans-Bold.ttf similarity index 100% rename from assets/DMSans-Bold.ttf rename to assets/DMSans/DMSans-Bold.ttf diff --git a/assets/DMSans-BoldItalic.ttf b/assets/DMSans/DMSans-BoldItalic.ttf similarity index 100% rename from assets/DMSans-BoldItalic.ttf rename to assets/DMSans/DMSans-BoldItalic.ttf diff --git a/assets/DMSans-ExtraBold.ttf b/assets/DMSans/DMSans-ExtraBold.ttf similarity index 100% rename from assets/DMSans-ExtraBold.ttf rename to assets/DMSans/DMSans-ExtraBold.ttf diff --git a/assets/DMSans-ExtraBoldItalic.ttf b/assets/DMSans/DMSans-ExtraBoldItalic.ttf similarity index 100% rename from assets/DMSans-ExtraBoldItalic.ttf rename to assets/DMSans/DMSans-ExtraBoldItalic.ttf diff --git a/assets/DMSans-ExtraLight.ttf b/assets/DMSans/DMSans-ExtraLight.ttf similarity index 100% rename from assets/DMSans-ExtraLight.ttf rename to assets/DMSans/DMSans-ExtraLight.ttf diff --git a/assets/DMSans-ExtraLightItalic.ttf b/assets/DMSans/DMSans-ExtraLightItalic.ttf similarity index 100% rename from assets/DMSans-ExtraLightItalic.ttf rename to assets/DMSans/DMSans-ExtraLightItalic.ttf diff --git a/assets/DMSans-Italic.ttf b/assets/DMSans/DMSans-Italic.ttf similarity index 100% rename from assets/DMSans-Italic.ttf rename to assets/DMSans/DMSans-Italic.ttf diff --git a/assets/DMSans-Light.ttf b/assets/DMSans/DMSans-Light.ttf similarity index 100% rename from assets/DMSans-Light.ttf rename to assets/DMSans/DMSans-Light.ttf diff --git a/assets/DMSans-LightItalic.ttf b/assets/DMSans/DMSans-LightItalic.ttf similarity index 100% rename from assets/DMSans-LightItalic.ttf rename to assets/DMSans/DMSans-LightItalic.ttf diff --git a/assets/DMSans-Medium.ttf b/assets/DMSans/DMSans-Medium.ttf similarity index 100% rename from assets/DMSans-Medium.ttf rename to assets/DMSans/DMSans-Medium.ttf diff --git a/assets/DMSans-MediumItalic.ttf b/assets/DMSans/DMSans-MediumItalic.ttf similarity index 100% rename from assets/DMSans-MediumItalic.ttf rename to assets/DMSans/DMSans-MediumItalic.ttf diff --git a/assets/DMSans-Regular.ttf b/assets/DMSans/DMSans-Regular.ttf similarity index 100% rename from assets/DMSans-Regular.ttf rename to assets/DMSans/DMSans-Regular.ttf diff --git a/assets/DMSans-SemiBold.ttf b/assets/DMSans/DMSans-SemiBold.ttf similarity index 100% rename from assets/DMSans-SemiBold.ttf rename to assets/DMSans/DMSans-SemiBold.ttf diff --git a/assets/DMSans-SemiBoldItalic.ttf b/assets/DMSans/DMSans-SemiBoldItalic.ttf similarity index 100% rename from assets/DMSans-SemiBoldItalic.ttf rename to assets/DMSans/DMSans-SemiBoldItalic.ttf diff --git a/assets/DMSans-Thin.ttf b/assets/DMSans/DMSans-Thin.ttf similarity index 100% rename from assets/DMSans-Thin.ttf rename to assets/DMSans/DMSans-Thin.ttf diff --git a/assets/DMSans-ThinItalic.ttf b/assets/DMSans/DMSans-ThinItalic.ttf similarity index 100% rename from assets/DMSans-ThinItalic.ttf rename to assets/DMSans/DMSans-ThinItalic.ttf diff --git a/assets/OFL.txt b/assets/DMSans/OFL.txt similarity index 100% rename from assets/OFL.txt rename to assets/DMSans/OFL.txt diff --git a/lib/fonts.js b/lib/fonts.js new file mode 100644 index 0000000..98d412d --- /dev/null +++ b/lib/fonts.js @@ -0,0 +1,112 @@ +import fs from 'node:fs' + +export const DMSans = [ + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-Thin.ttf'), + weight: 100, + style: 'normal' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-ThinItalic.ttf'), + weight: 100, + style: 'italic' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-ExtraLight.ttf'), + weight: 200, + style: 'normal' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-ExtraLightItalic.ttf'), + weight: 200, + style: 'italic' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-Light.ttf'), + weight: 300, + style: 'normal' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-LightItalic.ttf'), + weight: 300, + style: 'italic' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-Regular.ttf'), + weight: 400, + style: 'normal' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-Italic.ttf'), + weight: 400, + style: 'italic' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-Medium.ttf'), + weight: 500, + style: 'normal' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-MediumItalic.ttf'), + weight: 500, + style: 'italic' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-SemiBold.ttf'), + weight: 600, + style: 'normal' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-SemiBoldItalic.ttf'), + weight: 600, + style: 'italic' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-Bold.ttf'), + weight: 700, + style: 'normal' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-BoldItalic.ttf'), + weight: 700, + style: 'italic' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-ExtraBold.ttf'), + weight: 800, + style: 'normal' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-ExtraBoldItalic.ttf'), + weight: 800, + style: 'italic' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-Black.ttf'), + weight: 900, + style: 'normal' + }, + { + name: 'DM Sans', + data: fs.readFileSync('./assets/DMSans/DMSans-BlackItalic.ttf'), + weight: 900, + style: 'normal' + } +] diff --git a/lib/render.js b/lib/render.js index da6e52f..492ee8b 100644 --- a/lib/render.js +++ b/lib/render.js @@ -1,119 +1,11 @@ import html2png, { renderHtml as htmlParser } from '@besties/html2png' import fs from 'node:fs' +import { DMSans } from './fonts.js' const css = fs.readFileSync('./assets/style.css', 'utf8') const renderOptions = { - fonts: [ - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-Thin.ttf'), - weight: 100, - style: 'normal' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-ThinItalic.ttf'), - weight: 100, - style: 'italic' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-ExtraLight.ttf'), - weight: 200, - style: 'normal' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-ExtraLightItalic.ttf'), - weight: 200, - style: 'italic' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-Light.ttf'), - weight: 300, - style: 'normal' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-LightItalic.ttf'), - weight: 300, - style: 'italic' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-Regular.ttf'), - weight: 400, - style: 'normal' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-Italic.ttf'), - weight: 400, - style: 'italic' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-Medium.ttf'), - weight: 500, - style: 'normal' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-MediumItalic.ttf'), - weight: 500, - style: 'italic' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-SemiBold.ttf'), - weight: 600, - style: 'normal' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-SemiBoldItalic.ttf'), - weight: 600, - style: 'italic' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-Bold.ttf'), - weight: 700, - style: 'normal' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-BoldItalic.ttf'), - weight: 700, - style: 'italic' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-ExtraBold.ttf'), - weight: 800, - style: 'normal' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-ExtraBoldItalic.ttf'), - weight: 800, - style: 'italic' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-Black.ttf'), - weight: 900, - style: 'normal' - }, - { - name: 'DM Sans', - data: fs.readFileSync('./assets/DMSans-BlackItalic.ttf'), - weight: 900, - style: 'normal' - } - ] + fonts: DMSans } export default async function (html, options = {}) {