From 5446285d6aebd56cca2785610edad9c18ea06ea3 Mon Sep 17 00:00:00 2001 From: Carlos Scheidegger Date: Tue, 20 Feb 2024 14:36:04 -0700 Subject: [PATCH] fix non-cleaning up of ojs-created resources in single-file render --- src/execute/ojs/compile.ts | 4 +- tools/trace-viewer/edit-distance.js | 59 ----------------------------- tools/trace-viewer/trace-viewer.qmd | 2 +- 3 files changed, 3 insertions(+), 62 deletions(-) delete mode 100644 tools/trace-viewer/edit-distance.js diff --git a/src/execute/ojs/compile.ts b/src/execute/ojs/compile.ts index b5438cbcdd..bf48661dc5 100644 --- a/src/execute/ojs/compile.ts +++ b/src/execute/ojs/compile.ts @@ -91,7 +91,7 @@ export interface OjsCompileOptions { markdown: MappedString; libDir: string; temp: TempContext; - project?: ProjectContext; + project: ProjectContext; ojsBlockLineNumbers: number[]; } @@ -153,7 +153,7 @@ export async function ojsCompile( return { markdown: markdown }; } - const projDir = project?.dir; + const projDir = project.isSingleFile ? undefined : project.dir; const selfContained = options.format.pandoc?.[kSelfContained] ?? options.format.pandoc?.[kEmbedResources] ?? false; const isHtmlMarkdown = isMarkdownOutput(options.format, [ diff --git a/tools/trace-viewer/edit-distance.js b/tools/trace-viewer/edit-distance.js deleted file mode 100644 index 9a842c5e5f..0000000000 --- a/tools/trace-viewer/edit-distance.js +++ /dev/null @@ -1,59 +0,0 @@ -const editDistance = (a, b) => { - const result = []; - const dp = []; - for (let i2 = 0; i2 <= a.length; i2++) { - dp.push([]); - for (let j2 = 0; j2 <= b.length; j2++) { - dp[i2].push(void 0); - } - } - dp[0][0] = { type: "begin", cost: 0 }; - for (let i2 = 1; i2 <= a.length; i2++) { - dp[i2][0] = { type: "delete", cost: i2 }; - } - for (let j2 = 1; j2 <= b.length; j2++) { - dp[0][j2] = { type: "insert", cost: j2 }; - } - for (let i2 = 1; i2 <= a.length; i2++) { - for (let j2 = 1; j2 <= b.length; j2++) { - const cost = a[i2 - 1] === b[j2 - 1] ? 0 : 1; - const ops = [ - { type: "delete", cost: dp[i2 - 1][j2].cost + 1 }, - { type: "insert", cost: dp[i2][j2 - 1].cost + 1 }, - { - type: "replace", - cost: dp[i2 - 1][j2 - 1].cost + cost - } - ]; - ops.sort((a2, b2) => a2.cost - b2.cost); - dp[i2][j2] = ops[0]; - } - } - let i = a.length; - let j = b.length; - while (i > 0 || j > 0) { - const op = dp[i][j]; - const newLocation = [i, j]; - switch (op.type) { - case "begin": - throw new Error("should not happen"); - case "delete": - i--; - break; - case "insert": - j--; - break; - case "replace": - i--; - j--; - break; - } - result.push({ type: op.type, location: [i, j], newLocation }); - } - result.reverse(); - return result; -}; -export { - editDistance -}; -//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZWRpdC1kaXN0YW5jZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidHlwZSBSZXN1bHQgPSB7XG4gIHR5cGU6IFwiaW5zZXJ0XCIgfCBcImRlbGV0ZVwiIHwgXCJyZXBsYWNlXCIgfCBcImJlZ2luXCI7XG4gIGxvY2F0aW9uOiBbbnVtYmVyLCBudW1iZXJdO1xuICBuZXdMb2NhdGlvbjogW251bWJlciwgbnVtYmVyXTtcbn07XG5cbmV4cG9ydCBjb25zdCBlZGl0RGlzdGFuY2UgPSAoYTogc3RyaW5nW10sIGI6IHN0cmluZ1tdKTogUmVzdWx0W10gPT4ge1xuICB0eXBlIEVkaXQgPSB7XG4gICAgdHlwZTogXCJpbnNlcnRcIiB8IFwiZGVsZXRlXCIgfCBcInJlcGxhY2VcIiB8IFwiYmVnaW5cIjtcbiAgICBjb3N0OiBudW1iZXI7XG4gIH07XG4gIGNvbnN0IHJlc3VsdDogUmVzdWx0W10gPSBbXTtcblxuICBjb25zdCBkcDogKEVkaXQgfCB1bmRlZmluZWQpW11bXSA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8PSBhLmxlbmd0aDsgaSsrKSB7XG4gICAgZHAucHVzaChbXSk7XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPD0gYi5sZW5ndGg7IGorKykge1xuICAgICAgZHBbaV0ucHVzaCh1bmRlZmluZWQpO1xuICAgIH1cbiAgfVxuICBkcFswXVswXSA9IHsgdHlwZTogXCJiZWdpblwiLCBjb3N0OiAwIH07XG4gIGZvciAobGV0IGkgPSAxOyBpIDw9IGEubGVuZ3RoOyBpKyspIHtcbiAgICBkcFtpXVswXSA9IHsgdHlwZTogXCJkZWxldGVcIiwgY29zdDogaSB9O1xuICB9XG4gIGZvciAobGV0IGogPSAxOyBqIDw9IGIubGVuZ3RoOyBqKyspIHtcbiAgICBkcFswXVtqXSA9IHsgdHlwZTogXCJpbnNlcnRcIiwgY29zdDogaiB9O1xuICB9XG4gIGZvciAobGV0IGkgPSAxOyBpIDw9IGEubGVuZ3RoOyBpKyspIHtcbiAgICBmb3IgKGxldCBqID0gMTsgaiA8PSBiLmxlbmd0aDsgaisrKSB7XG4gICAgICBjb25zdCBjb3N0ID0gYVtpIC0gMV0gPT09IGJbaiAtIDFdID8gMCA6IDE7XG5cbiAgICAgIGNvbnN0IG9wczogRWRpdFtdID0gW1xuICAgICAgICB7IHR5cGU6IFwiZGVsZXRlXCIsIGNvc3Q6IGRwW2kgLSAxXVtqXSEuY29zdCArIDEgfSxcbiAgICAgICAgeyB0eXBlOiBcImluc2VydFwiLCBjb3N0OiBkcFtpXVtqIC0gMV0hLmNvc3QgKyAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcInJlcGxhY2VcIixcbiAgICAgICAgICBjb3N0OiBkcFtpIC0gMV1baiAtIDFdIS5jb3N0ICsgY29zdCxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgICBvcHMuc29ydCgoYSwgYikgPT4gYS5jb3N0IC0gYi5jb3N0KTtcbiAgICAgIGRwW2ldW2pdID0gb3BzWzBdO1xuICAgIH1cbiAgfVxuICAvLyBidWlsZCByZXN1bHRzIGFycmF5XG4gIGxldCBpID0gYS5sZW5ndGg7XG4gIGxldCBqID0gYi5sZW5ndGg7XG4gIHdoaWxlIChpID4gMCB8fCBqID4gMCkge1xuICAgIGNvbnN0IG9wID0gZHBbaV1bal0hO1xuICAgIGNvbnN0IG5ld0xvY2F0aW9uOiBbbnVtYmVyLCBudW1iZXJdID0gW2ksIGpdO1xuICAgIHN3aXRjaCAob3AudHlwZSkge1xuICAgICAgY2FzZSBcImJlZ2luXCI6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInNob3VsZCBub3QgaGFwcGVuXCIpO1xuICAgICAgY2FzZSBcImRlbGV0ZVwiOlxuICAgICAgICBpLS07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcImluc2VydFwiOlxuICAgICAgICBqLS07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcInJlcGxhY2VcIjpcbiAgICAgICAgaS0tO1xuICAgICAgICBqLS07XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXN1bHQucHVzaCh7IHR5cGU6IG9wLnR5cGUsIGxvY2F0aW9uOiBbaSwgal0sIG5ld0xvY2F0aW9uIH0pO1xuICB9XG4gIHJlc3VsdC5yZXZlcnNlKCk7XG4gIHJldHVybiByZXN1bHQ7XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBTU8sTUFBTSxlQUFlLENBQUMsR0FBYSxNQUEwQjtBQUtsRSxRQUFNLFNBQW1CLENBQUM7QUFFMUIsUUFBTSxLQUE2QixDQUFDO0FBQ3BDLFdBQVNBLEtBQUksR0FBR0EsTUFBSyxFQUFFLFFBQVFBLE1BQUs7QUFDbEMsT0FBRyxLQUFLLENBQUMsQ0FBQztBQUNWLGFBQVNDLEtBQUksR0FBR0EsTUFBSyxFQUFFLFFBQVFBLE1BQUs7QUFDbEMsU0FBR0QsRUFBQyxFQUFFLEtBQUssTUFBUztBQUFBLElBQ3RCO0FBQUEsRUFDRjtBQUNBLEtBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sU0FBUyxNQUFNLEVBQUU7QUFDcEMsV0FBU0EsS0FBSSxHQUFHQSxNQUFLLEVBQUUsUUFBUUEsTUFBSztBQUNsQyxPQUFHQSxFQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxVQUFVLE1BQU1BLEdBQUU7QUFBQSxFQUN2QztBQUNBLFdBQVNDLEtBQUksR0FBR0EsTUFBSyxFQUFFLFFBQVFBLE1BQUs7QUFDbEMsT0FBRyxDQUFDLEVBQUVBLEVBQUMsSUFBSSxFQUFFLE1BQU0sVUFBVSxNQUFNQSxHQUFFO0FBQUEsRUFDdkM7QUFDQSxXQUFTRCxLQUFJLEdBQUdBLE1BQUssRUFBRSxRQUFRQSxNQUFLO0FBQ2xDLGFBQVNDLEtBQUksR0FBR0EsTUFBSyxFQUFFLFFBQVFBLE1BQUs7QUFDbEMsWUFBTSxPQUFPLEVBQUVELEtBQUksQ0FBQyxNQUFNLEVBQUVDLEtBQUksQ0FBQyxJQUFJLElBQUk7QUFFekMsWUFBTSxNQUFjO0FBQUEsUUFDbEIsRUFBRSxNQUFNLFVBQVUsTUFBTSxHQUFHRCxLQUFJLENBQUMsRUFBRUMsRUFBQyxFQUFHLE9BQU8sRUFBRTtBQUFBLFFBQy9DLEVBQUUsTUFBTSxVQUFVLE1BQU0sR0FBR0QsRUFBQyxFQUFFQyxLQUFJLENBQUMsRUFBRyxPQUFPLEVBQUU7QUFBQSxRQUMvQztBQUFBLFVBQ0UsTUFBTTtBQUFBLFVBQ04sTUFBTSxHQUFHRCxLQUFJLENBQUMsRUFBRUMsS0FBSSxDQUFDLEVBQUcsT0FBTztBQUFBLFFBQ2pDO0FBQUEsTUFDRjtBQUNBLFVBQUksS0FBSyxDQUFDQyxJQUFHQyxPQUFNRCxHQUFFLE9BQU9DLEdBQUUsSUFBSTtBQUNsQyxTQUFHSCxFQUFDLEVBQUVDLEVBQUMsSUFBSSxJQUFJLENBQUM7QUFBQSxJQUNsQjtBQUFBLEVBQ0Y7QUFFQSxNQUFJLElBQUksRUFBRTtBQUNWLE1BQUksSUFBSSxFQUFFO0FBQ1YsU0FBTyxJQUFJLEtBQUssSUFBSSxHQUFHO0FBQ3JCLFVBQU0sS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO0FBQ2xCLFVBQU0sY0FBZ0MsQ0FBQyxHQUFHLENBQUM7QUFDM0MsWUFBUSxHQUFHLE1BQU07QUFBQSxNQUNmLEtBQUs7QUFDSCxjQUFNLElBQUksTUFBTSxtQkFBbUI7QUFBQSxNQUNyQyxLQUFLO0FBQ0g7QUFDQTtBQUFBLE1BQ0YsS0FBSztBQUNIO0FBQ0E7QUFBQSxNQUNGLEtBQUs7QUFDSDtBQUNBO0FBQ0E7QUFBQSxJQUNKO0FBQ0EsV0FBTyxLQUFLLEVBQUUsTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQztBQUFBLEVBQzlEO0FBQ0EsU0FBTyxRQUFRO0FBQ2YsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogWyJpIiwgImoiLCAiYSIsICJiIl0KfQo= diff --git a/tools/trace-viewer/trace-viewer.qmd b/tools/trace-viewer/trace-viewer.qmd index 293cc9436d..35bb9c822c 100644 --- a/tools/trace-viewer/trace-viewer.qmd +++ b/tools/trace-viewer/trace-viewer.qmd @@ -136,7 +136,7 @@ trace = Generators.observe((change) => { import { convertDoc } from "./convert-pandoc-json.js"; import { drawTree } from "./draw-tree.js"; import { jsonpatch } from "./jsonpatch.js"; -import { editDistance } from "./edit-distance.js"; +import { editDistance } from "./edit-distance.ts"; ``` ::: {.column-screen-inset}