diff --git a/src/generate-gresource.js b/src/generate-gresource.js new file mode 100755 index 00000000..45f3c40d --- /dev/null +++ b/src/generate-gresource.js @@ -0,0 +1,55 @@ +#!/usr/bin/env node +import { readdir, writeFile } from 'fs/promises' +import { join } from 'path' + +const getPath = file => join(file.parentPath, file.name) + +const getFiles = async (path, filter, compressed) => { + const files = await readdir(path, { withFileTypes: true }) + return files.filter(file => !file.isDirectory()) + .filter(filter ?? (() => true)) + .map(compressed + ? file => `${getPath(file)}` + : file => `${getPath(file)}`) +} + +const getIcons = async () => { + const files = await readdir('icons/hicolor/scalable/actions/', + { withFileTypes: true }) + return files.map(file => + `${getPath(file)}`) +} + +const filter = ({ excludes, endsWith }) => ({ name }) => { + for (const x of excludes) if (name === x) return + for (const x of endsWith) if (name.endsWith(x)) return true +} + +const result = ` + + +${[ + ...await getFiles('./', filter({ + excludes: ['generate-gresource.js', 'main.js'], + endsWith: ['.js'], + })), + ...await getFiles('ui/'), + ...await getIcons(), + ...await getFiles('foliate-js/', filter({ + excludes: ['reader.js', 'eslint.config.js', 'rollup.config.js'], + endsWith: ['.js'], + })), + ...await getFiles('foliate-js/vendor/'), + ...await getFiles('foliate-js/vendor/pdfjs/'), + ...await getFiles('foliate-js/vendor/pdfjs/cmaps/', null, true), + ...await getFiles('foliate-js/vendor/pdfjs/standard_fonts/', null, true), + ...await getFiles('opds/'), + ...await getFiles('selection-tools/'), + ...await getFiles('common/'), + ...await getFiles('reader/'), + ].map(x => ' ' + x).join('\n')} + + +` + +await writeFile('gresource.xml', result) diff --git a/src/gresource.xml b/src/gresource.xml index a5a0bb44..e6746096 100644 --- a/src/gresource.xml +++ b/src/gresource.xml @@ -13,8 +13,8 @@ search.js selection-tools.js speech.js - toc.js themes.js + toc.js tts.js utils.js webview.js @@ -23,13 +23,13 @@ ui/book-image.ui ui/book-item.ui ui/book-row.ui - ui/bookmark-row.ui ui/book-viewer.ui + ui/bookmark-row.ui ui/export-dialog.ui ui/image-viewer.ui ui/import-dialog.ui - ui/library.ui ui/library-view.ui + ui/library.ui ui/media-overlay-box.ui ui/navbar.ui ui/selection-popover.ui @@ -45,39 +45,226 @@ icons/hicolor/scalable/actions/tag-symbolic.svg icons/hicolor/scalable/actions/text-squiggly-symbolic.svg foliate-js/comic-book.js + foliate-js/dict.js foliate-js/epub.js foliate-js/epubcfi.js foliate-js/fb2.js foliate-js/fixed-layout.js foliate-js/footnotes.js foliate-js/mobi.js - foliate-js/overlayer.js foliate-js/opds.js + foliate-js/overlayer.js foliate-js/paginator.js - foliate-js/progress.js foliate-js/pdf.js + foliate-js/progress.js + foliate-js/quote-image.js foliate-js/search.js foliate-js/text-walker.js foliate-js/tts.js foliate-js/uri-template.js foliate-js/view.js - foliate-js/vendor/zip.js foliate-js/vendor/fflate.js + foliate-js/vendor/zip.js foliate-js/vendor/pdfjs/annotation_layer_builder.css foliate-js/vendor/pdfjs/pdf.mjs foliate-js/vendor/pdfjs/pdf.mjs.map foliate-js/vendor/pdfjs/pdf.worker.mjs foliate-js/vendor/pdfjs/pdf.worker.mjs.map foliate-js/vendor/pdfjs/text_layer_builder.css - opds/main.js + foliate-js/vendor/pdfjs/cmaps/78-EUC-H.bcmap + foliate-js/vendor/pdfjs/cmaps/78-EUC-V.bcmap + foliate-js/vendor/pdfjs/cmaps/78-H.bcmap + foliate-js/vendor/pdfjs/cmaps/78-RKSJ-H.bcmap + foliate-js/vendor/pdfjs/cmaps/78-RKSJ-V.bcmap + foliate-js/vendor/pdfjs/cmaps/78-V.bcmap + foliate-js/vendor/pdfjs/cmaps/78ms-RKSJ-H.bcmap + foliate-js/vendor/pdfjs/cmaps/78ms-RKSJ-V.bcmap + foliate-js/vendor/pdfjs/cmaps/83pv-RKSJ-H.bcmap + foliate-js/vendor/pdfjs/cmaps/90ms-RKSJ-H.bcmap + foliate-js/vendor/pdfjs/cmaps/90ms-RKSJ-V.bcmap + foliate-js/vendor/pdfjs/cmaps/90msp-RKSJ-H.bcmap + foliate-js/vendor/pdfjs/cmaps/90msp-RKSJ-V.bcmap + foliate-js/vendor/pdfjs/cmaps/90pv-RKSJ-H.bcmap + foliate-js/vendor/pdfjs/cmaps/90pv-RKSJ-V.bcmap + foliate-js/vendor/pdfjs/cmaps/Add-H.bcmap + foliate-js/vendor/pdfjs/cmaps/Add-RKSJ-H.bcmap + foliate-js/vendor/pdfjs/cmaps/Add-RKSJ-V.bcmap + foliate-js/vendor/pdfjs/cmaps/Add-V.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-CNS1-0.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-CNS1-1.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-CNS1-2.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-CNS1-3.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-CNS1-4.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-CNS1-5.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-CNS1-6.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-GB1-0.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-GB1-1.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-GB1-2.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-GB1-3.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-GB1-4.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-GB1-5.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-Japan1-0.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-Japan1-1.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-Japan1-2.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-Japan1-3.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-Japan1-4.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-Japan1-5.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-Japan1-6.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-Korea1-0.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-Korea1-1.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-Korea1-2.bcmap + foliate-js/vendor/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap + foliate-js/vendor/pdfjs/cmaps/B5-H.bcmap + foliate-js/vendor/pdfjs/cmaps/B5-V.bcmap + foliate-js/vendor/pdfjs/cmaps/B5pc-H.bcmap + foliate-js/vendor/pdfjs/cmaps/B5pc-V.bcmap + foliate-js/vendor/pdfjs/cmaps/CNS-EUC-H.bcmap + foliate-js/vendor/pdfjs/cmaps/CNS-EUC-V.bcmap + foliate-js/vendor/pdfjs/cmaps/CNS1-H.bcmap + foliate-js/vendor/pdfjs/cmaps/CNS1-V.bcmap + foliate-js/vendor/pdfjs/cmaps/CNS2-H.bcmap + foliate-js/vendor/pdfjs/cmaps/CNS2-V.bcmap + foliate-js/vendor/pdfjs/cmaps/ETHK-B5-H.bcmap + foliate-js/vendor/pdfjs/cmaps/ETHK-B5-V.bcmap + foliate-js/vendor/pdfjs/cmaps/ETen-B5-H.bcmap + foliate-js/vendor/pdfjs/cmaps/ETen-B5-V.bcmap + foliate-js/vendor/pdfjs/cmaps/ETenms-B5-H.bcmap + foliate-js/vendor/pdfjs/cmaps/ETenms-B5-V.bcmap + foliate-js/vendor/pdfjs/cmaps/EUC-H.bcmap + foliate-js/vendor/pdfjs/cmaps/EUC-V.bcmap + foliate-js/vendor/pdfjs/cmaps/Ext-H.bcmap + foliate-js/vendor/pdfjs/cmaps/Ext-RKSJ-H.bcmap + foliate-js/vendor/pdfjs/cmaps/Ext-RKSJ-V.bcmap + foliate-js/vendor/pdfjs/cmaps/Ext-V.bcmap + foliate-js/vendor/pdfjs/cmaps/GB-EUC-H.bcmap + foliate-js/vendor/pdfjs/cmaps/GB-EUC-V.bcmap + foliate-js/vendor/pdfjs/cmaps/GB-H.bcmap + foliate-js/vendor/pdfjs/cmaps/GB-V.bcmap + foliate-js/vendor/pdfjs/cmaps/GBK-EUC-H.bcmap + foliate-js/vendor/pdfjs/cmaps/GBK-EUC-V.bcmap + foliate-js/vendor/pdfjs/cmaps/GBK2K-H.bcmap + foliate-js/vendor/pdfjs/cmaps/GBK2K-V.bcmap + foliate-js/vendor/pdfjs/cmaps/GBKp-EUC-H.bcmap + foliate-js/vendor/pdfjs/cmaps/GBKp-EUC-V.bcmap + foliate-js/vendor/pdfjs/cmaps/GBT-EUC-H.bcmap + foliate-js/vendor/pdfjs/cmaps/GBT-EUC-V.bcmap + foliate-js/vendor/pdfjs/cmaps/GBT-H.bcmap + foliate-js/vendor/pdfjs/cmaps/GBT-V.bcmap + foliate-js/vendor/pdfjs/cmaps/GBTpc-EUC-H.bcmap + foliate-js/vendor/pdfjs/cmaps/GBTpc-EUC-V.bcmap + foliate-js/vendor/pdfjs/cmaps/GBpc-EUC-H.bcmap + foliate-js/vendor/pdfjs/cmaps/GBpc-EUC-V.bcmap + foliate-js/vendor/pdfjs/cmaps/H.bcmap + foliate-js/vendor/pdfjs/cmaps/HKdla-B5-H.bcmap + foliate-js/vendor/pdfjs/cmaps/HKdla-B5-V.bcmap + foliate-js/vendor/pdfjs/cmaps/HKdlb-B5-H.bcmap + foliate-js/vendor/pdfjs/cmaps/HKdlb-B5-V.bcmap + foliate-js/vendor/pdfjs/cmaps/HKgccs-B5-H.bcmap + foliate-js/vendor/pdfjs/cmaps/HKgccs-B5-V.bcmap + foliate-js/vendor/pdfjs/cmaps/HKm314-B5-H.bcmap + foliate-js/vendor/pdfjs/cmaps/HKm314-B5-V.bcmap + foliate-js/vendor/pdfjs/cmaps/HKm471-B5-H.bcmap + foliate-js/vendor/pdfjs/cmaps/HKm471-B5-V.bcmap + foliate-js/vendor/pdfjs/cmaps/HKscs-B5-H.bcmap + foliate-js/vendor/pdfjs/cmaps/HKscs-B5-V.bcmap + foliate-js/vendor/pdfjs/cmaps/Hankaku.bcmap + foliate-js/vendor/pdfjs/cmaps/Hiragana.bcmap + foliate-js/vendor/pdfjs/cmaps/KSC-EUC-H.bcmap + foliate-js/vendor/pdfjs/cmaps/KSC-EUC-V.bcmap + foliate-js/vendor/pdfjs/cmaps/KSC-H.bcmap + foliate-js/vendor/pdfjs/cmaps/KSC-Johab-H.bcmap + foliate-js/vendor/pdfjs/cmaps/KSC-Johab-V.bcmap + foliate-js/vendor/pdfjs/cmaps/KSC-V.bcmap + foliate-js/vendor/pdfjs/cmaps/KSCms-UHC-H.bcmap + foliate-js/vendor/pdfjs/cmaps/KSCms-UHC-HW-H.bcmap + foliate-js/vendor/pdfjs/cmaps/KSCms-UHC-HW-V.bcmap + foliate-js/vendor/pdfjs/cmaps/KSCms-UHC-V.bcmap + foliate-js/vendor/pdfjs/cmaps/KSCpc-EUC-H.bcmap + foliate-js/vendor/pdfjs/cmaps/KSCpc-EUC-V.bcmap + foliate-js/vendor/pdfjs/cmaps/Katakana.bcmap + foliate-js/vendor/pdfjs/cmaps/LICENSE + foliate-js/vendor/pdfjs/cmaps/NWP-H.bcmap + foliate-js/vendor/pdfjs/cmaps/NWP-V.bcmap + foliate-js/vendor/pdfjs/cmaps/RKSJ-H.bcmap + foliate-js/vendor/pdfjs/cmaps/RKSJ-V.bcmap + foliate-js/vendor/pdfjs/cmaps/Roman.bcmap + foliate-js/vendor/pdfjs/cmaps/UniCNS-UCS2-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniCNS-UCS2-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniCNS-UTF16-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniCNS-UTF16-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniCNS-UTF32-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniCNS-UTF32-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniCNS-UTF8-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniCNS-UTF8-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniGB-UCS2-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniGB-UCS2-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniGB-UTF16-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniGB-UTF16-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniGB-UTF32-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniGB-UTF32-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniGB-UTF8-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniGB-UTF8-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJIS-UCS2-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJIS-UCS2-HW-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJIS-UCS2-HW-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJIS-UCS2-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJIS-UTF16-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJIS-UTF16-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJIS-UTF32-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJIS-UTF32-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJIS-UTF8-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJIS-UTF8-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJIS2004-UTF16-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJIS2004-UTF16-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJIS2004-UTF32-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJIS2004-UTF32-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJIS2004-UTF8-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJIS2004-UTF8-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJISPro-UCS2-HW-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJISPro-UCS2-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJISPro-UTF8-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJISX0213-UTF32-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJISX0213-UTF32-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJISX02132004-UTF32-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniJISX02132004-UTF32-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniKS-UCS2-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniKS-UCS2-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniKS-UTF16-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniKS-UTF16-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniKS-UTF32-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniKS-UTF32-V.bcmap + foliate-js/vendor/pdfjs/cmaps/UniKS-UTF8-H.bcmap + foliate-js/vendor/pdfjs/cmaps/UniKS-UTF8-V.bcmap + foliate-js/vendor/pdfjs/cmaps/V.bcmap + foliate-js/vendor/pdfjs/cmaps/WP-Symbol.bcmap + foliate-js/vendor/pdfjs/standard_fonts/FoxitDingbats.pfb + foliate-js/vendor/pdfjs/standard_fonts/FoxitFixed.pfb + foliate-js/vendor/pdfjs/standard_fonts/FoxitFixedBold.pfb + foliate-js/vendor/pdfjs/standard_fonts/FoxitFixedBoldItalic.pfb + foliate-js/vendor/pdfjs/standard_fonts/FoxitFixedItalic.pfb + foliate-js/vendor/pdfjs/standard_fonts/FoxitSerif.pfb + foliate-js/vendor/pdfjs/standard_fonts/FoxitSerifBold.pfb + foliate-js/vendor/pdfjs/standard_fonts/FoxitSerifBoldItalic.pfb + foliate-js/vendor/pdfjs/standard_fonts/FoxitSerifItalic.pfb + foliate-js/vendor/pdfjs/standard_fonts/FoxitSymbol.pfb + foliate-js/vendor/pdfjs/standard_fonts/LICENSE_FOXIT + foliate-js/vendor/pdfjs/standard_fonts/LICENSE_LIBERATION + foliate-js/vendor/pdfjs/standard_fonts/LiberationSans-Bold.ttf + foliate-js/vendor/pdfjs/standard_fonts/LiberationSans-BoldItalic.ttf + foliate-js/vendor/pdfjs/standard_fonts/LiberationSans-Italic.ttf + foliate-js/vendor/pdfjs/standard_fonts/LiberationSans-Regular.ttf opds/main.html + opds/main.js selection-tools/common.css selection-tools/translate.html selection-tools/wikipedia.html selection-tools/wiktionary.html common/widgets.js + reader/markup.js reader/reader.html reader/reader.js - reader/markup.js