Several minor improvements to typing and misc.
- Improved schema validation - Move username parsing and other validators to schema types - Fix astro check command - Add JSON/YAML schema validation for data collections - Update licenses - Remove deployment script in favor of rsync - Prevent unsanitized input in export-story script - Change "eng" language to "en", per BCP47 - Clean up i18n keys and add aria attributes - Improve MastodonComments behavior on no-JS browsers
This commit is contained in:
parent
fe908a4989
commit
7bb8a952ef
54 changed files with 1005 additions and 962 deletions
|
|
@ -1,4 +1,4 @@
|
|||
import { type ChildProcess, exec, execSync } from "node:child_process";
|
||||
import { type ChildProcess, exec, spawnSync } from "node:child_process";
|
||||
import { readdir, mkdir, mkdtemp, writeFile, readFile, copyFile } from "node:fs/promises";
|
||||
import { tmpdir } from "node:os";
|
||||
import { join as pathJoin, normalize } from "node:path";
|
||||
|
|
@ -150,7 +150,13 @@ async function exportStory(slug: string, options: { outputDir: string }) {
|
|||
await writeFile(pathJoin(outputDir, `${slug}.md`), storyText.replaceAll(/=(?==)/g, "= ").replaceAll("*", "\\*"));
|
||||
const tempDir = await mkdtemp(pathJoin(tmpdir(), "export-story-"));
|
||||
await writeFile(pathJoin(tempDir, "temp.txt"), storyText.replaceAll(/\n\n+/g, "\n"));
|
||||
execSync(`libreoffice --convert-to "rtf:Rich Text Format" --outdir ${tempDir} ${pathJoin(tempDir, "temp.txt")}`);
|
||||
spawnSync("libreoffice", [
|
||||
"--convert-to",
|
||||
"rtf:Rich Text Format",
|
||||
"--outdir",
|
||||
tempDir,
|
||||
pathJoin(tempDir, "temp.txt"),
|
||||
]);
|
||||
const rtfText = await readFile(pathJoin(tempDir, "temp.rtf"), "utf-8");
|
||||
const rtfStyles = getRTFStyles(rtfText);
|
||||
await writeFile(
|
||||
|
|
@ -158,7 +164,6 @@ async function exportStory(slug: string, options: { outputDir: string }) {
|
|||
rtfText.replaceAll(rtfStyles["Preformatted Text"], rtfStyles["Normal"]),
|
||||
);
|
||||
console.log("Success!");
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
await program
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue