a tool for shared writing and social publishing
at feature/reader 36 lines 1.2 kB view raw
1import * as PageLexicons from "./src/pages"; 2import { BlockLexicons } from "./src/blocks"; 3import { PubLeafletDocument } from "./src/document"; 4import * as PublicationLexicons from "./src/publication"; 5import { ThemeLexicons } from "./src/theme"; 6 7import * as fs from "fs"; 8import * as path from "path"; 9import { PubLeafletRichTextFacet } from "./src/facet"; 10import { PubLeafletComment } from "./src/comment"; 11 12const outdir = path.join("lexicons", "pub", "leaflet"); 13 14if (fs.existsSync(outdir)) { 15 fs.rmSync(outdir, { recursive: true }); 16} 17fs.mkdirSync(outdir, { recursive: true }); 18 19const lexicons = [ 20 PubLeafletDocument, 21 PubLeafletComment, 22 PubLeafletRichTextFacet, 23 PageLexicons.PubLeafletPagesLinearDocument, 24 ...ThemeLexicons, 25 ...BlockLexicons, 26 ...Object.values(PublicationLexicons), 27]; 28 29// Write each lexicon to a file 30lexicons.forEach((lexicon) => { 31 let id = lexicon.id.split("."); 32 let folder = path.join(outdir, ...id.slice(2, -1)); 33 if (!fs.existsSync(folder)) fs.mkdirSync(folder, { recursive: true }); 34 const filename = path.join(folder, id[id.length - 1] + ".json"); 35 fs.writeFileSync(filename, JSON.stringify(lexicon, null, 2)); 36});