mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 18:36:30 +01:00 
			
		
		
		
	feat(edit-docs): start creating input zip file
This commit is contained in:
		| @@ -5,6 +5,7 @@ import type NoteMeta from "./src/services/meta/note_meta.js"; | |||||||
| import type { NoteMetaFile } from "./src/services/meta/note_meta.js"; | import type { NoteMetaFile } from "./src/services/meta/note_meta.js"; | ||||||
| import cls from "./src/services/cls.js"; | import cls from "./src/services/cls.js"; | ||||||
| import { initializeTranslations } from "./src/services/i18n.js"; | import { initializeTranslations } from "./src/services/i18n.js"; | ||||||
|  | import archiver from "archiver"; | ||||||
|  |  | ||||||
| const NOTE_ID_USER_GUIDE = "_help_user_guide"; | const NOTE_ID_USER_GUIDE = "_help_user_guide"; | ||||||
| const destRootPath = path.join("src", "public", "app", "doc_notes", "en", "User Guide"); | const destRootPath = path.join("src", "public", "app", "doc_notes", "en", "User Guide"); | ||||||
| @@ -15,6 +16,7 @@ async function startElectron() { | |||||||
|  |  | ||||||
| async function main() { | async function main() { | ||||||
|     await initializeTranslations(); |     await initializeTranslations(); | ||||||
|  |     await createImportZip(); | ||||||
|     await initializeDatabase(); |     await initializeDatabase(); | ||||||
|     cls.init(() => { |     cls.init(() => { | ||||||
|         importData(); |         importData(); | ||||||
| @@ -50,6 +52,35 @@ async function importData() { | |||||||
|     }); |     }); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | async function createImportZip() { | ||||||
|  |     const archive = archiver("zip", { | ||||||
|  |         zlib: { level: 0 } | ||||||
|  |     }); | ||||||
|  |  | ||||||
|  |     async function iterate(currentPath: string) { | ||||||
|  |         console.log("Found ", currentPath); | ||||||
|  |         for (const entry of await fs.readdir(currentPath, { withFileTypes: true })) { | ||||||
|  |             const entryPath = path.join(currentPath, entry.name); | ||||||
|  |  | ||||||
|  |             if (entry.isDirectory()) { | ||||||
|  |                 await iterate(entryPath); | ||||||
|  |                 continue; | ||||||
|  |             } | ||||||
|  |  | ||||||
|  |             const source = fsExtra.createReadStream(entryPath); | ||||||
|  |             archive.append(source, { | ||||||
|  |                 name: entryPath | ||||||
|  |             }); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     await iterate(destRootPath); | ||||||
|  |  | ||||||
|  |     const outputStream = fsExtra.createWriteStream("input.zip"); | ||||||
|  |     archive.pipe(outputStream); | ||||||
|  |     await archive.finalize(); | ||||||
|  | } | ||||||
|  |  | ||||||
| async function exportData() { | async function exportData() { | ||||||
|     const zipFilePath = "output.zip"; |     const zipFilePath = "output.zip"; | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user