"use strict"; const Path = require("path"); const Fs = require("fs-extra"); /////////////////////////////////////////////////////////////////////////////////////////////////// module.exports = async function main(argv) { const out = new Output(); out.log(`# Package list of Release ${argv.version}`); await CopyMarkdown(out, "packages-desc.md"); await GeneratePackageList(argv, out); await Fs.ensureDir(Path.join(__dirname, `../../release-archives/`)); await Fs.writeFile(argv.outputPath, out.buffer); }; class Output { constructor() { this.buffer = ""; } log(...s) { this.buffer += s.join("") + "\n"; } } /////////////////////////////////////////////////////////////////////////////////////////////////// // Copy Markdown async function CopyMarkdown(out, name) { const content = await Fs.readFile( Path.resolve(__dirname, `release-note-fragments/${name}`), "utf8" ); out.log(content); } /////////////////////////////////////////////////////////////////////////////////////////////////// // PACKAGE LIST const Spacings = { // spacingDesc, ligation type: ["Default", true], term: ["Terminal", true], fixed: ["Fixed", false], "quasi-proportional": ["Default", false] }; const ImagePrefixNoVersion = `https://raw.githubusercontent.com/be5invis/Iosevka`; const DownloadLinkPrefixNoVersion = `https://github.com/be5invis/Iosevka/releases/download`; async function GeneratePackageList(argv, out) { const imagePrefix = `${ImagePrefixNoVersion}/v${argv.version}/images`; const pkgShapesData = await Fs.readJson(argv.releasePackagesJsonPath); const DownloadLinkPrefix = `${DownloadLinkPrefixNoVersion}/v${argv.version}`; out.log(`
📦 ${familyName} — ${desc} | `, `Super\u00A0TTC | `, `TTC | `, ``, ` | ||||
└ Sub-packages | `, `Spacing | `, `Ligatures | `, `Downloads | `, `||||
${leader} ${noBreak(subGr.family)} | `, `${spacingDesc} | `, `${flag(ligation)} | `, `${createLink("Super\u00A0TTC", "super-ttc-sgr")} | `, `${createLink("TTC", "ttc-sgr")} | `, `${createLink("TTF", "ttf")} | `, `${createLink("Unhinted", "ttf-unhinted")} | `, `${createLink("WebFont", "webfont")} | `, `
${img} | `, `|||||||