UNPKG

campus-tex-cli

Version:

A CLI to quickly generate latex files for presentations or task assignments, using the unofficial template by the University of Stuttgart.

41 lines (40 loc) 1.69 kB
import fs from "fs/promises"; import { formatAndHeader } from "../templates/article/formatAndHeader.js"; import { articleTemplate } from "../templates/article/article.js"; import { packages } from "../templates/packages.js"; import { coloredLog } from "../util/coloredLog.js"; import chalk from "chalk"; import { literature } from "../templates/literature.js"; export const handleArticle = async ({ folderName, outputFile, fileName, matriculationNumber = "", topic, userName, useBibTex }) => { const header = formatAndHeader({ fileName, matriculationNumber, topic, userName, useBibTex }); coloredLog({ text: `Writing Header file to ./${folderName}/style/FormatAndHeader.tex`, highlight: chalk.yellow("INFO:"), }); await fs.writeFile(`./${folderName}/styles/FormatAndHeader.tex`, header, "utf-8"); coloredLog({ text: `Writing Packages file to ./${folderName}/style/Packages.tex`, highlight: chalk.yellow("INFO:"), }); await fs.writeFile(`./${folderName}/styles/Packages.tex`, packages, "utf-8"); coloredLog({ text: `Writing template file to ./${folderName}/${outputFile}`, highlight: chalk.yellow("INFO:"), }); await fs.writeFile(`./${folderName}/${outputFile}`, articleTemplate(useBibTex), "utf-8"); if (useBibTex) { coloredLog({ text: `Writing literature file to ./${folderName}/literature.bib`, highlight: chalk.yellow("INFO:"), }); await fs.writeFile(`./${folderName}/literature.bib`, literature, "utf-8"); } console.log(chalk.green("Successfully created files.")); process.exit(0); };