Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 1x 1x 8x 8x 8x 8x 8x 8x 8x 4x 4x 4x 8x 1x 1x 1x 3x 3x 3x 3x 3x 3x 3x 3x | import { promises as fs } from "node:fs"; import { join } from "node:path"; import * as core from "@actions/core"; import bytes from "bytes"; import { type Path, glob } from "glob"; import type { ActionInputs } from "src/utils/inputs"; import color from "../utils/color"; import { truncate } from "../utils/truncate"; import { renderHTML } from "./html"; export async function generate(root: string, dir: Path, inputs: ActionInputs) { const files = await glob(join(dir.fullpath(), "*"), { ignore: inputs.ignore.map((i) => join(root, i)), dot: inputs.showHiddenFiles, withFileTypes: true, }); if (files.length === 0) { core.debug(color.yellow(`[Skip] No targets found in: ${dir.fullpath()}`)); return; } if (!inputs.override && files.some((file) => file.name === "index.html")) { core.debug(color.yellow(`[Skip] 'index.html' already exists in: ${dir.fullpath()}`)); return; } core.debug(color.green("Generating 'index.html' at: ") + color.blue(dir.fullpath())); core.debug(`- Found ${files.length} target(s).`); const html = await renderHTML({ root, dir, files, inputs }); await fs.writeFile(join(dir.fullpath(), "index.html"), html, "utf-8"); core.info(color.green(`Successfully generated 'index.html' at: `) + color.blue(dir.fullpath())); core.info(`- File size: ${bytes(html.length)}`); core.debug(`- Generated HTML content is: ${color.magenta(truncate(html))}`); } |