├── .dockerignore ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── 希望作者支持某个功能.md │ └── 我要反馈问题.md └── workflows │ ├── build.yml │ └── ci.yml ├── .gitignore ├── .style.yapf ├── .vscode └── settings.json ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── app ├── .editorconfig ├── .gitignore ├── Makefile ├── README.md ├── nuxt.config.js ├── package-lock.json ├── package.json ├── public │ ├── logo │ │ ├── favicon.ico │ │ └── link.png │ ├── robots.txt │ └── static │ │ ├── README │ │ ├── candle-reader │ │ ├── candle-reader.es.js │ │ ├── candle-reader.umd.js │ │ ├── css │ │ │ └── themes.css │ │ ├── favicon.ico │ │ ├── js │ │ │ └── epub-v0.3.88.js │ │ └── style.css │ │ ├── epubreader │ │ ├── README │ │ ├── css │ │ │ ├── common.css │ │ │ ├── main.css │ │ │ ├── notedlg.css │ │ │ ├── sidebar.css │ │ │ └── toolbar.css │ │ ├── font │ │ │ ├── fontello.eot │ │ │ ├── fontello.svg │ │ │ ├── fontello.ttf │ │ │ └── fontello.woff │ │ ├── img │ │ │ ├── annotations.svg │ │ │ ├── bookmark.svg │ │ │ ├── bookmarked.svg │ │ │ ├── bookmarks.svg │ │ │ ├── favicon.png │ │ │ ├── favicon.svg │ │ │ ├── info.svg │ │ │ ├── loader.gif │ │ │ ├── menu.svg │ │ │ ├── next.svg │ │ │ ├── open-book.svg │ │ │ ├── prev.svg │ │ │ ├── resize-full.svg │ │ │ ├── resize-small.svg │ │ │ ├── search-clear.svg │ │ │ ├── search.svg │ │ │ ├── settings.svg │ │ │ ├── toc.svg │ │ │ └── upload.svg │ │ ├── index.html │ │ └── js │ │ │ ├── epubreader.js │ │ │ ├── epubreader.js.map │ │ │ ├── epubreader.min.js │ │ │ ├── epubreader.min.js.map │ │ │ └── libs │ │ │ ├── epub.min.js │ │ │ ├── jszip.min.js │ │ │ ├── jszip.min.js.LICENSE.txt │ │ │ ├── md5.min.js │ │ │ └── md5.min.js.LICENSE.txt │ │ ├── js │ │ └── jquery-1.11.1.min.js │ │ ├── pdfjs │ │ ├── LICENSE │ │ ├── VERSION │ │ ├── build │ │ │ ├── pdf.js │ │ │ ├── pdf.js.map │ │ │ ├── pdf.sandbox.js │ │ │ ├── pdf.sandbox.js.map │ │ │ ├── pdf.worker.js │ │ │ └── pdf.worker.js.map │ │ └── web │ │ │ ├── cmaps │ │ │ ├── 78-EUC-H.bcmap │ │ │ ├── 78-EUC-V.bcmap │ │ │ ├── 78-H.bcmap │ │ │ ├── 78-RKSJ-H.bcmap │ │ │ ├── 78-RKSJ-V.bcmap │ │ │ ├── 78-V.bcmap │ │ │ ├── 78ms-RKSJ-H.bcmap │ │ │ ├── 78ms-RKSJ-V.bcmap │ │ │ ├── 83pv-RKSJ-H.bcmap │ │ │ ├── 90ms-RKSJ-H.bcmap │ │ │ ├── 90ms-RKSJ-V.bcmap │ │ │ ├── 90msp-RKSJ-H.bcmap │ │ │ ├── 90msp-RKSJ-V.bcmap │ │ │ ├── 90pv-RKSJ-H.bcmap │ │ │ ├── 90pv-RKSJ-V.bcmap │ │ │ ├── Add-H.bcmap │ │ │ ├── Add-RKSJ-H.bcmap │ │ │ ├── Add-RKSJ-V.bcmap │ │ │ ├── Add-V.bcmap │ │ │ ├── Adobe-CNS1-0.bcmap │ │ │ ├── Adobe-CNS1-1.bcmap │ │ │ ├── Adobe-CNS1-2.bcmap │ │ │ ├── Adobe-CNS1-3.bcmap │ │ │ ├── Adobe-CNS1-4.bcmap │ │ │ ├── Adobe-CNS1-5.bcmap │ │ │ ├── Adobe-CNS1-6.bcmap │ │ │ ├── Adobe-CNS1-UCS2.bcmap │ │ │ ├── Adobe-GB1-0.bcmap │ │ │ ├── Adobe-GB1-1.bcmap │ │ │ ├── Adobe-GB1-2.bcmap │ │ │ ├── Adobe-GB1-3.bcmap │ │ │ ├── Adobe-GB1-4.bcmap │ │ │ ├── Adobe-GB1-5.bcmap │ │ │ ├── Adobe-GB1-UCS2.bcmap │ │ │ ├── Adobe-Japan1-0.bcmap │ │ │ ├── Adobe-Japan1-1.bcmap │ │ │ ├── Adobe-Japan1-2.bcmap │ │ │ ├── Adobe-Japan1-3.bcmap │ │ │ ├── Adobe-Japan1-4.bcmap │ │ │ ├── Adobe-Japan1-5.bcmap │ │ │ ├── Adobe-Japan1-6.bcmap │ │ │ ├── Adobe-Japan1-UCS2.bcmap │ │ │ ├── Adobe-Korea1-0.bcmap │ │ │ ├── Adobe-Korea1-1.bcmap │ │ │ ├── Adobe-Korea1-2.bcmap │ │ │ ├── Adobe-Korea1-UCS2.bcmap │ │ │ ├── B5-H.bcmap │ │ │ ├── B5-V.bcmap │ │ │ ├── B5pc-H.bcmap │ │ │ ├── B5pc-V.bcmap │ │ │ ├── CNS-EUC-H.bcmap │ │ │ ├── CNS-EUC-V.bcmap │ │ │ ├── CNS1-H.bcmap │ │ │ ├── CNS1-V.bcmap │ │ │ ├── CNS2-H.bcmap │ │ │ ├── CNS2-V.bcmap │ │ │ ├── ETHK-B5-H.bcmap │ │ │ ├── ETHK-B5-V.bcmap │ │ │ ├── ETen-B5-H.bcmap │ │ │ ├── ETen-B5-V.bcmap │ │ │ ├── ETenms-B5-H.bcmap │ │ │ ├── ETenms-B5-V.bcmap │ │ │ ├── EUC-H.bcmap │ │ │ ├── EUC-V.bcmap │ │ │ ├── Ext-H.bcmap │ │ │ ├── Ext-RKSJ-H.bcmap │ │ │ ├── Ext-RKSJ-V.bcmap │ │ │ ├── Ext-V.bcmap │ │ │ ├── GB-EUC-H.bcmap │ │ │ ├── GB-EUC-V.bcmap │ │ │ ├── GB-H.bcmap │ │ │ ├── GB-V.bcmap │ │ │ ├── GBK-EUC-H.bcmap │ │ │ ├── GBK-EUC-V.bcmap │ │ │ ├── GBK2K-H.bcmap │ │ │ ├── GBK2K-V.bcmap │ │ │ ├── GBKp-EUC-H.bcmap │ │ │ ├── GBKp-EUC-V.bcmap │ │ │ ├── GBT-EUC-H.bcmap │ │ │ ├── GBT-EUC-V.bcmap │ │ │ ├── GBT-H.bcmap │ │ │ ├── GBT-V.bcmap │ │ │ ├── GBTpc-EUC-H.bcmap │ │ │ ├── GBTpc-EUC-V.bcmap │ │ │ ├── GBpc-EUC-H.bcmap │ │ │ ├── GBpc-EUC-V.bcmap │ │ │ ├── H.bcmap │ │ │ ├── HKdla-B5-H.bcmap │ │ │ ├── HKdla-B5-V.bcmap │ │ │ ├── HKdlb-B5-H.bcmap │ │ │ ├── HKdlb-B5-V.bcmap │ │ │ ├── HKgccs-B5-H.bcmap │ │ │ ├── HKgccs-B5-V.bcmap │ │ │ ├── HKm314-B5-H.bcmap │ │ │ ├── HKm314-B5-V.bcmap │ │ │ ├── HKm471-B5-H.bcmap │ │ │ ├── HKm471-B5-V.bcmap │ │ │ ├── HKscs-B5-H.bcmap │ │ │ ├── HKscs-B5-V.bcmap │ │ │ ├── Hankaku.bcmap │ │ │ ├── Hiragana.bcmap │ │ │ ├── KSC-EUC-H.bcmap │ │ │ ├── KSC-EUC-V.bcmap │ │ │ ├── KSC-H.bcmap │ │ │ ├── KSC-Johab-H.bcmap │ │ │ ├── KSC-Johab-V.bcmap │ │ │ ├── KSC-V.bcmap │ │ │ ├── KSCms-UHC-H.bcmap │ │ │ ├── KSCms-UHC-HW-H.bcmap │ │ │ ├── KSCms-UHC-HW-V.bcmap │ │ │ ├── KSCms-UHC-V.bcmap │ │ │ ├── KSCpc-EUC-H.bcmap │ │ │ ├── KSCpc-EUC-V.bcmap │ │ │ ├── Katakana.bcmap │ │ │ ├── LICENSE │ │ │ ├── NWP-H.bcmap │ │ │ ├── NWP-V.bcmap │ │ │ ├── RKSJ-H.bcmap │ │ │ ├── RKSJ-V.bcmap │ │ │ ├── Roman.bcmap │ │ │ ├── UniCNS-UCS2-H.bcmap │ │ │ ├── UniCNS-UCS2-V.bcmap │ │ │ ├── UniCNS-UTF16-H.bcmap │ │ │ ├── UniCNS-UTF16-V.bcmap │ │ │ ├── UniCNS-UTF32-H.bcmap │ │ │ ├── UniCNS-UTF32-V.bcmap │ │ │ ├── UniCNS-UTF8-H.bcmap │ │ │ ├── UniCNS-UTF8-V.bcmap │ │ │ ├── UniGB-UCS2-H.bcmap │ │ │ ├── UniGB-UCS2-V.bcmap │ │ │ ├── UniGB-UTF16-H.bcmap │ │ │ ├── UniGB-UTF16-V.bcmap │ │ │ ├── UniGB-UTF32-H.bcmap │ │ │ ├── UniGB-UTF32-V.bcmap │ │ │ ├── UniGB-UTF8-H.bcmap │ │ │ ├── UniGB-UTF8-V.bcmap │ │ │ ├── UniJIS-UCS2-H.bcmap │ │ │ ├── UniJIS-UCS2-HW-H.bcmap │ │ │ ├── UniJIS-UCS2-HW-V.bcmap │ │ │ ├── UniJIS-UCS2-V.bcmap │ │ │ ├── UniJIS-UTF16-H.bcmap │ │ │ ├── UniJIS-UTF16-V.bcmap │ │ │ ├── UniJIS-UTF32-H.bcmap │ │ │ ├── UniJIS-UTF32-V.bcmap │ │ │ ├── UniJIS-UTF8-H.bcmap │ │ │ ├── UniJIS-UTF8-V.bcmap │ │ │ ├── UniJIS2004-UTF16-H.bcmap │ │ │ ├── UniJIS2004-UTF16-V.bcmap │ │ │ ├── UniJIS2004-UTF32-H.bcmap │ │ │ ├── UniJIS2004-UTF32-V.bcmap │ │ │ ├── UniJIS2004-UTF8-H.bcmap │ │ │ ├── UniJIS2004-UTF8-V.bcmap │ │ │ ├── UniJISPro-UCS2-HW-V.bcmap │ │ │ ├── UniJISPro-UCS2-V.bcmap │ │ │ ├── UniJISPro-UTF8-V.bcmap │ │ │ ├── UniJISX0213-UTF32-H.bcmap │ │ │ ├── UniJISX0213-UTF32-V.bcmap │ │ │ ├── UniJISX02132004-UTF32-H.bcmap │ │ │ ├── UniJISX02132004-UTF32-V.bcmap │ │ │ ├── UniKS-UCS2-H.bcmap │ │ │ ├── UniKS-UCS2-V.bcmap │ │ │ ├── UniKS-UTF16-H.bcmap │ │ │ ├── UniKS-UTF16-V.bcmap │ │ │ ├── UniKS-UTF32-H.bcmap │ │ │ ├── UniKS-UTF32-V.bcmap │ │ │ ├── UniKS-UTF8-H.bcmap │ │ │ ├── UniKS-UTF8-V.bcmap │ │ │ ├── V.bcmap │ │ │ └── WP-Symbol.bcmap │ │ │ ├── compressed.tracemonkey-pldi-09.pdf │ │ │ ├── debugger.css │ │ │ ├── debugger.js │ │ │ ├── images │ │ │ ├── annotation-check.svg │ │ │ ├── annotation-comment.svg │ │ │ ├── annotation-help.svg │ │ │ ├── annotation-insert.svg │ │ │ ├── annotation-key.svg │ │ │ ├── annotation-newparagraph.svg │ │ │ ├── annotation-noicon.svg │ │ │ ├── annotation-note.svg │ │ │ ├── annotation-paperclip.svg │ │ │ ├── annotation-paragraph.svg │ │ │ ├── annotation-pushpin.svg │ │ │ ├── cursor-editorFreeText.svg │ │ │ ├── cursor-editorInk.svg │ │ │ ├── findbarButton-next.svg │ │ │ ├── findbarButton-previous.svg │ │ │ ├── loading-dark.svg │ │ │ ├── loading-icon.gif │ │ │ ├── loading.svg │ │ │ ├── secondaryToolbarButton-documentProperties.svg │ │ │ ├── secondaryToolbarButton-firstPage.svg │ │ │ ├── secondaryToolbarButton-handTool.svg │ │ │ ├── secondaryToolbarButton-lastPage.svg │ │ │ ├── secondaryToolbarButton-rotateCcw.svg │ │ │ ├── secondaryToolbarButton-rotateCw.svg │ │ │ ├── secondaryToolbarButton-scrollHorizontal.svg │ │ │ ├── secondaryToolbarButton-scrollPage.svg │ │ │ ├── secondaryToolbarButton-scrollVertical.svg │ │ │ ├── secondaryToolbarButton-scrollWrapped.svg │ │ │ ├── secondaryToolbarButton-selectTool.svg │ │ │ ├── secondaryToolbarButton-spreadEven.svg │ │ │ ├── secondaryToolbarButton-spreadNone.svg │ │ │ ├── secondaryToolbarButton-spreadOdd.svg │ │ │ ├── toolbarButton-bookmark.svg │ │ │ ├── toolbarButton-currentOutlineItem.svg │ │ │ ├── toolbarButton-download.svg │ │ │ ├── toolbarButton-editorFreeText.svg │ │ │ ├── toolbarButton-editorInk.svg │ │ │ ├── toolbarButton-menuArrow.svg │ │ │ ├── toolbarButton-openFile.svg │ │ │ ├── toolbarButton-pageDown.svg │ │ │ ├── toolbarButton-pageUp.svg │ │ │ ├── toolbarButton-presentationMode.svg │ │ │ ├── toolbarButton-print.svg │ │ │ ├── toolbarButton-search.svg │ │ │ ├── toolbarButton-secondaryToolbarToggle.svg │ │ │ ├── toolbarButton-sidebarToggle.svg │ │ │ ├── toolbarButton-viewAttachments.svg │ │ │ ├── toolbarButton-viewLayers.svg │ │ │ ├── toolbarButton-viewOutline.svg │ │ │ ├── toolbarButton-viewThumbnail.svg │ │ │ ├── toolbarButton-zoomIn.svg │ │ │ ├── toolbarButton-zoomOut.svg │ │ │ ├── treeitem-collapsed.svg │ │ │ └── treeitem-expanded.svg │ │ │ ├── locale │ │ │ ├── ach │ │ │ │ └── viewer.properties │ │ │ ├── af │ │ │ │ └── viewer.properties │ │ │ ├── an │ │ │ │ └── viewer.properties │ │ │ ├── ar │ │ │ │ └── viewer.properties │ │ │ ├── ast │ │ │ │ └── viewer.properties │ │ │ ├── az │ │ │ │ └── viewer.properties │ │ │ ├── be │ │ │ │ └── viewer.properties │ │ │ ├── bg │ │ │ │ └── viewer.properties │ │ │ ├── bn │ │ │ │ └── viewer.properties │ │ │ ├── bo │ │ │ │ └── viewer.properties │ │ │ ├── br │ │ │ │ └── viewer.properties │ │ │ ├── brx │ │ │ │ └── viewer.properties │ │ │ ├── bs │ │ │ │ └── viewer.properties │ │ │ ├── ca │ │ │ │ └── viewer.properties │ │ │ ├── cak │ │ │ │ └── viewer.properties │ │ │ ├── ckb │ │ │ │ └── viewer.properties │ │ │ ├── cs │ │ │ │ └── viewer.properties │ │ │ ├── cy │ │ │ │ └── viewer.properties │ │ │ ├── da │ │ │ │ └── viewer.properties │ │ │ ├── de │ │ │ │ └── viewer.properties │ │ │ ├── dsb │ │ │ │ └── viewer.properties │ │ │ ├── el │ │ │ │ └── viewer.properties │ │ │ ├── en-CA │ │ │ │ └── viewer.properties │ │ │ ├── en-GB │ │ │ │ └── viewer.properties │ │ │ ├── en-US │ │ │ │ └── viewer.properties │ │ │ ├── eo │ │ │ │ └── viewer.properties │ │ │ ├── es-AR │ │ │ │ └── viewer.properties │ │ │ ├── es-CL │ │ │ │ └── viewer.properties │ │ │ ├── es-ES │ │ │ │ └── viewer.properties │ │ │ ├── es-MX │ │ │ │ └── viewer.properties │ │ │ ├── et │ │ │ │ └── viewer.properties │ │ │ ├── eu │ │ │ │ └── viewer.properties │ │ │ ├── fa │ │ │ │ └── viewer.properties │ │ │ ├── ff │ │ │ │ └── viewer.properties │ │ │ ├── fi │ │ │ │ └── viewer.properties │ │ │ ├── fr │ │ │ │ └── viewer.properties │ │ │ ├── fur │ │ │ │ └── viewer.properties │ │ │ ├── fy-NL │ │ │ │ └── viewer.properties │ │ │ ├── ga-IE │ │ │ │ └── viewer.properties │ │ │ ├── gd │ │ │ │ └── viewer.properties │ │ │ ├── gl │ │ │ │ └── viewer.properties │ │ │ ├── gn │ │ │ │ └── viewer.properties │ │ │ ├── gu-IN │ │ │ │ └── viewer.properties │ │ │ ├── he │ │ │ │ └── viewer.properties │ │ │ ├── hi-IN │ │ │ │ └── viewer.properties │ │ │ ├── hr │ │ │ │ └── viewer.properties │ │ │ ├── hsb │ │ │ │ └── viewer.properties │ │ │ ├── hu │ │ │ │ └── viewer.properties │ │ │ ├── hy-AM │ │ │ │ └── viewer.properties │ │ │ ├── hye │ │ │ │ └── viewer.properties │ │ │ ├── ia │ │ │ │ └── viewer.properties │ │ │ ├── id │ │ │ │ └── viewer.properties │ │ │ ├── is │ │ │ │ └── viewer.properties │ │ │ ├── it │ │ │ │ └── viewer.properties │ │ │ ├── ja │ │ │ │ └── viewer.properties │ │ │ ├── ka │ │ │ │ └── viewer.properties │ │ │ ├── kab │ │ │ │ └── viewer.properties │ │ │ ├── kk │ │ │ │ └── viewer.properties │ │ │ ├── km │ │ │ │ └── viewer.properties │ │ │ ├── kn │ │ │ │ └── viewer.properties │ │ │ ├── ko │ │ │ │ └── viewer.properties │ │ │ ├── lij │ │ │ │ └── viewer.properties │ │ │ ├── lo │ │ │ │ └── viewer.properties │ │ │ ├── locale.properties │ │ │ ├── lt │ │ │ │ └── viewer.properties │ │ │ ├── ltg │ │ │ │ └── viewer.properties │ │ │ ├── lv │ │ │ │ └── viewer.properties │ │ │ ├── meh │ │ │ │ └── viewer.properties │ │ │ ├── mk │ │ │ │ └── viewer.properties │ │ │ ├── mr │ │ │ │ └── viewer.properties │ │ │ ├── ms │ │ │ │ └── viewer.properties │ │ │ ├── my │ │ │ │ └── viewer.properties │ │ │ ├── nb-NO │ │ │ │ └── viewer.properties │ │ │ ├── ne-NP │ │ │ │ └── viewer.properties │ │ │ ├── nl │ │ │ │ └── viewer.properties │ │ │ ├── nn-NO │ │ │ │ └── viewer.properties │ │ │ ├── oc │ │ │ │ └── viewer.properties │ │ │ ├── pa-IN │ │ │ │ └── viewer.properties │ │ │ ├── pl │ │ │ │ └── viewer.properties │ │ │ ├── pt-BR │ │ │ │ └── viewer.properties │ │ │ ├── pt-PT │ │ │ │ └── viewer.properties │ │ │ ├── rm │ │ │ │ └── viewer.properties │ │ │ ├── ro │ │ │ │ └── viewer.properties │ │ │ ├── ru │ │ │ │ └── viewer.properties │ │ │ ├── sat │ │ │ │ └── viewer.properties │ │ │ ├── sc │ │ │ │ └── viewer.properties │ │ │ ├── scn │ │ │ │ └── viewer.properties │ │ │ ├── sco │ │ │ │ └── viewer.properties │ │ │ ├── si │ │ │ │ └── viewer.properties │ │ │ ├── sk │ │ │ │ └── viewer.properties │ │ │ ├── skr │ │ │ │ └── viewer.properties │ │ │ ├── sl │ │ │ │ └── viewer.properties │ │ │ ├── son │ │ │ │ └── viewer.properties │ │ │ ├── sq │ │ │ │ └── viewer.properties │ │ │ ├── sr │ │ │ │ └── viewer.properties │ │ │ ├── sv-SE │ │ │ │ └── viewer.properties │ │ │ ├── szl │ │ │ │ └── viewer.properties │ │ │ ├── ta │ │ │ │ └── viewer.properties │ │ │ ├── te │ │ │ │ └── viewer.properties │ │ │ ├── tg │ │ │ │ └── viewer.properties │ │ │ ├── th │ │ │ │ └── viewer.properties │ │ │ ├── tl │ │ │ │ └── viewer.properties │ │ │ ├── tr │ │ │ │ └── viewer.properties │ │ │ ├── trs │ │ │ │ └── viewer.properties │ │ │ ├── uk │ │ │ │ └── viewer.properties │ │ │ ├── ur │ │ │ │ └── viewer.properties │ │ │ ├── uz │ │ │ │ └── viewer.properties │ │ │ ├── vi │ │ │ │ └── viewer.properties │ │ │ ├── wo │ │ │ │ └── viewer.properties │ │ │ ├── xh │ │ │ │ └── viewer.properties │ │ │ ├── zh-CN │ │ │ │ └── viewer.properties │ │ │ └── zh-TW │ │ │ │ └── viewer.properties │ │ │ ├── standard_fonts │ │ │ ├── FoxitDingbats.pfb │ │ │ ├── FoxitFixed.pfb │ │ │ ├── FoxitFixedBold.pfb │ │ │ ├── FoxitFixedBoldItalic.pfb │ │ │ ├── FoxitFixedItalic.pfb │ │ │ ├── FoxitSans.pfb │ │ │ ├── FoxitSansBold.pfb │ │ │ ├── FoxitSansBoldItalic.pfb │ │ │ ├── FoxitSansItalic.pfb │ │ │ ├── FoxitSerif.pfb │ │ │ ├── FoxitSerifBold.pfb │ │ │ ├── FoxitSerifBoldItalic.pfb │ │ │ ├── FoxitSerifItalic.pfb │ │ │ ├── FoxitSymbol.pfb │ │ │ ├── LICENSE_FOXIT │ │ │ ├── LICENSE_LIBERATION │ │ │ ├── LiberationSans-Bold.ttf │ │ │ ├── LiberationSans-BoldItalic.ttf │ │ │ ├── LiberationSans-Italic.ttf │ │ │ └── LiberationSans-Regular.ttf │ │ │ ├── viewer.css │ │ │ ├── viewer.html │ │ │ ├── viewer.js │ │ │ └── viewer.js.map │ │ └── readium │ │ ├── BSD_license.txt │ │ ├── Gruntfile.js │ │ ├── README.md │ │ ├── css │ │ ├── annotations.css │ │ ├── bootstrap.css │ │ ├── library.css │ │ ├── readium_js.css │ │ ├── readium_js.css.new │ │ ├── settings.css │ │ ├── sourcesanspro.css │ │ ├── viewer.css │ │ ├── viewer.css.modified │ │ └── viewer_audio.css │ │ ├── embed.html │ │ ├── extend_require_config.js │ │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ └── glyphicons-halflings-regular.woff │ │ ├── grunt │ │ ├── aliases.js │ │ ├── clean.js │ │ ├── concurrent.js │ │ ├── copy.js │ │ ├── crx.js │ │ ├── cssmin.js │ │ ├── env.js │ │ ├── express.js │ │ ├── nodeunit.js │ │ ├── requirejs.js │ │ ├── run_grunt.js │ │ ├── simplemocha.js │ │ ├── versioning.js │ │ └── watch.js │ │ ├── i18n │ │ ├── Strings.js │ │ └── _locales │ │ │ ├── de │ │ │ └── messages.json │ │ │ ├── en_US │ │ │ └── messages.json │ │ │ ├── es │ │ │ └── messages.json │ │ │ ├── fr │ │ │ └── messages.json │ │ │ ├── id │ │ │ └── messages.json │ │ │ ├── it │ │ │ └── messages.json │ │ │ ├── ja │ │ │ └── messages.json │ │ │ ├── ko │ │ │ └── messages.json │ │ │ ├── pt_BR │ │ │ └── messages.json │ │ │ ├── zh_CN │ │ │ └── messages.json │ │ │ └── zh_TW │ │ │ └── messages.json │ │ ├── images │ │ ├── about_readium_logo.png │ │ ├── covers │ │ │ ├── cover1.jpg │ │ │ ├── cover2.jpg │ │ │ ├── cover3.jpg │ │ │ ├── cover4.jpg │ │ │ ├── cover5.jpg │ │ │ ├── cover6.jpg │ │ │ ├── cover7.jpg │ │ │ └── cover8.jpg │ │ ├── epub-touch-icon.png │ │ ├── epub_favicon.ico │ │ ├── glyphicons_115_text_smaller.png │ │ ├── glyphicons_116_text_bigger.png │ │ ├── ico_doublepage_up.png │ │ ├── ico_singlepage_up.png │ │ ├── library_arrow.png │ │ ├── margin1_off.png │ │ ├── margin4_off.png │ │ ├── pagination.svg │ │ ├── pagination1.svg │ │ ├── partner_logos.png │ │ ├── readium-touch-icon.png │ │ ├── readium_favicon.png │ │ └── readium_logo.png │ │ ├── index.html │ │ ├── lib │ │ ├── Dialogs.js │ │ ├── EpubLibrary.js │ │ ├── EpubLibraryManager.js │ │ ├── EpubReader.js │ │ ├── EpubReader.js.modified │ │ ├── EpubReaderBackgroundAudioTrack.js │ │ ├── EpubReaderMediaOverlays.js │ │ ├── Keyboard.js │ │ ├── PackageParser.js │ │ ├── ReaderSettingsDialog.js │ │ ├── ReaderSettingsDialog_Keyboard.js │ │ ├── Readium.js │ │ ├── ReadiumViewer.js │ │ ├── ReadiumViewerLite.js │ │ ├── Spinner.js │ │ ├── analytics │ │ │ └── Analytics.js │ │ ├── console_shim.js │ │ ├── gestures.js │ │ ├── initialize_viewer.js │ │ ├── mathjax │ │ │ └── MathJax.js │ │ ├── migration │ │ │ └── MigrationManager.js │ │ ├── require.js │ │ ├── storage │ │ │ ├── EpubUnzipper.js │ │ │ ├── RemoteStorageManager.js │ │ │ ├── Settings.js │ │ │ └── StaticStorageManager.js │ │ ├── thirdparty │ │ │ ├── URIjs │ │ │ │ ├── IPv6.js │ │ │ │ ├── SecondLevelDomains.js │ │ │ │ ├── URI.js │ │ │ │ └── punycode.js │ │ │ ├── almond.js │ │ │ ├── backbone-0.9.10.js │ │ │ ├── bootstrap.min.js │ │ │ ├── console_shim.js │ │ │ ├── crypto-sha1.js │ │ │ ├── deflate.js │ │ │ ├── hammer.js │ │ │ ├── hgn.js │ │ │ ├── hogan.js │ │ │ ├── inflate.js │ │ │ ├── jath.min.js │ │ │ ├── jquery-1.11.0.js │ │ │ ├── jquery.hammer.js │ │ │ ├── json2.js │ │ │ ├── keymaster.js │ │ │ ├── remotestorage.js │ │ │ ├── screenfull.js │ │ │ ├── spin.min.js │ │ │ ├── text │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── package.json │ │ │ │ └── text.js │ │ │ ├── underscore-1.4.4.js │ │ │ ├── zip-ext.js │ │ │ ├── zip-fs.js │ │ │ └── zip.js │ │ ├── versioning │ │ │ ├── PackagedVersioning.js │ │ │ └── UnpackagedVersioning.js │ │ └── workers │ │ │ ├── ContentTransformer.js │ │ │ ├── EpubLibraryWriter.js │ │ │ ├── Messages.js │ │ │ └── WorkerProxy.js │ │ ├── logos │ │ ├── mini-logo.png │ │ ├── readium (no glow).svg │ │ ├── readium rotated (no glow).svg │ │ ├── readium-rotated.svg │ │ └── readium.svg │ │ ├── require_config.js │ │ ├── simpleviewer2.html │ │ └── templates │ │ ├── about-dialog.html │ │ ├── add-epub-dialog.html │ │ ├── details-body.html │ │ ├── details-dialog.html │ │ ├── empty-library.html │ │ ├── library-body.html │ │ ├── library-item.html │ │ ├── library-navbar.html │ │ ├── managed-buttons.html │ │ ├── managed-dialog.html │ │ ├── progress-dialog.html │ │ ├── reader-body-page-btns.html │ │ ├── reader-body.html │ │ ├── reader-navbar.html │ │ ├── reader-navbar.html.modified │ │ ├── settings-dialog.html │ │ └── settings-keyboard-item.html └── src │ ├── app.html │ ├── assets │ ├── css │ │ └── fonts.css │ └── fonts │ │ ├── Roboto-100-cyrillic-ext1.woff2 │ │ ├── Roboto-100-cyrillic2.woff2 │ │ ├── Roboto-100-greek-ext3.woff2 │ │ ├── Roboto-100-greek4.woff2 │ │ ├── Roboto-100-latin-ext6.woff2 │ │ ├── Roboto-100-latin7.woff2 │ │ └── Roboto-100-vietnamese5.woff2 │ ├── components │ ├── AppFooter.vue │ ├── AppHeader.vue │ ├── AppPress.vue │ ├── BookCards.vue │ ├── Loading.vue │ ├── SSLManager.vue │ └── Upload.vue │ ├── layouts │ ├── default.vue │ └── error.vue │ ├── pages │ ├── ListBook.vue │ ├── ListMeta.vue │ ├── _meta │ │ └── _name.vue │ ├── active │ │ └── success.vue │ ├── admin │ │ ├── books.vue │ │ ├── imports.vue │ │ ├── settings.vue │ │ └── users.vue │ ├── author.vue │ ├── book │ │ ├── _bid │ │ │ ├── edit.vue │ │ │ └── readtxt.vue │ │ └── _bookid.vue │ ├── hot.vue │ ├── index.vue │ ├── install.vue │ ├── login.vue │ ├── logout.vue │ ├── nav.vue │ ├── opds-readme.vue │ ├── publisher.vue │ ├── rating.vue │ ├── recent.vue │ ├── search.vue │ ├── series.vue │ ├── signup.vue │ ├── tag.vue │ ├── user │ │ ├── detail.vue │ │ └── history.vue │ └── welcome.vue │ ├── plugins │ ├── load-plugins.js │ └── talebook.js │ └── store │ └── index.js ├── conf ├── nginx │ ├── server-side-render.conf │ ├── ssl.crt │ ├── ssl.key │ └── talebook.conf └── supervisor │ ├── server-side-render.conf │ └── talebook.conf ├── docker-compose.yml ├── docker ├── book │ ├── 1.epub │ ├── 10.mobi │ ├── 11.azw3 │ ├── 12.txt │ ├── 13.pdf │ ├── 2.epub │ ├── 3.epub │ ├── 4.epub │ ├── 5.epub │ ├── 6.epub │ ├── 7.epub │ ├── 8.epub │ └── 9.epub └── start.sh ├── document ├── Development.zh_CN.md ├── README.zh_CN.md └── screenshot.png ├── features.md ├── kubernetes ├── douban-rs-api-deployment.yaml ├── douban-rs-api-service.yaml ├── talebook-claim0-persistentvolumeclaim.yaml ├── talebook-deployment.yaml └── talebook-service.yaml ├── pyproject.xml ├── requirements.txt ├── server.py ├── tests ├── .gitignore ├── __init__.py ├── cases │ ├── big-metadata.db │ ├── book.txt │ ├── import.mobi │ ├── metadata.db │ ├── new.epub │ ├── old.epub │ ├── ssl.crt │ ├── ssl.key │ ├── title_has_0x00.pdf │ └── users.db ├── library │ ├── 严歌苓 │ │ └── 芳华 (7) │ │ │ ├── cover.jpg │ │ │ └── 芳华 - 严歌苓.epub │ ├── 五味太郎 │ │ └── 鳄鱼怕怕牙医怕怕 (5) │ │ │ ├── cover.jpg │ │ │ └── 鳄鱼怕怕牙医怕怕 - 五味太郎.pdf │ ├── 刘醒龙 │ │ └── 天行者 (8) │ │ │ ├── cover.jpg │ │ │ └── 天行者 - 刘醒龙.epub │ ├── 加西亚·马尔克斯 │ │ └── 百年孤独 (1) │ │ │ ├── Bai Nian Gu Du - Jia Xi Ya _Ma Er Ke Si.mobi │ │ │ ├── cover.jpg │ │ │ └── 百年孤独 - 加西亚·马尔克斯.epub │ ├── 安徒生 │ │ └── 安徒生童话 (3) │ │ │ ├── cover.jpg │ │ │ └── 安徒生童话 - 安徒生.mobi │ ├── 海明威 │ │ └── 老人与海 (10) │ │ │ ├── cover.jpg │ │ │ └── 老人与海 - 海明威.epub │ ├── 笛福 │ │ └── 鲁滨孙历险记 (9) │ │ │ ├── cover.jpg │ │ │ └── 鲁滨孙历险记 - 笛福.epub │ ├── 纳尔逊·曼德拉 │ │ └── 漫漫自由路 (2) │ │ │ ├── cover.jpg │ │ │ └── 漫漫自由路 - 纳尔逊·曼德拉.txt │ ├── 艾森·拉塞尔 │ │ └── 麦肯锡方法 (4) │ │ │ ├── cover.jpg │ │ │ └── 麦肯锡方法 - 艾森·拉塞尔.azw3 │ ├── 蘅塘退士 │ │ └── 唐诗三百首 (6) │ │ │ ├── cover.jpg │ │ │ └── 唐诗三百首 - 蘅塘退士.epub │ ├── 詹姆斯·巴里 │ │ └── 彼得·潘 (13) │ │ │ ├── cover.jpg │ │ │ └── 彼得·潘 - 詹姆斯·巴里.epub │ ├── 陀思妥耶夫斯基 │ │ └── 罪与罚 (11) │ │ │ ├── cover.jpg │ │ │ └── 罪与罚 - 陀思妥耶夫斯基.epub │ └── 韩寒 │ │ └── 他的国 (12) │ │ ├── cover.jpg │ │ └── 他的国 - 韩寒.epub ├── run.py ├── test_admin.py ├── test_baike.py ├── test_douban.py ├── test_main.py ├── test_models.py ├── test_scan.py ├── test_service.py ├── test_ssl_crt.py ├── test_txt.py ├── test_upload.py ├── test_utils.py └── test_youshu.py ├── tools ├── kgbook.com │ └── spider.py ├── mebook-spider.py ├── orzbook-spider.py ├── run-spider.sh ├── spider.py ├── tools.py ├── update.sh └── watch-settings-and-reload-nginx.sh └── webserver ├── __init__.py ├── constants.py ├── handlers ├── __init__.py ├── admin.py ├── base.py ├── book.py ├── files.py ├── meta.py ├── opds.py ├── scan.py └── user.py ├── loader.py ├── main.py ├── models.py ├── plugins ├── __init__.py ├── meta │ ├── __init__.py │ ├── baike │ │ ├── __init__.py │ │ ├── api.py │ │ └── baidubaike │ │ │ ├── __init__.py │ │ │ ├── baidubaike.py │ │ │ └── baiduexception.py │ ├── douban.py │ └── youshu │ │ ├── __init__.py │ │ └── api.py └── parser │ ├── __init__.py │ └── txt.py ├── resources ├── book │ ├── creader.html │ ├── epubjs.html │ └── readium.html ├── calibre │ └── default_cover.jpg └── index.html ├── services ├── __init__.py ├── async_service.py ├── autofill.py ├── convert.py ├── extract.py ├── mail.py └── scan.py ├── settings.py ├── social_routes.py ├── utils.py └── version.py /.dockerignore: -------------------------------------------------------------------------------- 1 | .git 2 | app/.env 3 | app/dist 4 | app/.nuxt 5 | app/node_modules 6 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [talebook] 4 | custom: ["https://paypal.me/rexliao"] 5 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/希望作者支持某个功能.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 希望作者支持某个功能 3 | about: 产品特性建议 4 | title: '' 5 | labels: feature 6 | assignees: '' 7 | 8 | --- 9 | 10 | # 背景:什么情况下需要这个功能 11 | 比如说:现在阅读TXT文件时很难受,所以希望作者优化 12 | 13 | # 需求:想要做成什么样子 14 | 比如说:建议参考某某软件的样子,做一个类似的TXT阅读器;功能可以简单些,最关键是识别出目录,可以每次点击「下一章」进行阅读。 15 | 参考的地址:xxxx 16 | 17 | # 示意图 18 | 用 [腾讯文档的流程图](https://docs.qq.com/flowchart/) 绘制示意图,或者 贴一下其他类似软件的截图 19 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/我要反馈问题.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 我要反馈问题 3 | about: 反馈问题,寻求帮助 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | # 问题描述 11 | 几句话简要描述问题 12 | 13 | # 问题环境 14 | - 版本号:例如v3.6.1 15 | - URL:出现异常时的URL 16 | - 运行系统:NAS/DOCKER/网站等 17 | - 访问设备:Windows/Linux/Mac/iPhone12/Android9等 18 | - 浏览器版本:例如 Chrome 版本 120.0.6099.109 19 | - 书籍信息:如果是特定的书异常,请提供「书名」和「作者名」 20 | 21 | # 复现步骤 22 | 1. 先做啥 23 | 2. 再做啥 24 | 3. 看到报错XXX 25 | 26 | # 截图 27 | 请上传报错的截图 28 | 29 | # 报错信息 30 | 把系统上提示的报错信息文字版粘贴出来 31 | 32 | # 日志 33 | 请上传 `talebook.log` 文件,或截取日志中 提示 `Exceptions` 的部分 34 | 35 | # 书籍文件 36 | 如果是特定某本书出现异常,请上传该书籍文件 37 | 38 | # 其他 39 | 如果是比较复杂的问题,可以把整个书库 `/books/library/metadata.db` 数据库文件上传,以便作者复现异常场景 40 | -------------------------------------------------------------------------------- /.style.yapf: -------------------------------------------------------------------------------- 1 | [style] 2 | column_limit=127 3 | based_on_style=google 4 | 5 | [flake8] 6 | ignore = 7 | ;W503 line break before binary operator 8 | W503, 9 | ;E203 whitespace before ':' 10 | E203, 11 | ; whitespace after ':' 12 | ;E241, 13 | ;multiple imports on one line 14 | E401, 15 | ;bare 'except' 16 | E722, 17 | C901, 18 | E402, 19 | 20 | 21 | ; exclude file 22 | exclude = 23 | .tox, 24 | .git, 25 | __pycache__, 26 | build, 27 | dist, 28 | *.pyc, 29 | *.egg-info, 30 | .cache, 31 | .eggs 32 | 33 | max-complexity = 10 34 | max-line-length = 127 35 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "python.testing.pytestArgs": [ 3 | "webserver" 4 | ], 5 | "python.testing.unittestEnabled": true, 6 | "python.testing.pytestEnabled": false, 7 | "python.formatting.provider": "black", 8 | "python.testing.unittestArgs": [ 9 | "-v", 10 | "-s", 11 | "./tests", 12 | "-p", 13 | "test*.py" 14 | ] 15 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 2-Clause License 2 | 3 | Copyright (c) 2022, Rex 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /app/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /app/Makefile: -------------------------------------------------------------------------------- 1 | 2 | all: 3 | NODE_OPTIONS=--openssl-legacy-provider npm run build-spa 4 | -------------------------------------------------------------------------------- /app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "talebook", 3 | "version": "1.0.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "nuxt", 7 | "build": "nuxt build", 8 | "build-spa": "nuxt build --spa", 9 | "start": "nuxt start", 10 | "generate": "nuxt generate" 11 | }, 12 | "dependencies": { 13 | "core-js": "^3.19.3", 14 | "nuxt": "^2.15.8", 15 | "vue": "^2.6.14", 16 | "vue-cookies": "^1.7.4", 17 | "vue-server-renderer": "^2.6.14", 18 | "vue-template-compiler": "^2.6.14", 19 | "vuetify": "^2.6.10", 20 | "webpack": "^4.46.0" 21 | }, 22 | "devDependencies": { 23 | "@mdi/font": "^6.5.95", 24 | "@nuxtjs/google-analytics": "^2.4.0", 25 | "@nuxtjs/google-fonts": "^1.3.0", 26 | "@nuxtjs/vuetify": "^1.12.3", 27 | "connect-logger": "^0.0.1", 28 | "material-design-icons-iconfont": "^6.4.1" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/public/logo/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/logo/favicon.ico -------------------------------------------------------------------------------- /app/public/logo/link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/logo/link.png -------------------------------------------------------------------------------- /app/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: /login 3 | 4 | User-agent: SemrushBot 5 | Disallow: / 6 | 7 | User-agent: YandexBot 8 | Disallow: / 9 | 10 | User-agent: AhrefsBot 11 | Disallow: / 12 | 13 | User-agent: MJ12bot 14 | Disallow: / 15 | 16 | User-agent: Exabot 17 | Disallow: / 18 | 19 | -------------------------------------------------------------------------------- /app/public/static/README: -------------------------------------------------------------------------------- 1 | This dir is for tornado 2 | -------------------------------------------------------------------------------- /app/public/static/candle-reader/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/candle-reader/favicon.ico -------------------------------------------------------------------------------- /app/public/static/epubreader/README: -------------------------------------------------------------------------------- 1 | https://github.com/intity/epubreader-js 2 | -------------------------------------------------------------------------------- /app/public/static/epubreader/css/toolbar.css: -------------------------------------------------------------------------------- 1 | #toolbar { 2 | height: 58px; 3 | margin: 0; 4 | padding: 0; 5 | z-index: 10; 6 | display: grid; 7 | position: relative; 8 | } 9 | 10 | #toolbar .menu-1 { 11 | display: flex; 12 | grid-column: 1; 13 | justify-content: left; 14 | } 15 | 16 | #toolbar .menu-2 { 17 | display: flex; 18 | grid-column: 2; 19 | justify-content: right; 20 | } 21 | 22 | #toolbar .box { 23 | width: 58px; 24 | height: 36px; 25 | } 26 | 27 | #toolbar #btn-p.box, 28 | #toolbar #btn-n.box { 29 | display: none; 30 | } 31 | 32 | /** 33 | * iPhone 5 : 320 x 568 34 | */ 35 | @media 36 | only screen and (width: 320px) and (orientation: portrait), 37 | only screen and (height: 320px) and (orientation: landscape) { 38 | #toolbar { 39 | height: 52px; 40 | } 41 | 42 | #toolbar .box { 43 | width: 52px; 44 | height: 30px; 45 | } 46 | } -------------------------------------------------------------------------------- /app/public/static/epubreader/font/fontello.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/epubreader/font/fontello.eot -------------------------------------------------------------------------------- /app/public/static/epubreader/font/fontello.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/epubreader/font/fontello.ttf -------------------------------------------------------------------------------- /app/public/static/epubreader/font/fontello.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/epubreader/font/fontello.woff -------------------------------------------------------------------------------- /app/public/static/epubreader/img/bookmark.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <svg 3 | width="24" 4 | height="24" 5 | viewBox="0 0 24 24" 6 | version="1.1" 7 | id="svg8" 8 | xmlns="http://www.w3.org/2000/svg" 9 | xmlns:svg="http://www.w3.org/2000/svg" 10 | xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 11 | xmlns:cc="http://creativecommons.org/ns#" 12 | xmlns:dc="http://purl.org/dc/elements/1.1/"> 13 | <defs 14 | id="defs2" /> 15 | <metadata 16 | id="metadata5"> 17 | <rdf:RDF> 18 | <cc:Work 19 | rdf:about=""> 20 | <dc:format>image/svg+xml</dc:format> 21 | <dc:type 22 | rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 23 | </cc:Work> 24 | </rdf:RDF> 25 | </metadata> 26 | <path 27 | style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 28 | d="M 17.999954,19 V 6.0005715 c 0.0055,-0.5404808 -0.486177,-1.0065668 -1.05965,-1.0005132 l -9.8805431,9.4e-6 C 6.4867076,4.9938621 5.9945296,5.4592827 6.000046,6.0005812 L 6.0000596,19 12.000008,15.870311 Z" 29 | id="path2" /> 30 | <path 31 | style="fill:none;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 32 | d="M 0,24 H 24 V 0 H 0 Z" 33 | id="path1" /> 34 | </svg> 35 | -------------------------------------------------------------------------------- /app/public/static/epubreader/img/bookmarked.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <svg 3 | width="24" 4 | height="24" 5 | viewBox="0 0 24 24" 6 | version="1.1" 7 | id="svg8" 8 | xmlns="http://www.w3.org/2000/svg" 9 | xmlns:svg="http://www.w3.org/2000/svg" 10 | xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 11 | xmlns:cc="http://creativecommons.org/ns#" 12 | xmlns:dc="http://purl.org/dc/elements/1.1/"> 13 | <defs 14 | id="defs2" /> 15 | <metadata 16 | id="metadata5"> 17 | <rdf:RDF> 18 | <cc:Work 19 | rdf:about=""> 20 | <dc:format>image/svg+xml</dc:format> 21 | <dc:type 22 | rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 23 | </cc:Work> 24 | </rdf:RDF> 25 | </metadata> 26 | <path 27 | style="fill:#000000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 28 | d="M 17.999952,19.000197 V 6.0004752 C 18.005564,5.4599824 17.51378,4.9938857 16.940305,4.9999393 l -9.8805441,9.6e-6 C 6.4867083,4.9937431 5.9945302,5.459174 6.000046,6.0004848 l 1.38e-5,12.9997122 5.9999452,-3.129762 z" 29 | id="path2" /> 30 | <path 31 | style="fill:none;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 32 | d="M 0,24 H 24 V 0 H 0 Z" 33 | id="path1" /> 34 | </svg> 35 | -------------------------------------------------------------------------------- /app/public/static/epubreader/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/epubreader/img/favicon.png -------------------------------------------------------------------------------- /app/public/static/epubreader/img/favicon.svg: -------------------------------------------------------------------------------- 1 | <svg height="16" viewBox="-3 -3.01 544.84 544.86" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m269.4 438.74-169.3-169.34 169.3-169.3 56.46 56.43-112.9 112.87 56.45 56.45 169.33-169.3-147.5-147.5c-12.04-12.06-31.58-12.06-43.63 0l-238.58 238.55c-12.03 12.06-12.03 31.6 0 43.65l238.57 238.55c12.05 12.05 31.6 12.05 43.63 0l238.57-238.56c12.04-12.05 12.04-31.6 0-43.63l-34.64-34.61z" fill="#86b918"/></svg> -------------------------------------------------------------------------------- /app/public/static/epubreader/img/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/epubreader/img/loader.gif -------------------------------------------------------------------------------- /app/public/static/epubreader/img/next.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <svg 3 | width="24" 4 | height="24" 5 | viewBox="0 0 24 24" 6 | version="1.1" 7 | id="svg8" 8 | xmlns="http://www.w3.org/2000/svg" 9 | xmlns:svg="http://www.w3.org/2000/svg" 10 | xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 11 | xmlns:cc="http://creativecommons.org/ns#" 12 | xmlns:dc="http://purl.org/dc/elements/1.1/"> 13 | <defs 14 | id="defs2" /> 15 | <metadata 16 | id="metadata5"> 17 | <rdf:RDF> 18 | <cc:Work 19 | rdf:about=""> 20 | <dc:format>image/svg+xml</dc:format> 21 | <dc:type 22 | rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 23 | </cc:Work> 24 | </rdf:RDF> 25 | </metadata> 26 | <path 27 | style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 28 | d="M 12,19 19,12 12,4.9999999" 29 | id="path3" /> 30 | <path 31 | style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 32 | d="M 4.9999999,12 H 19" 33 | id="path2" /> 34 | <path 35 | style="fill:none;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 36 | d="M 0,24 H 24 V 0 H 0 Z" 37 | id="path1" /> 38 | </svg> 39 | -------------------------------------------------------------------------------- /app/public/static/epubreader/img/search-clear.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <svg 3 | width="24" 4 | height="24" 5 | viewBox="0 0 24 24" 6 | version="1.1" 7 | id="svg8" 8 | xmlns="http://www.w3.org/2000/svg" 9 | xmlns:svg="http://www.w3.org/2000/svg" 10 | xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 11 | xmlns:cc="http://creativecommons.org/ns#" 12 | xmlns:dc="http://purl.org/dc/elements/1.1/"> 13 | <defs 14 | id="defs2" /> 15 | <metadata 16 | id="metadata5"> 17 | <rdf:RDF> 18 | <cc:Work 19 | rdf:about=""> 20 | <dc:format>image/svg+xml</dc:format> 21 | <dc:type 22 | rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 23 | </cc:Work> 24 | </rdf:RDF> 25 | </metadata> 26 | <path 27 | style="fill:none;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-linecap:round" 28 | d="M 18,6 C 6,18 6,18 6,18" 29 | id="path2" /> 30 | <path 31 | style="fill:none;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-linecap:round" 32 | d="M 6,6 18,18" 33 | id="path1" /> 34 | <path 35 | style="fill:none;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 36 | d="M 0,24 H 24 V 0 H 0 Z" 37 | id="path4" /> 38 | </svg> 39 | -------------------------------------------------------------------------------- /app/public/static/epubreader/index.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html> 2 | <html> 3 | 4 | <head> 5 | <title></title> 6 | 7 | <meta charset="utf-8"> 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 9 | <meta http-equiv="Permissions-Policy" content="interest-cohort=()"> 10 | <meta name="description" content=""> 11 | <meta name="viewport" content="width=device-width, user-scalable=no"> 12 | <meta name="apple-mobile-web-app-capable" content="yes"> 13 | 14 | <link rel="icon" type="image/png" href="img/favicon.png"> 15 | <link rel="stylesheet" href="css/main.css"> 16 | 17 | <!-- Libs --> 18 | <script src="js/libs/jszip.min.js"></script> 19 | <script src="js/libs/md5.min.js"></script> 20 | <script src="js/libs/epub.min.js"></script> 21 | 22 | <!-- Reader --> 23 | <script type="module"> 24 | import { Reader } from "./js/epubreader.min.js" 25 | const url = new URL(window.location) 26 | const path = url.searchParams.get("bookPath") || "https://s3.amazonaws.com/moby-dick/" 27 | window.onload = (e) => new Reader(path) 28 | </script> 29 | </head> 30 | 31 | <body> 32 | </body> 33 | 34 | </html> -------------------------------------------------------------------------------- /app/public/static/epubreader/js/libs/jszip.min.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | 3 | JSZip v3.10.1 - A JavaScript class for generating and reading zip files 4 | <http://stuartk.com/jszip> 5 | 6 | (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com> 7 | Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown. 8 | 9 | JSZip uses the library pako released under the MIT license : 10 | https://github.com/nodeca/pako/blob/main/LICENSE 11 | */ 12 | -------------------------------------------------------------------------------- /app/public/static/epubreader/js/libs/md5.min.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /** 2 | * [js-md5]{@link https://github.com/emn178/js-md5} 3 | * 4 | * @namespace md5 5 | * @version 0.7.3 6 | * @author Chen, Yi-Cyuan [emn178@gmail.com] 7 | * @copyright Chen, Yi-Cyuan 2014-2017 8 | * @license MIT 9 | */ 10 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/VERSION: -------------------------------------------------------------------------------- 1 | 3.3.122 2 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/78-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/78-EUC-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/78-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/78-EUC-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/78-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/78-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/78-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/78-RKSJ-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/78-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/78-RKSJ-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/78-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/78-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Add-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Add-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Add-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Add-RKSJ-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Add-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Add-RKSJ-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Add-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Add-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-GB1-0.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-GB1-0.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-GB1-1.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-GB1-1.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-GB1-2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-GB1-2.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-GB1-3.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-GB1-3.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-GB1-4.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-GB1-4.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-GB1-5.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-GB1-5.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/B5-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/B5-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/B5pc-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/B5pc-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/B5pc-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/B5pc-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/CNS-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/CNS-EUC-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/CNS-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/CNS-EUC-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/CNS1-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/CNS1-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/CNS1-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/CNS1-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/CNS2-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/CNS2-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/CNS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/CNS2-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/ETHK-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/ETHK-B5-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/ETHK-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/ETHK-B5-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/ETen-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/ETen-B5-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/ETen-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/ETen-B5-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/ETenms-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/ETenms-B5-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/ETenms-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/ETenms-B5-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/EUC-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/EUC-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Ext-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Ext-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Ext-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Ext-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GB-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GB-EUC-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GB-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GB-EUC-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GB-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GB-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GB-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GB-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GBK-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GBK-EUC-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GBK-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GBK-EUC-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GBK2K-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GBK2K-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GBK2K-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GBK2K-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GBKp-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GBKp-EUC-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GBKp-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GBKp-EUC-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GBT-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GBT-EUC-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GBT-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GBT-EUC-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GBT-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GBT-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GBT-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GBT-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GBpc-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GBpc-EUC-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/GBpc-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/GBpc-EUC-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/HKdla-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/HKdla-B5-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/HKdla-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/HKdla-B5-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/HKdlb-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/HKdlb-B5-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/HKdlb-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/HKdlb-B5-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/HKgccs-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/HKgccs-B5-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/HKgccs-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/HKgccs-B5-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/HKm314-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/HKm314-B5-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/HKm314-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/HKm314-B5-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/HKm471-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/HKm471-B5-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/HKm471-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/HKm471-B5-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/HKscs-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/HKscs-B5-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/HKscs-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/HKscs-B5-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Hankaku.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Hankaku.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Hiragana.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Hiragana.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/KSC-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/KSC-EUC-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/KSC-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/KSC-EUC-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/KSC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/KSC-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/KSC-Johab-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/KSC-Johab-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/KSC-Johab-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/KSC-Johab-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/KSC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/KSC-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/KSCms-UHC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/KSCms-UHC-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/KSCms-UHC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/KSCms-UHC-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Katakana.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Katakana.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/NWP-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/NWP-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/NWP-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/NWP-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/RKSJ-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/RKSJ-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/Roman.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/Roman.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/V.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/cmaps/WP-Symbol.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/cmaps/WP-Symbol.bcmap -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/compressed.tracemonkey-pldi-09.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/compressed.tracemonkey-pldi-09.pdf -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/annotation-check.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <svg 3 | xmlns="http://www.w3.org/2000/svg" 4 | width="40" 5 | height="40" 6 | viewBox="0 0 40 40"> 7 | <path 8 | d="M 1.5006714,23.536225 6.8925879,18.994244 14.585721,26.037937 34.019683,4.5410479 38.499329,9.2235032 14.585721,35.458952 z" 9 | id="path4" 10 | style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:1.25402856;stroke-opacity:1" /> 11 | </svg> 12 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/annotation-comment.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <svg 3 | xmlns="http://www.w3.org/2000/svg" 4 | height="40" 5 | width="40" 6 | viewBox="0 0 40 40"> 7 | <rect 8 | style="fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 9 | width="33.76017" 10 | height="33.76017" 11 | x="3.119915" 12 | y="3.119915" /> 13 | <path 14 | d="m 20.677967,8.54499 c -7.342801,0 -13.295293,4.954293 -13.295293,11.065751 0,2.088793 0.3647173,3.484376 1.575539,5.150563 L 6.0267418,31.45501 13.560595,29.011117 c 2.221262,1.387962 4.125932,1.665377 7.117372,1.665377 7.3428,0 13.295291,-4.954295 13.295291,-11.065753 0,-6.111458 -5.952491,-11.065751 -13.295291,-11.065751 z" 15 | style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.93031836;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"/> 16 | </svg> 17 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/annotation-insert.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <svg 3 | xmlns="http://www.w3.org/2000/svg" 4 | width="64" 5 | height="64" 6 | viewBox="0 0 64 64"> 7 | <path 8 | d="M 32.003143,1.4044602 57.432701,62.632577 6.5672991,62.627924 z" 9 | style="fill:#ffff00;fill-opacity:0.94117647;fill-rule:nonzero;stroke:#000000;stroke-width:1.00493038;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 10 | </svg> 11 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/annotation-newparagraph.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <svg 3 | xmlns="http://www.w3.org/2000/svg" 4 | width="64" 5 | height="64" 6 | viewBox="0 0 64 64"> 7 | <path 8 | d="M 32.003143,10.913072 57.432701,53.086929 6.567299,53.083723 z" 9 | id="path2985" 10 | style="fill:#ffff00;fill-opacity:0.94117647;fill-rule:nonzero;stroke:#000000;stroke-width:0.83403099;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 11 | </svg> 12 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/annotation-noicon.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <svg 3 | xmlns="http://www.w3.org/2000/svg" 4 | width="40" 5 | height="40" 6 | viewBox="0 0 40 40"> 7 | </svg> 8 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/annotation-note.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <svg 3 | xmlns="http://www.w3.org/2000/svg" 4 | width="40" 5 | height="40" 6 | viewBox="0 0 40 40"> 7 | <rect 8 | width="36.075428" 9 | height="31.096582" 10 | x="1.962286" 11 | y="4.4517088" 12 | id="rect4" 13 | style="fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.23004246;stroke-opacity:1" /> 14 | <rect 15 | width="27.96859" 16 | height="1.5012145" 17 | x="6.0157046" 18 | y="10.285" 19 | id="rect6" 20 | style="fill:#000000;fill-opacity:1;stroke:none" /> 21 | <rect 22 | width="27.96859" 23 | height="0.85783684" 24 | x="6.0157056" 25 | y="23.21689" 26 | id="rect8" 27 | style="fill:#000000;fill-opacity:1;stroke:none" /> 28 | <rect 29 | width="27.96859" 30 | height="0.85783684" 31 | x="5.8130345" 32 | y="28.964394" 33 | id="rect10" 34 | style="fill:#000000;fill-opacity:1;stroke:none" /> 35 | <rect 36 | width="27.96859" 37 | height="0.85783684" 38 | x="6.0157046" 39 | y="17.426493" 40 | id="rect12" 41 | style="fill:#000000;fill-opacity:1;stroke:none" /> 42 | </svg> 43 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/annotation-paperclip.svg: -------------------------------------------------------------------------------- 1 | <!-- This Source Code Form is subject to the terms of the Mozilla Public 2 | - License, v. 2.0. If a copy of the MPL was not distributed with this 3 | - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> 4 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" height="40" width="40"> 5 | <path d="M9 3.5a1.5 1.5 0 0 0-3-.001v7.95C6 12.83 7.12 14 8.5 14s2.5-1.17 2.5-2.55V5.5a.5.5 0 0 1 1 0v6.03C11.955 13.427 10.405 15 8.5 15S5.044 13.426 5 11.53V3.5a2.5 2.5 0 0 1 5 0v7.003a1.5 1.5 0 0 1-3-.003v-5a.5.5 0 0 1 1 0v5a.5.5 0 0 0 1 0Z"/> 6 | </svg> 7 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/annotation-paragraph.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <svg 3 | xmlns="http://www.w3.org/2000/svg" 4 | width="40" 5 | height="40" 6 | viewBox="0 0 40 40"> 7 | <rect 8 | width="33.76017" 9 | height="33.76017" 10 | x="3.119915" 11 | y="3.119915" 12 | style="fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 13 | <path 14 | d="m 17.692678,34.50206 0,-16.182224 c -1.930515,-0.103225 -3.455824,-0.730383 -4.57593,-1.881473 -1.12011,-1.151067 -1.680164,-2.619596 -1.680164,-4.405591 0,-1.992435 0.621995,-3.5796849 1.865988,-4.7617553 1.243989,-1.1820288 3.06352,-1.7730536 5.458598,-1.7730764 l 9.802246,0 0,2.6789711 -2.229895,0 0,26.3251486 -2.632515,0 0,-26.3251486 -3.45324,0 0,26.3251486 z" 15 | style="font-size:29.42051125px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.07795751;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" /> 16 | </svg> 17 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/annotation-pushpin.svg: -------------------------------------------------------------------------------- 1 | <!-- This Source Code Form is subject to the terms of the Mozilla Public 2 | - License, v. 2.0. If a copy of the MPL was not distributed with this 3 | - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> 4 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" height="40" width="40"> 5 | <path d="M8.156 12.5a.99.99 0 0 0 .707-.294l.523-2.574L10.5 8.499l1.058-1.04 2.65-.601a.996.996 0 0 0 0-1.414l-3.657-3.658a.996.996 0 0 0-1.414 0l-.523 2.576L7.5 5.499 6.442 6.535l-2.65.6a.996.996 0 0 0 0 1.413l3.657 3.658a.999.999 0 0 0 .707.295z"/> 6 | <path d="M9.842.996c-.386 0-.77.146-1.06.44a.5.5 0 0 0-.136.251l-.492 2.43-1.008 1.03-.953.933-2.511.566a.5.5 0 0 0-.243.133 1.505 1.505 0 0 0-.002 2.123l1.477 1.477-2.768 2.767a.5.5 0 0 0 0 .707.5.5 0 0 0 .708 0l2.767-2.767 1.475 1.474a1.494 1.494 0 0 0 2.123-.002.5.5 0 0 0 .135-.254l.492-2.427 1.008-1.024.953-.937 2.511-.57a.5.5 0 0 0 .243-.132c.586-.58.583-1.543.002-2.125l-3.659-3.656A1.501 1.501 0 0 0 9.842.996Zm.05 1.025a.394.394 0 0 1 .305.12l3.658 3.657c.18.18.141.432.002.627l-2.41.545a.5.5 0 0 0-.24.131L10.15 8.142a.5.5 0 0 0-.007.006L9.029 9.283a.5.5 0 0 0-.133.25l-.48 2.36c-.082.053-.165.109-.26.109a.492.492 0 0 1-.353-.149L4.145 8.195c-.18-.18-.141-.432-.002-.627l2.41-.545a.5.5 0 0 0 .238-.13L7.85 5.857a.5.5 0 0 0 .007-.008l1.114-1.138a.5.5 0 0 0 .133-.25l.472-2.323a.619.619 0 0 1 .317-.117Z"/> 7 | </svg> 8 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/cursor-editorFreeText.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M12 2.75H12.5V2.25V1V0.5H12H10.358C9.91165 0.5 9.47731 0.625661 9.09989 0.860442L9.09886 0.861087L8 1.54837L6.89997 0.860979L6.89911 0.860443C6.5218 0.625734 6.08748 0.5 5.642 0.5H4H3.5V1V2.25V2.75H4H5.642C5.66478 2.75 5.6885 2.75641 5.71008 2.76968C5.71023 2.76977 5.71038 2.76986 5.71053 2.76995L6.817 3.461C6.81704 3.46103 6.81709 3.46105 6.81713 3.46108C6.81713 3.46108 6.81713 3.46108 6.81714 3.46109C6.8552 3.48494 6.876 3.52285 6.876 3.567V8V12.433C6.876 12.4771 6.85523 12.515 6.81722 12.5389C6.81715 12.5389 6.81707 12.539 6.817 12.539L5.70953 13.23C5.70941 13.2301 5.70929 13.2302 5.70917 13.2303C5.68723 13.2438 5.6644 13.25 5.641 13.25H4H3.5V13.75V15V15.5H4H5.642C6.08835 15.5 6.52269 15.3743 6.90011 15.1396L6.90086 15.1391L8 14.4526L9.10003 15.14L9.10089 15.1406C9.47831 15.3753 9.91265 15.501 10.359 15.501H12H12.5V15.001V13.751V13.251H12H10.358C10.3352 13.251 10.3115 13.2446 10.2899 13.2313C10.2897 13.2312 10.2896 13.2311 10.2895 13.231L9.183 12.54C9.18298 12.54 9.18295 12.54 9.18293 12.54C9.18291 12.5399 9.18288 12.5399 9.18286 12.5399C9.14615 12.5169 9.125 12.4797 9.125 12.434V8V3.567C9.125 3.52266 9.14603 3.48441 9.18364 3.4606C9.18377 3.46052 9.1839 3.46043 9.18404 3.46035L10.2895 2.76995C10.2896 2.76985 10.2898 2.76975 10.2899 2.76966C10.3119 2.75619 10.3346 2.75 10.358 2.75H12Z" fill="black" stroke="white"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/cursor-editorInk.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M0.0189877 13.6645L0.612989 10.4635C0.687989 10.0545 0.884989 9.6805 1.18099 9.3825L9.98199 0.5805C10.756 -0.1925 12.015 -0.1945 12.792 0.5805L14.42 2.2085C15.194 2.9835 15.194 4.2435 14.42 5.0185L5.61599 13.8215C5.31999 14.1165 4.94599 14.3125 4.53799 14.3875L1.33599 14.9815C1.26599 14.9935 1.19799 15.0005 1.12999 15.0005C0.832989 15.0005 0.544988 14.8835 0.330988 14.6695C0.0679874 14.4055 -0.0490122 14.0305 0.0189877 13.6645Z" fill="white"/> 3 | <path d="M0.0189877 13.6645L0.612989 10.4635C0.687989 10.0545 0.884989 9.6805 1.18099 9.3825L9.98199 0.5805C10.756 -0.1925 12.015 -0.1945 12.792 0.5805L14.42 2.2085C15.194 2.9835 15.194 4.2435 14.42 5.0185L5.61599 13.8215C5.31999 14.1165 4.94599 14.3125 4.53799 14.3875L1.33599 14.9815C1.26599 14.9935 1.19799 15.0005 1.12999 15.0005C0.832989 15.0005 0.544988 14.8835 0.330988 14.6695C0.0679874 14.4055 -0.0490122 14.0305 0.0189877 13.6645ZM12.472 5.1965L13.632 4.0365L13.631 3.1885L11.811 1.3675L10.963 1.3685L9.80299 2.5285L12.472 5.1965ZM4.31099 13.1585C4.47099 13.1285 4.61799 13.0515 4.73399 12.9345L11.587 6.0815L8.91899 3.4135L2.06599 10.2655C1.94899 10.3835 1.87199 10.5305 1.84099 10.6915L1.36699 13.2485L1.75199 13.6335L4.31099 13.1585Z" fill="black"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/findbarButton-next.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M10.999 8.352L5.534 13.818C5.41551 13.9303 5.25786 13.9918 5.09466 13.9895C4.93146 13.9872 4.77561 13.9212 4.66033 13.8057C4.54505 13.6902 4.47945 13.5342 4.47752 13.3709C4.47559 13.2077 4.53748 13.0502 4.65 12.932L9.585 7.998L4.651 3.067C4.53862 2.94864 4.47691 2.79106 4.47903 2.62786C4.48114 2.46466 4.54692 2.30874 4.66233 2.19333C4.77774 2.07792 4.93366 2.01215 5.09686 2.01003C5.26006 2.00792 5.41763 2.06962 5.536 2.182L11 7.647L10.999 8.352Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/findbarButton-previous.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M5.001 8.352L10.466 13.818C10.5845 13.9303 10.7421 13.9918 10.9053 13.9895C11.0685 13.9872 11.2244 13.9212 11.3397 13.8057C11.4549 13.6902 11.5205 13.5342 11.5225 13.3709C11.5244 13.2077 11.4625 13.0502 11.35 12.932L6.416 7.999L11.349 3.067C11.4614 2.94864 11.5231 2.79106 11.521 2.62786C11.5189 2.46466 11.4531 2.30874 11.3377 2.19333C11.2223 2.07792 11.0663 2.01215 10.9031 2.01003C10.7399 2.00792 10.5824 2.06962 10.464 2.182L5 7.647L5.001 8.352Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/loading-icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/images/loading-icon.gif -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/secondaryToolbarButton-documentProperties.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M8 1.5C4.41015 1.5 1.5 4.41015 1.5 8C1.5 11.5899 4.41015 14.5 8 14.5C11.5899 14.5 14.5 11.5899 14.5 8C14.5 4.41015 11.5899 1.5 8 1.5ZM0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8ZM8.75 4V5.5H7.25V4H8.75ZM8.75 12V7H7.25V12H8.75Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/secondaryToolbarButton-firstPage.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M14 3.5H2V5H14V3.5ZM8 8.811L12.939 13.75L14.001 12.689L8.531 7.219C8.238 6.926 7.763 6.926 7.47 7.219L2 12.689L3.061 13.75L8 8.811Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/secondaryToolbarButton-handTool.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M7.75 2.125C7.75 1.78021 8.03021 1.5 8.375 1.5C8.71979 1.5 9 1.78021 9 2.125V3.125V8H10.5V3.125C10.5 2.78021 10.7802 2.5 11.125 2.5C11.4698 2.5 11.75 2.78021 11.75 3.125V4.625V8H13.25V4.625C13.25 4.28021 13.5302 4 13.875 4C14.2198 4 14.5 4.28021 14.5 4.625V12.0188L13.3802 13.6628C13.2954 13.7872 13.25 13.9344 13.25 14.085V16H14.75V14.3162L15.8698 12.6722C15.9546 12.5478 16 12.4006 16 12.25V4.625C16 3.45179 15.0482 2.5 13.875 2.5C13.6346 2.5 13.4035 2.53996 13.188 2.6136C12.959 1.68724 12.1219 1 11.125 1C10.8235 1 10.5366 1.06286 10.2768 1.17618C9.9281 0.478968 9.20726 0 8.375 0C7.54274 0 6.8219 0.478968 6.47323 1.17618C6.21337 1.06286 5.9265 1 5.625 1C4.45179 1 3.5 1.95179 3.5 3.125V7.25317C2.66504 6.54282 1.41035 6.58199 0.621672 7.37067C-0.208221 8.20056 -0.208221 9.54644 0.621672 10.3763L0.62188 10.3765L5.499 15.2498V16H6.999V14.939C6.999 14.74 6.9199 14.5491 6.77912 14.4085L1.68233 9.31567C1.43823 9.07156 1.43823 8.67544 1.68233 8.43133C1.92644 8.18722 2.32257 8.18722 2.56667 8.43133L3.71967 9.58433C3.93417 9.79883 4.25676 9.863 4.53701 9.74691C4.81727 9.63082 5 9.35735 5 9.054V3.125C5 2.78021 5.28022 2.5 5.625 2.5C5.96921 2.5 6.24906 2.77927 6.25 3.12326V8H7.75L7.75 3.125L7.75 3.12178V2.125Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/secondaryToolbarButton-lastPage.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M8 8.189L12.939 3.25L14 4.311L8.531 9.781C8.238 10.074 7.763 10.074 7.47 9.781L2 4.311L3.061 3.25L8 8.189ZM14 13.5V12H2V13.5H14Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/secondaryToolbarButton-rotateCcw.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M3.4105 4.83612L4.77001 6.19601C5.06701 6.49201 4.85701 7.00001 4.43701 7.00001H0.862006C0.602006 7.00001 0.391006 6.78901 0.391006 6.52901V2.95401C0.391006 2.53401 0.899006 2.32401 1.19601 2.62101L2.32796 3.75328C3.67958 1.78973 5.9401 0.5 8.5 0.5C12.636 0.5 16 3.864 16 8C16 12.136 12.636 15.5 8.5 15.5C4.704 15.5 1.566 12.663 1.075 9H2.59C3.068 11.833 5.532 14 8.5 14C11.809 14 14.5 11.309 14.5 8C14.5 4.691 11.809 2 8.5 2C6.35262 2 4.46893 3.13503 3.4105 4.83612Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/secondaryToolbarButton-rotateCw.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M12.5895 4.83613L11.23 6.19601C10.933 6.49201 11.143 7.00001 11.563 7.00001H15.138C15.398 7.00001 15.609 6.78901 15.609 6.52901V2.95401C15.609 2.53401 15.101 2.32401 14.804 2.62101L13.672 3.75328C12.3204 1.78973 10.0599 0.5 7.5 0.5C3.364 0.5 0 3.864 0 8C0 12.136 3.364 15.5 7.5 15.5C11.296 15.5 14.434 12.663 14.925 9H13.41C12.932 11.833 10.468 14 7.5 14C4.191 14 1.5 11.309 1.5 8C1.5 4.691 4.191 2 7.5 2C9.64738 2 11.5311 3.13503 12.5895 4.83613Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M3 3.78C3 2.7621 2.13279 2.11834 1.25 2.01476V2H1V3.5C1.18133 3.5 1.32279 3.5609 1.40708 3.63029C1.48961 3.69823 1.5 3.75458 1.5 3.78V11.72C1.5 11.7454 1.48961 11.8018 1.40708 11.8697C1.32279 11.9391 1.18133 12 1 12V13.5H1.25V13.4852C2.13279 13.3817 3 12.7379 3 11.72V3.78ZM10.5 4C10.5 3.72386 10.2761 3.5 10 3.5H6.5C6.22386 3.5 6 3.72386 6 4V11.5C6 11.7761 6.22386 12 6.5 12H10C10.2761 12 10.5 11.7761 10.5 11.5V4ZM10 2C11.1046 2 12 2.89543 12 4V11.5C12 12.6046 11.1046 13.5 10 13.5H6.5C5.39543 13.5 4.5 12.6046 4.5 11.5V4C4.5 2.89543 5.39543 2 6.5 2H10ZM15.5 2H15.25V2.01476C14.3672 2.11834 13.5 2.7621 13.5 3.78V11.72C13.5 12.7379 14.3672 13.3817 15.25 13.4852V13.5H15.5V12C15.3187 12 15.1772 11.9391 15.0929 11.8697C15.0104 11.8018 15 11.7454 15 11.72V3.78C15 3.75458 15.0104 3.69823 15.0929 3.63029C15.1772 3.5609 15.3187 3.5 15.5 3.5V2Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/secondaryToolbarButton-scrollPage.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M3.5 2C3.5 1.72421 3.72421 1.5 4 1.5H12C12.2758 1.5 12.5 1.72421 12.5 2V14C12.5 14.2758 12.2758 14.5 12 14.5H4C3.72421 14.5 3.5 14.2758 3.5 14V2ZM4 0C2.89579 0 2 0.895786 2 2V14C2 15.1042 2.89579 16 4 16H12C13.1042 16 14 15.1042 14 14V2C14 0.895786 13.1042 0 12 0H4ZM5.89301 6H7.25V10H5.89301C5.54301 10 5.36801 10.423 5.61501 10.67L7.72101 12.776C7.87401 12.929 8.12301 12.929 8.27601 12.776L10.383 10.669C10.63 10.422 10.455 9.99902 10.105 9.99902H8.75V6H10.106C10.456 6 10.632 5.577 10.383 5.331L8.27601 3.224C8.12301 3.071 7.87401 3.071 7.72101 3.224L5.61501 5.33C5.36801 5.577 5.54301 6 5.89301 6Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/secondaryToolbarButton-scrollVertical.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M2 1V1.25H2.01476C2.11834 2.13279 2.7621 3 3.78 3H11.72C12.7379 3 13.3817 2.13279 13.4852 1.25H13.5V1H12C12 1.18133 11.9391 1.32279 11.8697 1.40708C11.8018 1.48961 11.7454 1.5 11.72 1.5H3.78C3.75458 1.5 3.69823 1.48961 3.63029 1.40708C3.5609 1.32279 3.5 1.18133 3.5 1H2ZM4 6C3.72386 6 3.5 6.22386 3.5 6.5V10C3.5 10.2761 3.72386 10.5 4 10.5H11.5C11.7761 10.5 12 10.2761 12 10V6.5C12 6.22386 11.7761 6 11.5 6H4ZM2 6.5C2 5.39543 2.89543 4.5 4 4.5H11.5C12.6046 4.5 13.5 5.39543 13.5 6.5V10C13.5 11.1046 12.6046 12 11.5 12H4C2.89543 12 2 11.1046 2 10V6.5ZM3.78 13.5C2.7621 13.5 2.11834 14.3672 2.01476 15.25H2V15.5H3.5C3.5 15.3187 3.5609 15.1772 3.63029 15.0929C3.69823 15.0104 3.75458 15 3.78 15H11.72C11.7454 15 11.8018 15.0104 11.8697 15.0929C11.9391 15.1772 12 15.3187 12 15.5H13.5V15.25H13.4852C13.3817 14.3672 12.7379 13.5 11.72 13.5H3.78Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/secondaryToolbarButton-scrollWrapped.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M2.5 1C2.5 1.27579 2.72421 1.5 3 1.5H5C5.27579 1.5 5.5 1.27579 5.5 1H7C7 2.10421 6.10421 3 5 3H3C1.89579 3 1 2.10421 1 1H2.5ZM2.5 6C2.5 5.72421 2.72421 5.5 3 5.5H5C5.27579 5.5 5.5 5.72421 5.5 6V10C5.5 10.2758 5.27579 10.5 5 10.5H3C2.72421 10.5 2.5 10.2758 2.5 10V6ZM3 4C1.89579 4 1 4.89579 1 6V10C1 11.1042 1.89579 12 3 12H5C6.10421 12 7 11.1042 7 10V6C7 4.89579 6.10421 4 5 4H3ZM10 6C10 5.72421 10.2242 5.5 10.5 5.5H12.5C12.7758 5.5 13 5.72421 13 6V10C13 10.2758 12.7758 10.5 12.5 10.5H10.5C10.2242 10.5 10 10.2758 10 10V6ZM10.5 4C9.39579 4 8.5 4.89579 8.5 6V10C8.5 11.1042 9.39579 12 10.5 12H12.5C13.6042 12 14.5 11.1042 14.5 10V6C14.5 4.89579 13.6042 4 12.5 4H10.5ZM3 14.5C2.72421 14.5 2.5 14.7242 2.5 15H1C1 13.8958 1.89579 13 3 13H5C6.10421 13 7 13.8958 7 15H5.5C5.5 14.7242 5.27579 14.5 5 14.5H3ZM10 15C10 14.7242 10.2242 14.5 10.5 14.5H12.5C12.7758 14.5 13 14.7242 13 15H14.5C14.5 13.8958 13.6042 13 12.5 13H10.5C9.39579 13 8.5 13.8958 8.5 15H10ZM10.5 1.5C10.2242 1.5 10 1.27579 10 1H8.5C8.5 2.10421 9.39579 3 10.5 3H12.5C13.6042 3 14.5 2.10421 14.5 1H13C13 1.27579 12.7758 1.5 12.5 1.5H10.5Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/secondaryToolbarButton-selectTool.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M0.371588 2.93131C-0.203366 1.33422 1.3342 -0.20335 2.93129 0.371603L2.93263 0.372085L12.0716 3.68171C12.0718 3.68178 12.0714 3.68163 12.0716 3.68171C13.4459 4.17758 13.8478 5.9374 12.8076 6.9776L11.8079 7.97727L14.6876 10.8569C15.4705 11.6398 15.4705 12.9047 14.6876 13.6876L13.6476 14.7276C12.8647 15.5105 11.5998 15.5105 10.8169 14.7276L7.93725 11.8479L6.97758 12.8076C5.93739 13.8478 4.17779 13.4465 3.68192 12.0722C3.68184 12.072 3.682 12.0724 3.68192 12.0722L0.371588 2.93131ZM1.78292 2.42323C1.78298 2.4234 1.78286 2.42305 1.78292 2.42323L5.09281 11.5629C5.21725 11.9082 5.65728 12.0066 5.91692 11.7469L7.93725 9.72661L11.8776 13.6669C12.0747 13.864 12.3898 13.864 12.5869 13.6669L13.6269 12.6269C13.824 12.4298 13.824 12.1147 13.6269 11.9176L9.68659 7.97727L11.7469 5.91694C12.0066 5.65729 11.9081 5.21727 11.5629 5.09283L11.5619 5.09245L2.42321 1.78293C2.42304 1.78287 2.42339 1.783 2.42321 1.78293C2.02067 1.63847 1.63846 2.02069 1.78292 2.42323Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/secondaryToolbarButton-spreadEven.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path fill-rule="evenodd" d="M2 3.5C1.72421 3.5 1.5 3.72421 1.5 4V12.5C1.5 12.7758 1.72421 13 2 13H7.25V3.5H2ZM14 13H8.75V3.5H14C14.2758 3.5 14.5 3.72421 14.5 4V12.5C14.5 12.7758 14.2758 13 14 13ZM0 4C0 2.89579 0.895786 2 2 2H14C15.1042 2 16 2.89579 16 4V12.5C16 13.6042 15.1042 14.5 14 14.5H2C0.895786 14.5 0 13.6042 0 12.5V4ZM10 6.5H11.5V7.5H10V9H11.5V10H10V11.5H12.25C12.6642 11.5 13 11.1642 13 10.75V5.75C13 5.33579 12.6642 5 12.25 5H10V6.5ZM4.5 6.5H3V5H5.25C5.66421 5 6 5.33579 6 5.75V7.75C6 8.03408 5.8395 8.29378 5.58541 8.42082L4.5 8.96353V10H6V11.5H3.75C3.33579 11.5 3 11.1642 3 10.75V8.5C3 8.21592 3.1605 7.95622 3.41459 7.82918L4.5 7.28647V6.5Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/secondaryToolbarButton-spreadNone.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M4 1.5C3.72421 1.5 3.5 1.72421 3.5 2V14C3.5 14.2758 3.72421 14.5 4 14.5H12C12.2758 14.5 12.5 14.2758 12.5 14V2C12.5 1.72421 12.2758 1.5 12 1.5H4ZM2 2C2 0.895786 2.89579 0 4 0H12C13.1042 0 14 0.895786 14 2V14C14 15.1042 13.1042 16 12 16H4C2.89579 16 2 15.1042 2 14V2Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/secondaryToolbarButton-spreadOdd.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M1.5 4C1.5 3.72421 1.72421 3.5 2 3.5H7.25V13H2C1.72421 13 1.5 12.7758 1.5 12.5V4ZM8.75 13V3.5H14C14.2758 3.5 14.5 3.72421 14.5 4V12.5C14.5 12.7758 14.2758 13 14 13H8.75ZM2 2C0.895786 2 0 2.89579 0 4V12.5C0 13.6042 0.895786 14.5 2 14.5H14C15.1042 14.5 16 13.6042 16 12.5V4C16 2.89579 15.1042 2 14 2H2ZM4.75 5H3V6.5H4V11.5H5.5V5.75C5.5 5.33579 5.16421 5 4.75 5ZM10 6.5H11.5V7.28647L10.4146 7.82918C10.1605 7.95622 10 8.21592 10 8.5V10.75C10 11.1642 10.3358 11.5 10.75 11.5H13V10H11.5V8.96353L12.5854 8.42082C12.8395 8.29378 13 8.03408 13 7.75V5.75C13 5.33579 12.6642 5 12.25 5H10V6.5Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-bookmark.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M2 3.5C1.72421 3.5 1.5 3.72421 1.5 4V12C1.5 12.2758 1.72421 12.5 2 12.5H14C14.2758 12.5 14.5 12.2758 14.5 12V4C14.5 3.72421 14.2758 3.5 14 3.5H2ZM0 4C0 2.89579 0.895786 2 2 2H14C15.1042 2 16 2.89579 16 4V12C16 13.1042 15.1042 14 14 14H2C0.895786 14 0 13.1042 0 12V4ZM8.75 8.75H7.25V7.25H8.75V8.75ZM8.00001 4.625C5.91142 4.625 4.14736 5.94291 3.45159 7.77847L3.36761 8L3.45159 8.22153C4.14736 10.0571 5.91142 11.375 8.00001 11.375C10.0886 11.375 11.8527 10.0571 12.5484 8.22153L12.6324 8L12.5484 7.77847C11.8527 5.94291 10.0886 4.625 8.00001 4.625ZM8.00001 10.125C6.53912 10.125 5.28508 9.25455 4.71282 8C5.28508 6.74545 6.53912 5.875 8.00001 5.875C9.4609 5.875 10.7149 6.74545 11.2872 8C10.7149 9.25455 9.4609 10.125 8.00001 10.125Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-currentOutlineItem.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M10.803 4.74998V6.02436C10.803 6.39302 10.3571 6.57793 10.0967 6.31753L7.87716 4.098C7.71566 3.93649 7.71566 3.67434 7.87716 3.51283L10.0967 1.29329C10.3571 1.0329 10.8036 1.21722 10.8036 1.58588V3.24998H15V4.74998H10.803ZM8 1.24998H3V2.74998H6.5L8 1.24998ZM6.5 5.24998H3V6.74998H8L6.5 5.24998ZM3 13.25H15V14.75H3V13.25ZM6 9.24998H15V10.75H6V9.24998ZM1.5 5.24998H0V6.74998H1.5V5.24998ZM0 13.25H1.5V14.75H0V13.25ZM1.5 1.24998H0V2.74998H1.5V1.24998ZM3 9.24998H4.5V10.75H3V9.24998Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-download.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M9.79407 7.31811H7.86307C7.41807 7.31811 7.19407 7.85711 7.50907 8.17211L10.1911 10.8541C10.3861 11.0491 10.7031 11.0491 10.8981 10.8541L13.5801 8.17211C13.8951 7.85711 13.6721 7.31811 13.2261 7.31811H11.2941V4.38211H11.2961V3.13211H11.2941V2.30811H9.79407V3.13211H9.79107V4.38211H9.79507V7.31811H9.79407Z" fill="black"/> 3 | <path d="M14 3.13208H12.796V4.38208H14C14.345 4.38208 14.625 4.66208 14.625 5.00708V13.0071C14.625 13.3521 14.345 13.6321 14 13.6321H2C1.655 13.6321 1.375 13.3521 1.375 13.0071V3.00708C1.375 2.66208 1.655 2.38208 2 2.38208H5.643C5.82 2.38208 5.989 2.45808 6.108 2.58908L7.536 4.17508C7.654 4.30708 7.823 4.38208 8 4.38208H8.291V3.13208H8.278L7.036 1.75208C6.681 1.35808 6.173 1.13208 5.642 1.13208H2C0.966 1.13208 0.125 1.97308 0.125 3.00708V13.0071C0.125 14.0411 0.966 14.8821 2 14.8821H14C15.034 14.8821 15.875 14.0411 15.875 13.0071V5.00708C15.875 3.97308 15.034 3.13208 14 3.13208Z" fill="black"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-editorFreeText.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M8.625 2.942C8.625 2.725 8.735 2.527 8.918 2.412L10.026 1.72C10.126 1.658 10.24 1.625 10.358 1.625H12V0.375H10.358C10.006 0.375 9.663 0.474 9.364 0.66L8.256 1.353C8.161 1.412 8.081 1.488 8 1.562C7.918 1.488 7.839 1.412 7.744 1.353L6.635 0.66C6.336 0.474 5.993 0.375 5.642 0.375H4V1.625H5.642C5.759 1.625 5.874 1.658 5.974 1.72L7.082 2.412C7.266 2.527 7.376 2.725 7.376 2.942V8V13.058C7.376 13.275 7.266 13.473 7.082 13.588L5.973 14.28C5.873 14.342 5.759 14.375 5.641 14.375H4V15.625H5.642C5.994 15.625 6.337 15.526 6.636 15.34L7.744 14.648C7.84 14.588 7.919 14.512 8 14.439C8.081 14.512 8.161 14.588 8.256 14.648L9.365 15.341C9.664 15.527 10.007 15.626 10.359 15.626H12V14.376H10.358C10.241 14.376 10.126 14.343 10.026 14.281L8.918 13.589C8.734 13.474 8.625 13.276 8.625 13.059V8V2.942Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-editorInk.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M2.49913 12.6251C2.61913 12.6251 2.73913 12.6051 2.85713 12.5661L6.29013 11.4201L13.2891 4.4221C14.0191 3.6911 14.0191 2.5011 13.2891 1.7701L12.2291 0.710098C11.4971 -0.0199023 10.3091 -0.0199023 9.57713 0.710098L2.57813 7.7091L1.43313 11.1451C1.29813 11.5511 1.40213 11.9931 1.70513 12.2951C1.92113 12.5101 2.20613 12.6251 2.49913 12.6251ZM10.4611 1.5951C10.7031 1.3511 11.1021 1.3511 11.3441 1.5951L12.4051 2.6561C12.6491 2.8991 12.6491 3.2961 12.4051 3.5391L11.3401 4.6051L9.39513 2.6601L10.4611 1.5951ZM3.67013 8.3851L8.51013 3.5451L10.4541 5.4891L5.61413 10.3301L2.69713 11.3031L3.67013 8.3851Z" fill="black"/> 3 | <path d="M14.8169 13.314L13.0229 13.862C12.3309 14.073 11.5909 14.111 10.8859 13.968L8.80391 13.551C7.58491 13.308 6.29791 13.48 5.18491 14.036C3.95291 14.652 2.46691 14.412 1.49191 13.436L1.44091 13.385L0.60791 14.321C1.46291 15.175 2.59991 15.625 3.75291 15.625C4.42891 15.625 5.10991 15.471 5.74391 15.153C6.60891 14.721 7.60891 14.586 8.55891 14.777L10.6409 15.194C11.5509 15.376 12.5009 15.327 13.3879 15.056L15.1819 14.508L14.8169 13.314Z" fill="black"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-menuArrow.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M8.23336 10.4664L11.8474 6.85339C11.894 6.8071 11.931 6.75203 11.9563 6.69136C11.9816 6.63069 11.9946 6.56562 11.9946 6.49989C11.9946 6.43417 11.9816 6.3691 11.9563 6.30843C11.931 6.24776 11.894 6.19269 11.8474 6.14639C11.7536 6.05266 11.6264 6 11.4939 6C11.3613 6 11.2341 6.05266 11.1404 6.14639L7.99236 9.29339L4.84736 6.14739C4.75305 6.05631 4.62675 6.00592 4.49566 6.00706C4.36456 6.0082 4.23915 6.06078 4.14645 6.15348C4.05374 6.24619 4.00116 6.37159 4.00002 6.50269C3.99888 6.63379 4.04928 6.76009 4.14036 6.85439L7.75236 10.4674L8.23336 10.4664Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-openFile.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M10.4287 1.08398C10.5111 1.02905 10.608 0.999824 10.707 1H14.7L15 1.3V5.293C15 5.39194 14.9706 5.48864 14.9156 5.57088C14.8606 5.65311 14.7824 5.71718 14.691 5.75498C14.5996 5.79277 14.499 5.80259 14.402 5.78319C14.3049 5.76379 14.2159 5.71605 14.146 5.646L12.973 4.473L12.692 4.192L9.067 7.817C8.94923 7.93347 8.79034 7.99888 8.6247 7.99907C8.45907 7.99925 8.30003 7.93421 8.182 7.818C8.06518 7.70036 7.99962 7.54129 7.99962 7.3755C7.99962 7.20971 8.06518 7.05065 8.182 6.933L11.807 3.308L10.353 1.854C10.2829 1.78407 10.2351 1.6949 10.2158 1.59779C10.1964 1.50068 10.2063 1.40001 10.2442 1.30854C10.2821 1.21707 10.3464 1.13891 10.4287 1.08398ZM7.81694 2.06694C7.69973 2.18415 7.54076 2.25 7.375 2.25H2.85L2.25 2.85V13.15L2.85 13.75H13.15L13.75 13.15V8.625C13.75 8.45924 13.8158 8.30027 13.9331 8.18306C14.0503 8.06585 14.2092 8 14.375 8C14.5408 8 14.6997 8.06585 14.8169 8.18306C14.9342 8.30027 15 8.45924 15 8.625V13C15 13.5304 14.7893 14.0391 14.4142 14.4142C14.0391 14.7893 13.5304 15 13 15H3C2.46957 15 1.96086 14.7893 1.58579 14.4142C1.21071 14.0391 1 13.5304 1 13V3C1 2.46957 1.21071 1.96086 1.58579 1.58579C1.96086 1.21071 2.46957 1 3 1H7.375C7.54076 1 7.69973 1.06585 7.81694 1.18306C7.93415 1.30027 8 1.45924 8 1.625C8 1.79076 7.93415 1.94973 7.81694 2.06694Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-pageDown.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M8.35176 10.9989L13.8178 5.53391C13.876 5.47594 13.9222 5.40702 13.9537 5.33113C13.9851 5.25524 14.0013 5.17387 14.0012 5.0917C14.0011 5.00954 13.9848 4.9282 13.9531 4.85238C13.9215 4.77656 13.8751 4.70775 13.8168 4.64991C13.6991 4.53309 13.5401 4.46753 13.3743 4.46753C13.2085 4.46753 13.0494 4.53309 12.9318 4.64991L7.99776 9.58491L3.06776 4.65091C2.9494 4.53853 2.79183 4.47682 2.62863 4.47894C2.46542 4.48106 2.3095 4.54683 2.19409 4.66224C2.07868 4.77765 2.01291 4.93357 2.01079 5.09677C2.00868 5.25997 2.07039 5.41754 2.18276 5.53591L7.64776 10.9999L8.35176 10.9989Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-pageUp.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M8.35179 5.001L13.8178 10.466C13.876 10.524 13.9222 10.5929 13.9537 10.6688C13.9852 10.7447 14.0013 10.826 14.0012 10.9082C14.0011 10.9904 13.9848 11.0717 13.9531 11.1475C13.9215 11.2234 13.8751 11.2922 13.8168 11.35C13.6991 11.4668 13.5401 11.5324 13.3743 11.5324C13.2085 11.5324 13.0494 11.4668 12.9318 11.35L7.99879 6.416L3.06679 11.349C2.94842 11.4614 2.79085 11.5231 2.62765 11.521C2.46445 11.5189 2.30853 11.4531 2.19312 11.3377C2.07771 11.2223 2.01193 11.0663 2.00982 10.9031C2.0077 10.7399 2.06941 10.5824 2.18179 10.464L7.64779 5L8.35179 5.001Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-presentationMode.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M1.5 3C1.5 2.72421 1.72421 2.5 2 2.5H14C14.2758 2.5 14.5 2.72421 14.5 3V11C14.5 11.2758 14.2758 11.5 14 11.5H2C1.72421 11.5 1.5 11.2758 1.5 11V3ZM2 1C0.895786 1 0 1.89579 0 3V11C0 12.1042 0.895786 13 2 13H2.64979L1.35052 15.2499L2.64949 16L4.38194 13H11.6391L13.3715 16L14.6705 15.2499L13.3712 13H14C15.1042 13 16 12.1042 16 11V3C16 1.89579 15.1042 1 14 1H2ZM5.79501 4.64401V9.35601C5.79501 9.85001 6.32901 10.159 6.75701 9.91401L10.88 7.55801C11.312 7.31201 11.312 6.68901 10.88 6.44201L6.75701 4.08601C6.32801 3.84101 5.79501 4.15001 5.79501 4.64401Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-print.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M13 4H12V2C12 1.46957 11.7893 0.960859 11.4142 0.585786C11.0391 0.210714 10.5304 0 10 0L6 0C5.46957 0 4.96086 0.210714 4.58579 0.585786C4.21071 0.960859 4 1.46957 4 2V4H3C2.46957 4 1.96086 4.21071 1.58579 4.58579C1.21071 4.96086 1 5.46957 1 6V11C1 11.5304 1.21071 12.0391 1.58579 12.4142C1.96086 12.7893 2.46957 13 3 13H4V14C4 14.5304 4.21071 15.0391 4.58579 15.4142C4.96086 15.7893 5.46957 16 6 16H10C10.5304 16 11.0391 15.7893 11.4142 15.4142C11.7893 15.0391 12 14.5304 12 14V13H13C13.5304 13 14.0391 12.7893 14.4142 12.4142C14.7893 12.0391 15 11.5304 15 11V6C15 5.46957 14.7893 4.96086 14.4142 4.58579C14.0391 4.21071 13.5304 4 13 4V4ZM10.75 14.15L10.15 14.75H5.85L5.25 14.15V10H10.75V14.15ZM10.75 4H5.25V1.85L5.85 1.25H10.15L10.75 1.85V4V4ZM13 7.6L12.6 8H11.4L11 7.6V6.4L11.4 6H12.6L13 6.4V7.6Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-search.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M10.089 10.973L13.934 14.817C13.9918 14.8754 14.0605 14.9218 14.1364 14.9534C14.2122 14.9851 14.2936 15.0013 14.3757 15.0012C14.4579 15.0011 14.5392 14.9847 14.6149 14.9529C14.6907 14.9211 14.7594 14.8746 14.817 14.816C14.875 14.7579 14.921 14.6889 14.9523 14.613C14.9836 14.5372 14.9997 14.4559 14.9996 14.3738C14.9995 14.2917 14.9833 14.2104 14.9518 14.1346C14.9203 14.0588 14.8741 13.99 14.816 13.932L10.983 10.1L10.989 9.67299C11.489 8.96674 11.8152 8.15249 11.9413 7.29642C12.0674 6.44034 11.9897 5.5666 11.7145 4.74621C11.4394 3.92582 10.9745 3.18192 10.3578 2.57498C9.74104 1.96804 8.98979 1.51519 8.16509 1.25322C7.34039 0.991255 6.46551 0.927572 5.61157 1.06735C4.75763 1.20712 3.94871 1.54641 3.25057 2.05764C2.55243 2.56887 1.98476 3.23761 1.59371 4.0095C1.20265 4.7814 0.999236 5.63468 1 6.49999C1 7.95868 1.57946 9.35763 2.61091 10.3891C3.64236 11.4205 5.04131 12 6.5 12C7.689 12 8.788 11.62 9.687 10.978L10.089 10.973V10.973ZM6.5 10.75C4.157 10.75 2.25 8.84299 2.25 6.49999C2.25 4.15699 4.157 2.24999 6.5 2.24999C8.843 2.24999 10.75 4.15699 10.75 6.49999C10.75 8.84299 8.843 10.75 6.5 10.75Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M2.53406 13.818L7.99906 8.35203L8.00006 7.64703L2.53606 2.18203C2.41769 2.06965 2.26012 2.00795 2.09692 2.01006C1.93372 2.01218 1.7778 2.07795 1.66239 2.19336C1.54698 2.30877 1.48121 2.46469 1.47909 2.62789C1.47697 2.79109 1.53868 2.94867 1.65106 3.06703L6.58506 7.99803L1.65006 12.932C1.53754 13.0503 1.47565 13.2078 1.47758 13.371C1.47951 13.5342 1.54511 13.6902 1.66039 13.8057C1.77567 13.9213 1.93152 13.9872 2.09472 13.9895C2.25792 13.9918 2.41557 13.9303 2.53406 13.818ZM8.53406 13.818L13.9991 8.35203L14.0001 7.64703L8.53606 2.18203C8.4177 2.06965 8.26012 2.00795 8.09692 2.01006C7.93372 2.01218 7.7778 2.07795 7.66239 2.19336C7.54698 2.30877 7.48121 2.46469 7.47909 2.62789C7.47697 2.79109 7.53868 2.94867 7.65106 3.06703L12.5851 7.99803L7.65006 12.932C7.53754 13.0503 7.47565 13.2078 7.47758 13.371C7.47951 13.5342 7.54511 13.6902 7.66039 13.8057C7.77567 13.9213 7.93152 13.9872 8.09472 13.9895C8.25792 13.9918 8.41557 13.9303 8.53406 13.818Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-viewAttachments.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M3.5 3.75C3.5 1.67879 5.17879 0 7.25 0C9.32121 0 11 1.67879 11 3.75V10.25C11 11.4922 9.99221 12.5 8.75 12.5C7.50779 12.5 6.5 11.4922 6.5 10.25V3.5H8V10.25C8 10.6638 8.33621 11 8.75 11C9.16379 11 9.5 10.6638 9.5 10.25V3.75C9.5 2.50721 8.49279 1.5 7.25 1.5C6.00721 1.5 5 2.50721 5 3.75V10.75C5 12.8208 6.67921 14.5 8.75 14.5C10.8208 14.5 12.5 12.8208 12.5 10.75V3.5H14V10.75C14 13.6492 11.6492 16 8.75 16C5.85079 16 3.5 13.6492 3.5 10.75V3.75Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-viewLayers.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M8.36645 2.34562C8.13878 2.21813 7.86122 2.21813 7.63355 2.34562L1.38355 5.84562C1.14669 5.97826 1 6.22853 1 6.5C1 6.77147 1.14669 7.02174 1.38355 7.15438L7.63355 10.6544C7.86122 10.7819 8.13878 10.7819 8.36645 10.6544L14.6165 7.15438C14.8533 7.02174 15 6.77147 15 6.5C15 6.22853 14.8533 5.97826 14.6165 5.84562L8.36645 2.34562ZM8 9.14041L3.28499 6.5L8 3.85959L12.715 6.5L8 9.14041ZM1.63647 9.0766L7.99999 12.6404L14.3255 9.09761L15.0585 10.4063L8.36649 14.1543C8.13881 14.2818 7.86122 14.2819 7.63353 14.1543L0.903534 10.3853L1.63647 9.0766Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-viewOutline.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M3 1.25H15V2.75H3V1.25ZM15 5.25H3V6.75H15V5.25ZM15 13.25H3V14.75H15V13.25ZM15 9.25H6V10.75H15V9.25ZM0 5.25H1.5V6.75H0V5.25ZM1.5 13.25H0V14.75H1.5V13.25ZM0 1.25H1.5V2.75H0V1.25ZM4.5 9.25H3V10.75H4.5V9.25Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-viewThumbnail.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M3.5 2C3.5 1.72421 3.72421 1.5 4 1.5H5.25C5.52579 1.5 5.75 1.72421 5.75 2V5.25C5.75 5.52579 5.52579 5.75 5.25 5.75H4C3.72421 5.75 3.5 5.52579 3.5 5.25V2ZM4 0C2.89579 0 2 0.895786 2 2V5.25C2 6.35421 2.89579 7.25 4 7.25H5.25C6.35421 7.25 7.25 6.35421 7.25 5.25V2C7.25 0.895786 6.35421 0 5.25 0H4ZM3.5 10.75C3.5 10.4742 3.72421 10.25 4 10.25H5.25C5.52579 10.25 5.75 10.4742 5.75 10.75V14C5.75 14.2758 5.52579 14.5 5.25 14.5H4C3.72421 14.5 3.5 14.2758 3.5 14V10.75ZM4 8.75C2.89579 8.75 2 9.64579 2 10.75V14C2 15.1042 2.89579 16 4 16H5.25C6.35421 16 7.25 15.1042 7.25 14V10.75C7.25 9.64579 6.35421 8.75 5.25 8.75H4ZM10.75 1.5C10.4742 1.5 10.25 1.72421 10.25 2V5.25C10.25 5.52579 10.4742 5.75 10.75 5.75H12C12.2758 5.75 12.5 5.52579 12.5 5.25V2C12.5 1.72421 12.2758 1.5 12 1.5H10.75ZM8.75 2C8.75 0.895786 9.64579 0 10.75 0H12C13.1042 0 14 0.895786 14 2V5.25C14 6.35421 13.1042 7.25 12 7.25H10.75C9.64579 7.25 8.75 6.35421 8.75 5.25V2ZM10.25 10.75C10.25 10.4742 10.4742 10.25 10.75 10.25H12C12.2758 10.25 12.5 10.4742 12.5 10.75V14C12.5 14.2758 12.2758 14.5 12 14.5H10.75C10.4742 14.5 10.25 14.2758 10.25 14V10.75ZM10.75 8.75C9.64579 8.75 8.75 9.64579 8.75 10.75V14C8.75 15.1042 9.64579 16 10.75 16H12C13.1042 16 14 15.1042 14 14V10.75C14 9.64579 13.1042 8.75 12 8.75H10.75Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-zoomIn.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M7.00488 9.75V14C7.00488 14.1658 7.07073 14.3247 7.18794 14.4419C7.30515 14.5592 7.46412 14.625 7.62988 14.625C7.79564 14.625 7.95461 14.5592 8.07183 14.4419C8.18904 14.3247 8.25488 14.1658 8.25488 14V9.75L8.75488 9.25H13.0049C13.1706 9.25 13.3296 9.18415 13.4468 9.06694C13.564 8.94973 13.6299 8.79076 13.6299 8.625C13.6299 8.45924 13.564 8.30027 13.4468 8.18306C13.3296 8.06585 13.1706 8 13.0049 8H8.75488L8.25488 7.5V3.25C8.25488 3.08424 8.18904 2.92527 8.07183 2.80806C7.95461 2.69085 7.79564 2.625 7.62988 2.625C7.46412 2.625 7.30515 2.69085 7.18794 2.80806C7.07073 2.92527 7.00488 3.08424 7.00488 3.25V7.5L6.50488 8H2.25488C2.08912 8 1.93015 8.06585 1.81294 8.18306C1.69573 8.30027 1.62988 8.45924 1.62988 8.625C1.62988 8.79076 1.69573 8.94973 1.81294 9.06694C1.93015 9.18415 2.08912 9.25 2.25488 9.25H6.39188L7.00488 9.75Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/toolbarButton-zoomOut.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M13.375 9.25C13.5408 9.25 13.6997 9.18415 13.8169 9.06694C13.9342 8.94973 14 8.79076 14 8.625C14 8.45924 13.9342 8.30027 13.8169 8.18306C13.6997 8.06585 13.5408 8 13.375 8H2.625C2.45924 8 2.30027 8.06585 2.18306 8.18306C2.06585 8.30027 2 8.45924 2 8.625C2 8.79076 2.06585 8.94973 2.18306 9.06694C2.30027 9.18415 2.45924 9.25 2.625 9.25H13.375Z" fill="black"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/treeitem-collapsed.svg: -------------------------------------------------------------------------------- 1 | <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M13 9L6 5v8z"/></svg> -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/images/treeitem-expanded.svg: -------------------------------------------------------------------------------- 1 | <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M10 13l4-7H6z"/></svg> -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/FoxitDingbats.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/FoxitDingbats.pfb -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/FoxitFixed.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/FoxitFixed.pfb -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/FoxitFixedBold.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/FoxitFixedBold.pfb -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/FoxitFixedBoldItalic.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/FoxitFixedBoldItalic.pfb -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/FoxitFixedItalic.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/FoxitFixedItalic.pfb -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/FoxitSans.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/FoxitSans.pfb -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/FoxitSansBold.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/FoxitSansBold.pfb -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/FoxitSansBoldItalic.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/FoxitSansBoldItalic.pfb -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/FoxitSansItalic.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/FoxitSansItalic.pfb -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/FoxitSerif.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/FoxitSerif.pfb -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/FoxitSerifBold.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/FoxitSerifBold.pfb -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/FoxitSerifBoldItalic.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/FoxitSerifBoldItalic.pfb -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/FoxitSerifItalic.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/FoxitSerifItalic.pfb -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/FoxitSymbol.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/FoxitSymbol.pfb -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/LiberationSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/LiberationSans-Bold.ttf -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/LiberationSans-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/LiberationSans-BoldItalic.ttf -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/LiberationSans-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/LiberationSans-Italic.ttf -------------------------------------------------------------------------------- /app/public/static/pdfjs/web/standard_fonts/LiberationSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/pdfjs/web/standard_fonts/LiberationSans-Regular.ttf -------------------------------------------------------------------------------- /app/public/static/readium/css/annotations.css: -------------------------------------------------------------------------------- 1 | /* The z-index is to ensure that the bookmark is accessible even if it's overlayed on a highlight/underline of some type */ 2 | .comment { 3 | background-image : url("/images/comment_clickable_icon.png"); 4 | background-repeat : no-repeat; 5 | opacity : 0.5; 6 | z-index : 10; 7 | } 8 | .hover-comment { 9 | background-image : url("/images/comment_clickable_icon.png"); 10 | background-repeat : no-repeat; 11 | opacity : 1.0; 12 | z-index : 10; 13 | } 14 | 15 | .bookmark { 16 | position : fixed; 17 | top : "0px"; 18 | right : "0px"; 19 | background-color: red; 20 | } 21 | 22 | .highlight { 23 | position: absolute; 24 | opacity: 0.2; 25 | background-color: red; 26 | } 27 | 28 | .hover-highlight { 29 | position: absolute; 30 | opacity: 0.4; 31 | background-color: red; 32 | } 33 | 34 | .underline-range { 35 | position: absolute; 36 | } 37 | 38 | .underline-range > .underline { 39 | position: relative; 40 | height: 15%; 41 | opacity: 0.2; 42 | background-color: red; 43 | } 44 | 45 | .underline-range > .hover-underline { 46 | position: relative; 47 | height: 15%; 48 | opacity: 0.4; 49 | background-color: red; 50 | } 51 | 52 | .underline-range > .transparent-part { 53 | position: relative; 54 | height: 85%; 55 | background-color: transparent; 56 | } -------------------------------------------------------------------------------- /app/public/static/readium/embed.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html> 2 | <html> 3 | <body> 4 | <iframe width="600" height="400" src="simpleviewer.html?epub=epub_content/moby_dick&embedded=true" style="border:1px #ddd solid;" allowfullscreen mozallowfullscreen webkitallowfullscreen></iframe> 5 | <div></div> 6 | <iframe width="600" height="400" src="simpleviewer.html?epub=epub_content/page-blanche&embedded=true" style="border:1px #ddd solid;" allowfullscreen mozallowfullscreen webkitallowfullscreen></iframe> 7 | </body> 8 | </html> -------------------------------------------------------------------------------- /app/public/static/readium/extend_require_config.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 Readium Foundation and/or its licensees. All rights reserved. 2 | // 3 | // Redistribution and use in source and binary forms, with or without modification, 4 | // are permitted provided that the following conditions are met: 5 | // 1. Redistributions of source code must retain the above copyright notice, this 6 | // list of conditions and the following disclaimer. 7 | // 2. Redistributions in binary form must reproduce the above copyright notice, 8 | // this list of conditions and the following disclaimer in the documentation and/or 9 | // other materials provided with the distribution. 10 | // 3. Neither the name of the organization nor the names of its contributors may be 11 | // used to endorse or promote products derived from this software without specific 12 | // prior written permission. 13 | 14 | require.config({ 15 | config : { 16 | 'EpubReader' : { 17 | 'useSimpleLoader' : false // the cloud reader cannot pre-process HTML content documents and may need to load zipped EPUBs too. 18 | } 19 | } 20 | }); 21 | -------------------------------------------------------------------------------- /app/public/static/readium/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /app/public/static/readium/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /app/public/static/readium/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /app/public/static/readium/grunt/clean.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 Readium Foundation and/or its licensees. All rights reserved. 2 | // 3 | // Redistribution and use in source and binary forms, with or without modification, 4 | // are permitted provided that the following conditions are met: 5 | // 1. Redistributions of source code must retain the above copyright notice, this 6 | // list of conditions and the following disclaimer. 7 | // 2. Redistributions in binary form must reproduce the above copyright notice, 8 | // this list of conditions and the following disclaimer in the documentation and/or 9 | // other materials provided with the distribution. 10 | // 3. Neither the name of the organization nor the names of its contributors may be 11 | // used to endorse or promote products derived from this software without specific 12 | // prior written permission. 13 | 14 | 'use strict'; 15 | 16 | module.exports = function(grunt) { 17 | 18 | return { 19 | chromeApp: ['build/chrome-app'], 20 | cloudReader: ['build/cloud-reader'] 21 | }; 22 | }; 23 | -------------------------------------------------------------------------------- /app/public/static/readium/grunt/concurrent.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 Readium Foundation and/or its licensees. All rights reserved. 2 | // 3 | // Redistribution and use in source and binary forms, with or without modification, 4 | // are permitted provided that the following conditions are met: 5 | // 1. Redistributions of source code must retain the above copyright notice, this 6 | // list of conditions and the following disclaimer. 7 | // 2. Redistributions in binary form must reproduce the above copyright notice, 8 | // this list of conditions and the following disclaimer in the documentation and/or 9 | // other materials provided with the distribution. 10 | // 3. Neither the name of the organization nor the names of its contributors may be 11 | // used to endorse or promote products derived from this software without specific 12 | // prior written permission. 13 | 14 | 'use strict'; 15 | 16 | module.exports = function(grunt) { 17 | 18 | return { 19 | serverwatch: { 20 | tasks: ['runserver', 'watch:readiumjs'], 21 | options: { 22 | logConcurrentOutput: true 23 | } 24 | } 25 | }; 26 | }; 27 | -------------------------------------------------------------------------------- /app/public/static/readium/grunt/crx.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function(grunt) { 4 | return { 5 | chromeApp : { 6 | "src": "build/chrome-app", 7 | "dest": "build/Readium.crx", 8 | privateKey: 'tests/test.pem' 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /app/public/static/readium/grunt/env.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function(grunt) { 4 | 5 | return { 6 | chromeApp:{ 7 | MODE: 'chromeApp' 8 | }, 9 | ff:{ 10 | MODE: 'firefox' 11 | }, 12 | ie: { 13 | MODE: 'internet explorer' 14 | }, 15 | chrome:{ 16 | MODE: 'chrome' 17 | }, 18 | sauce:{ 19 | USE_SAUCE: 'true' 20 | } 21 | }; 22 | }; -------------------------------------------------------------------------------- /app/public/static/readium/grunt/express.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 Readium Foundation and/or its licensees. All rights reserved. 2 | // 3 | // Redistribution and use in source and binary forms, with or without modification, 4 | // are permitted provided that the following conditions are met: 5 | // 1. Redistributions of source code must retain the above copyright notice, this 6 | // list of conditions and the following disclaimer. 7 | // 2. Redistributions in binary form must reproduce the above copyright notice, 8 | // this list of conditions and the following disclaimer in the documentation and/or 9 | // other materials provided with the distribution. 10 | // 3. Neither the name of the organization nor the names of its contributors may be 11 | // used to endorse or promote products derived from this software without specific 12 | // prior written permission. 13 | 14 | 'use strict'; 15 | 16 | module.exports = function(grunt) { 17 | 18 | var path = require('path'); 19 | 20 | return { 21 | dev: { 22 | options: { 23 | port: 8080, 24 | bases: process.cwd() //path.resolve(__dirname) 25 | } 26 | }, 27 | test : { 28 | options: { 29 | port: 8080, 30 | bases: process.cwd() + '/build/cloud-reader'//path.resolve(__dirname) 31 | } 32 | } 33 | 34 | }; 35 | }; 36 | -------------------------------------------------------------------------------- /app/public/static/readium/grunt/nodeunit.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 Readium Foundation and/or its licensees. All rights reserved. 2 | // 3 | // Redistribution and use in source and binary forms, with or without modification, 4 | // are permitted provided that the following conditions are met: 5 | // 1. Redistributions of source code must retain the above copyright notice, this 6 | // list of conditions and the following disclaimer. 7 | // 2. Redistributions in binary form must reproduce the above copyright notice, 8 | // this list of conditions and the following disclaimer in the documentation and/or 9 | // other materials provided with the distribution. 10 | // 3. Neither the name of the organization nor the names of its contributors may be 11 | // used to endorse or promote products derived from this software without specific 12 | // prior written permission. 13 | 14 | 'use strict'; 15 | 16 | module.exports = function(grunt) { 17 | 18 | return { 19 | chromeApp: ['chrome-app/tests/tests.js'] 20 | }; 21 | }; 22 | -------------------------------------------------------------------------------- /app/public/static/readium/grunt/run_grunt.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 Readium Foundation and/or its licensees. All rights reserved. 2 | // 3 | // Redistribution and use in source and binary forms, with or without modification, 4 | // are permitted provided that the following conditions are met: 5 | // 1. Redistributions of source code must retain the above copyright notice, this 6 | // list of conditions and the following disclaimer. 7 | // 2. Redistributions in binary form must reproduce the above copyright notice, 8 | // this list of conditions and the following disclaimer in the documentation and/or 9 | // other materials provided with the distribution. 10 | // 3. Neither the name of the organization nor the names of its contributors may be 11 | // used to endorse or promote products derived from this software without specific 12 | // prior written permission. 13 | 14 | 'use strict'; 15 | 16 | module.exports = function(grunt) { 17 | 18 | return { 19 | readiumjs: { 20 | options: { 21 | cwd: 'readium-js' 22 | }, 23 | src: 'readium-js/Gruntfile.js' 24 | } 25 | }; 26 | }; 27 | -------------------------------------------------------------------------------- /app/public/static/readium/grunt/simplemocha.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function(grunt) { 4 | return { 5 | options: { 6 | timeout: 180000, 7 | ui: 'bdd' 8 | }, 9 | 10 | all: { src: ['tests/tests.js'] } 11 | } 12 | } -------------------------------------------------------------------------------- /app/public/static/readium/grunt/watch.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 Readium Foundation and/or its licensees. All rights reserved. 2 | // 3 | // Redistribution and use in source and binary forms, with or without modification, 4 | // are permitted provided that the following conditions are met: 5 | // 1. Redistributions of source code must retain the above copyright notice, this 6 | // list of conditions and the following disclaimer. 7 | // 2. Redistributions in binary form must reproduce the above copyright notice, 8 | // this list of conditions and the following disclaimer in the documentation and/or 9 | // other materials provided with the distribution. 10 | // 3. Neither the name of the organization nor the names of its contributors may be 11 | // used to endorse or promote products derived from this software without specific 12 | // prior written permission. 13 | 14 | 'use strict'; 15 | 16 | module.exports = function(grunt) { 17 | 18 | return { 19 | readiumjs: { 20 | files: ['readium-js/**/*.js', '!readium-js/out/Readium.js', '!readium-js/**/node_modules/**'], 21 | tasks: ['update-readium'] 22 | } 23 | }; 24 | }; 25 | -------------------------------------------------------------------------------- /app/public/static/readium/images/about_readium_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/about_readium_logo.png -------------------------------------------------------------------------------- /app/public/static/readium/images/covers/cover1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/covers/cover1.jpg -------------------------------------------------------------------------------- /app/public/static/readium/images/covers/cover2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/covers/cover2.jpg -------------------------------------------------------------------------------- /app/public/static/readium/images/covers/cover3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/covers/cover3.jpg -------------------------------------------------------------------------------- /app/public/static/readium/images/covers/cover4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/covers/cover4.jpg -------------------------------------------------------------------------------- /app/public/static/readium/images/covers/cover5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/covers/cover5.jpg -------------------------------------------------------------------------------- /app/public/static/readium/images/covers/cover6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/covers/cover6.jpg -------------------------------------------------------------------------------- /app/public/static/readium/images/covers/cover7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/covers/cover7.jpg -------------------------------------------------------------------------------- /app/public/static/readium/images/covers/cover8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/covers/cover8.jpg -------------------------------------------------------------------------------- /app/public/static/readium/images/epub-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/epub-touch-icon.png -------------------------------------------------------------------------------- /app/public/static/readium/images/epub_favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/epub_favicon.ico -------------------------------------------------------------------------------- /app/public/static/readium/images/glyphicons_115_text_smaller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/glyphicons_115_text_smaller.png -------------------------------------------------------------------------------- /app/public/static/readium/images/glyphicons_116_text_bigger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/glyphicons_116_text_bigger.png -------------------------------------------------------------------------------- /app/public/static/readium/images/ico_doublepage_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/ico_doublepage_up.png -------------------------------------------------------------------------------- /app/public/static/readium/images/ico_singlepage_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/ico_singlepage_up.png -------------------------------------------------------------------------------- /app/public/static/readium/images/library_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/library_arrow.png -------------------------------------------------------------------------------- /app/public/static/readium/images/margin1_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/margin1_off.png -------------------------------------------------------------------------------- /app/public/static/readium/images/margin4_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/margin4_off.png -------------------------------------------------------------------------------- /app/public/static/readium/images/partner_logos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/partner_logos.png -------------------------------------------------------------------------------- /app/public/static/readium/images/readium-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/readium-touch-icon.png -------------------------------------------------------------------------------- /app/public/static/readium/images/readium_favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/readium_favicon.png -------------------------------------------------------------------------------- /app/public/static/readium/images/readium_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/images/readium_logo.png -------------------------------------------------------------------------------- /app/public/static/readium/lib/ReadiumViewerLite.js: -------------------------------------------------------------------------------- 1 | require(['jquery', 'EpubReader'], function($, EpubReader){ 2 | var getQueryParamData = function(){ 3 | var query = window.location.search; 4 | if (query && query.length){ 5 | query = query.substring(1); 6 | } 7 | data = {}; 8 | if (query.length){ 9 | var keyParams = query.split('&'); 10 | for (var x = 0; x < keyParams.length; x++) 11 | { 12 | var keyVal = keyParams[x].split('='); 13 | if(keyVal.length > 1){ 14 | data[keyVal[0]] = keyVal[1]; 15 | } 16 | 17 | } 18 | 19 | } 20 | return data; 21 | } 22 | 23 | $(function(){ 24 | //var epubUrl = getQueryParamData(); 25 | //EpubReader.loadUI(data); 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /app/public/static/readium/lib/Spinner.js: -------------------------------------------------------------------------------- 1 | define(['spin'], function(Spinner){ 2 | var opts = { 3 | lines: 17, // The number of lines to draw 4 | length: 0, // The length of each line 5 | width: 10, // The line thickness 6 | radius: 48, // The radius of the inner circle 7 | corners: 1, // Corner roundness (0..1) 8 | rotate: 0, // The rotation offset 9 | direction: 1, // 1: clockwise, -1: counterclockwise 10 | color: '#000', // #rgb or #rrggbb or array of colors 11 | speed: 1, // Rounds per second 12 | trail: 66, // Afterglow percentage 13 | shadow: false, // Whether to render a shadow 14 | hwaccel: false, // Whether to use hardware acceleration 15 | className: 'spinner', // The CSS class to assign to the spinner 16 | zIndex: 2e9, // The z-index (defaults to 2000000000) 17 | top: 'auto', // Top position relative to parent in px 18 | left: 'auto' // Left position relative to parent in px 19 | }; 20 | return new Spinner(opts); 21 | }); -------------------------------------------------------------------------------- /app/public/static/readium/lib/analytics/Analytics.js: -------------------------------------------------------------------------------- 1 | define(function(){ 2 | return{ 3 | trackView : function(){}, 4 | sendEvent : function(){} 5 | } 6 | }); -------------------------------------------------------------------------------- /app/public/static/readium/lib/console_shim.js: -------------------------------------------------------------------------------- 1 | /* 2 | This code is required to IE for console shim 3 | */ 4 | 5 | (function(){ 6 | "use strict"; 7 | 8 | if (!console["debug"]) console.debug = console.log; 9 | if (!console["info"]) console.info = console.log; 10 | if (!console["warn"]) console.warn = console.log; 11 | if (!console["error"]) console.error = console.log; 12 | })(); -------------------------------------------------------------------------------- /app/public/static/readium/lib/migration/MigrationManager.js: -------------------------------------------------------------------------------- 1 | define(function(){ 2 | 3 | return{ 4 | checkIfNeedsMigration : function(callback){ 5 | callback(false); 6 | } 7 | } 8 | }); -------------------------------------------------------------------------------- /app/public/static/readium/lib/storage/StaticStorageManager.js: -------------------------------------------------------------------------------- 1 | define([], function(){ 2 | var StaticStorageManager = { 3 | 4 | saveFile : function(path, blob, success, error){ 5 | success() 6 | }, 7 | 8 | deleteFile : function(path, success, error){ 9 | success(); 10 | 11 | }, 12 | 13 | getPathUrl : function(path){ 14 | if (path == '/epub_library.json') 15 | { 16 | return 'epub_content/epub_library.json'; 17 | } 18 | return path; 19 | }, 20 | initStorage: function(success, error){ 21 | success(); 22 | } 23 | } 24 | return StaticStorageManager; 25 | }); 26 | -------------------------------------------------------------------------------- /app/public/static/readium/lib/thirdparty/console_shim.js: -------------------------------------------------------------------------------- 1 | /* 2 | This code is required to IE for console shim 3 | */ 4 | 5 | (function(){ 6 | "use strict"; 7 | 8 | if (!console["debug"]) console.debug = console.log; 9 | if (!console["info"]) console.info = console.log; 10 | if (!console["warn"]) console.warn = console.log; 11 | if (!console["error"]) console.error = console.log; 12 | })(); -------------------------------------------------------------------------------- /app/public/static/readium/lib/thirdparty/jath.min.js: -------------------------------------------------------------------------------- 1 | (function(){function f(a,b,c){c===void 0&&(c=b);if(h(a)==="array"){var e=[];if(a[0]!=null)if(g=="msie"){b.setProperty("SelectionLanguage","XPath");for(var c=c.selectNodes(a[0]),d;d=c.nextNode();)e.push(f(a[1],b,d))}else if(g=="node"){c=c.find(a[0]);for(d=0;d<c.length;d++)e.push(f(a[1],b,c[d]))}else for(c=b.evaluate(a[0],c,Jath.resolver,XPathResult.ANY_TYPE,null);d=c.iterateNext();)e.push(f(a[1],b,d));else for(d=1;d<a.length;d++)e.push(f(a[d],b,c));a=e}else if(h(a)==="object"){d={};for(e in a)d[e]= 2 | f(a[e],b,c);a=d}else e=c,g=="msie"?(b.setProperty("SelectionLanguage","XPath"),a=h(a)=="string"&&a.substring(0,1)!=Jath.literalChar?e.selectSingleNode(a).text:a.substring(1)):g=="node"?(require("sys").puts(a),a=e.get(a).text()):a=h(a)=="string"&&a[0]!=Jath.literalChar?b.evaluate(a,e,Jath.resolver,XPathResult.STRING_TYPE,null).stringValue:a.substring(1);return a}function h(a){var b=typeof a;b==="object"&&(a?typeof a.length==="number"&&!a.propertyIsEnumerable("length")&&typeof a.splice==="function"&& 3 | (b="array"):b="null");return b}Jath={};Jath.parse=f;Jath.resolver=null;Jath.literalChar=":";var g;typeof WScript!="undefined"?g="msie":typeof process!="undefined"?(g="node",require("libxmljs"),exports.parse=f):g=navigator.userAgent.toLowerCase().indexOf("msie")>-1?"msie":"standards"})(); 4 | -------------------------------------------------------------------------------- /app/public/static/readium/lib/thirdparty/text/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "text", 3 | "version": "2.0.6", 4 | "description": "An AMD loader plugin for loading text resources.", 5 | "categories": [ 6 | "Loader plugins" 7 | ], 8 | "main": "text.js", 9 | "github": "https://github.com/requirejs/text", 10 | "bugs": { 11 | "web": "https://github.com/requirejs/text/issues" 12 | }, 13 | "repositories": [ 14 | { 15 | "type": "git", 16 | "url": "https://github.com/requirejs/text.git" 17 | } 18 | ], 19 | "licenses": [ 20 | { 21 | "type": "MIT", 22 | "url": "http://www.opensource.org/licenses/mit-license.php" 23 | }, 24 | { 25 | "type": "BSD New", 26 | "url": "http://opensource.org/licenses/BSD-3-Clause" 27 | } 28 | ], 29 | "volo": { 30 | "url": "https://raw.github.com/requirejs/text/{version}/text.js" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/public/static/readium/lib/versioning/PackagedVersioning.js: -------------------------------------------------------------------------------- 1 | define(['text!viewer-version', 'Readium'], function(versionTxt, Readium){ 2 | var version = JSON.parse(versionTxt); 3 | 4 | var PackagedVersioning = { 5 | getVersioningInfo : function(callback){ 6 | var versionInfo = {}; 7 | var readiumVersion = Readium.version; 8 | versionInfo.viewer = version 9 | versionInfo.readiumJs = readiumVersion.readiumJs; 10 | versionInfo.readiumSharedJs = readiumVersion.readiumSharedJs 11 | callback(versionInfo); 12 | } 13 | 14 | } 15 | return PackagedVersioning; 16 | }); -------------------------------------------------------------------------------- /app/public/static/readium/lib/versioning/UnpackagedVersioning.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'Readium'], function($, Readium){ 2 | var UnpackagedVersioning = { 3 | getVersioningInfo: function(callback){ 4 | 5 | var obj = { 6 | release: false, 7 | clean: false, 8 | devMode: true 9 | } 10 | var readiumVersion = Readium.version, 11 | versionInfo = {}; 12 | versionInfo.viewer = obj; 13 | versionInfo.readiumJs = readiumVersion.readiumJs; 14 | versionInfo.readiumSharedJs = readiumVersion.readiumSharedJs; 15 | 16 | 17 | $.get('package.json', function(data){ 18 | obj.version = data.version; 19 | obj.chromeVersion = '2.' + data.version.substring(2); 20 | 21 | if (obj.sha){ 22 | callback(versionInfo); 23 | } 24 | }) 25 | } 26 | 27 | } 28 | return UnpackagedVersioning; 29 | }); 30 | -------------------------------------------------------------------------------- /app/public/static/readium/lib/workers/Messages.js: -------------------------------------------------------------------------------- 1 | define(function(){ 2 | return { 3 | // window -> worker messages 4 | IMPORT_ZIP : 0, 5 | OVERWRITE_CONTINUE : 1, 6 | FIND_PACKAGE_RESPONSE: 2, 7 | PARSE_PACKAGE_RESPONSE: 3, 8 | DELETE_EPUB : 4, 9 | IMPORT_DIR : 5, 10 | IMPORT_URL: 6, 11 | MIGRATE: 7, 12 | OVERWRITE_SIDE_BY_SIDE: 8, 13 | 14 | // worker -> window messages 15 | SUCCESS : 100, 16 | PROGRESS : 101, 17 | ERROR : 102, 18 | OVERWRITE : 103, 19 | FIND_PACKAGE : 104, 20 | PARSE_PACKAGE: 105, 21 | 22 | 23 | PROGRESS_EXTRACTING : 200, 24 | PROGRESS_WRITING: 201, 25 | PROGRESS_DELETING: 202, 26 | PROGRESS_MIGRATING: 203, 27 | 28 | ERROR_STORAGE : 300, 29 | ERROR_EPUB : 301, 30 | ERROR_AJAX : 302, 31 | 32 | } 33 | }); -------------------------------------------------------------------------------- /app/public/static/readium/logos/mini-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/public/static/readium/logos/mini-logo.png -------------------------------------------------------------------------------- /app/public/static/readium/simpleviewer2.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html> 2 | <html> 3 | <head> 4 | <meta charset="utf-8"> 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 | 7 | <link href="images/readium_favicon.png" rel="shortcut icon"/> 8 | <link href="images/readium-touch-icon.png" rel="apple-touch-icon"/> 9 | <link rel="stylesheet" type="text/css" href="css/bootstrap.css"> 10 | <link rel="stylesheet" type="text/css" href="css/viewer.css"> 11 | <link rel="stylesheet" type="text/css" href="css/readium_js.css"> 12 | 13 | <!-- 14 | <script data-main="lib/ReadiumViewerLite.js" src="lib/require.js" type="text/javascript"></script> 15 | <script src="require_config.js" type="text/javascript"></script> 16 | <script src="extend_require_config.js" type="text/javascript"></script> 17 | --> 18 | 19 | </head> 20 | 21 | <!-- This is all application-specific HTML --> 22 | <body> 23 | <nav class="navbar" role="banner" aria-label="{{Strings.i18n_toolbar}}"></nav> 24 | <div id="app-container"></div> 25 | </body> 26 | 27 | </html> 28 | -------------------------------------------------------------------------------- /app/public/static/readium/templates/details-dialog.html: -------------------------------------------------------------------------------- 1 | <div id="details-dialog" class="modal fade details-dialog" tabindex="-1"> 2 | <div class="modal-dialog"> 3 | <div class="modal-content"> 4 | <div class="modal-body"> 5 | <p>Loading Details...</p> 6 | <progress></progress> 7 | </div> 8 | </div><!-- /.modal-content --> 9 | </div><!-- /.modal-dialog --> 10 | </div><!-- /.modal --> -------------------------------------------------------------------------------- /app/public/static/readium/templates/empty-library.html: -------------------------------------------------------------------------------- 1 | <div class="pull-right"> 2 | <div id="empty-message"> 3 | {{strings.i18n_add_items}} 4 | </div> 5 | <img id="empty-message-arrow" src="images/library_arrow.png" alt=""> 6 | </div> -------------------------------------------------------------------------------- /app/public/static/readium/templates/library-body.html: -------------------------------------------------------------------------------- 1 | <div class="row library-items" role="main"> 2 | </div> -------------------------------------------------------------------------------- /app/public/static/readium/templates/library-navbar.html: -------------------------------------------------------------------------------- 1 | <div class="btn-group navbar-left"> 2 | <button id="aboutButt1" tabindex="1" type="button" class="btn icon-logo" data-toggle="modal" data-target="#about-dialog" title="{{strings.about}}" aria-label="{{strings.about}}"></button> 3 | </div> 4 | <div class="btn-group navbar-right"> 5 | <button tabindex="1" type="button" class="btn icon-thumbnails" title="{{strings.thumbnail_view}}" aria-label="{{strings.thumbnail_view}}"> 6 | <span class="glyphicon glyphicon-th" aria-hidden="true"></span> 7 | </button> 8 | <button tabindex="1" type="button" class="btn icon-list-view" title="{{strings.list_view}}" aria-label="{{strings.list_view}}"> 9 | <span class="glyphicon glyphicon-align-justify" aria-hidden="true"></span> 10 | </button> 11 | <button id="addbutt" tabindex="1" type="button" class="btn icon-add-epub" title="{{strings.i18n_add_book}}" aria-label="{{strings.i18n_add_book}}" data-toggle="modal" data-target="#add-epub-dialog"> 12 | <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> 13 | </button> 14 | <button id="settbutt1" tabindex="1" type="button" class="btn icon-settings" title="{{strings.settings}} [{{keyboard.ShowSettingsModal}}]" aria-label="{{strings.settings}} [{{keyboard.ShowSettingsModal}}]" accesskey="{{keyboard.accesskeys.ShowSettingsModal}}" data-toggle="modal" data-target="#settings-dialog"> 15 | <span class="glyphicon glyphicon-cog" aria-hidden="true"></span> 16 | </button> 17 | </div> -------------------------------------------------------------------------------- /app/public/static/readium/templates/managed-buttons.html: -------------------------------------------------------------------------------- 1 | {{#buttons}} 2 | <button type="button" class="btn btn-default {{#classes}}{{.}} {{/classes}}" {{#dismiss}} data-dismiss="modal" {{/dismiss}}>{{text}}</button> 3 | {{/buttons}} -------------------------------------------------------------------------------- /app/public/static/readium/templates/managed-dialog.html: -------------------------------------------------------------------------------- 1 | <div class="modal fade" id="managed-dialog" tabindex="-1" role="dialog" aria-labelledby="managed-label"> 2 | <div class="modal-dialog"> 3 | <div class="modal-content"> 4 | <div class="modal-header"> 5 | <button type="button" class="close" data-dismiss="modal" aria-label="close" title="close"><span aria-hidden="true">×<span></button> 6 | <h4 class="modal-title" id="managed-label"></h4> 7 | </div> 8 | <div class="modal-body"> 9 | </div> 10 | <div class="modal-footer"> 11 | </div> 12 | </div> 13 | <!-- /.modal-content --> 14 | </div><!-- /.modal-dialog --> 15 | </div> 16 | <!-- /.modal --> -------------------------------------------------------------------------------- /app/public/static/readium/templates/progress-dialog.html: -------------------------------------------------------------------------------- 1 | <div class="progress progress-striped active"> 2 | <div class="progress-bar" role="progressbar" aria-valuenow="1" aria-valuemin="1" aria-valuemax="100" style="width: 1%"> 3 | <!-- <span class="progress-message sr-only">{{message}}</span> --> 4 | </div> 5 | </div> 6 | <div class="progress-message">{{message}}</div> 7 | -------------------------------------------------------------------------------- /app/public/static/readium/templates/reader-body.html: -------------------------------------------------------------------------------- 1 | <div id="readium-toc-body" 2 | aria-label="{{strings.toc}}" 3 | role="navigation" 4 | > 5 | </div> 6 | 7 | <div id="reading-area" role="main"> 8 | <div id="epub-reader-container"> 9 | <div id="epub-reader-frame"> 10 | </div> 11 | </div> 12 | 13 | <div id="readium-page-btns" role="region" aria-label="{{strings.i18n_page_navigation}}"> 14 | <!-- page left/right buttons inserted here when EPUB is loaded (page progression direction) --> 15 | </div> 16 | 17 | </div> -------------------------------------------------------------------------------- /app/public/static/readium/templates/reader-navbar.html: -------------------------------------------------------------------------------- 1 | <div class="btn-group navbar-left"> 2 | <button id="tocButt" tabindex="1" tabindex="1" type="button" class="btn icon-toc" title="{{strings.toc}} [{{keyboard.TocShowHideToggle}}]" aria-label="{{strings.toc}} [{{keyboard.TocShowHideToggle}}]" accesskey="{{keyboard.accesskeys.TocShowHideToggle}}"> 3 | <span class="glyphicon glyphicon-list" aria-hidden="true"></span> 4 | </button> 5 | </div> 6 | <div class="btn-group navbar-right"> 7 | <button id="settbutt1" tabindex="1" type="button" class="btn icon-settings" data-toggle="modal" data-target="#settings-dialog" title="{{strings.settings}} [{{keyboard.ShowSettingsModal}}]" aria-label="{{strings.settings}} [{{keyboard.ShowSettingsModal}}]" accesskey="{{keyboard.accesskeys.ShowSettingsModal}}"> 8 | <span class="glyphicon glyphicon-cog" aria-hidden="true"></span> 9 | </button> 10 | <!-- 11 | <button style="display: block" tabindex="1" id="buttFullScreenToggle" type="button" class="btn icon-full-screen" title="{{strings.enter_fullscreen}} [{{keyboard.FullScreenToggle}}]" aria-label="{{strings.enter_fullscreen}} [{{keyboard.FullScreenToggle}}]" accesskey="{{keyboard.accesskeys.FullScreenToggle}}"> 12 | <span class="glyphicon glyphicon-resize-full" aria-hidden="true"></span> 13 | </button> 14 | --> 15 | </div> 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/public/static/readium/templates/reader-navbar.html.modified: -------------------------------------------------------------------------------- 1 | <div class="btn-group navbar-left"> 2 | <button id="tocButt" tabindex="1" tabindex="1" type="button" class="btn icon-toc" title="{{strings.toc}} [{{keyboard.TocShowHideToggle}}]" aria-label="{{strings.toc}} [{{keyboard.TocShowHideToggle}}]" accesskey="{{keyboard.accesskeys.TocShowHideToggle}}"> 3 | <span class="glyphicon glyphicon-list" aria-hidden="true"></span> 4 | </button> 5 | </div> 6 | <div class="btn-group navbar-right"> 7 | <button id="settbutt1" tabindex="1" type="button" class="btn icon-settings" data-toggle="modal" data-target="#settings-dialog" title="{{strings.settings}} [{{keyboard.ShowSettingsModal}}]" aria-label="{{strings.settings}} [{{keyboard.ShowSettingsModal}}]" accesskey="{{keyboard.accesskeys.ShowSettingsModal}}"> 8 | <span class="glyphicon glyphicon-cog" aria-hidden="true"></span> 9 | </button> 10 | <!-- 11 | <button style="display: block" tabindex="1" id="buttFullScreenToggle" type="button" class="btn icon-full-screen" title="{{strings.enter_fullscreen}} [{{keyboard.FullScreenToggle}}]" aria-label="{{strings.enter_fullscreen}} [{{keyboard.FullScreenToggle}}]" accesskey="{{keyboard.accesskeys.FullScreenToggle}}"> 12 | <span class="glyphicon glyphicon-resize-full" aria-hidden="true"></span> 13 | </button> 14 | --> 15 | </div> 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/public/static/readium/templates/settings-keyboard-item.html: -------------------------------------------------------------------------------- 1 | {{#name}} 2 | <li> 3 | <label id="label_{{name}}">{{i18n}}<br/><span>{{name}}</span></label> 4 | <input id="{{name}}" name="{{name}}" class="keyboardInput" type="text" placeholder="{{shortcut}}" value="{{shortcut}}" aria-labelledbyxxx="label_{{name}}" aria-label="{{i18n}}" title="{{i18n}}"></input> 5 | <button class="resetKey captureKeyboardShortcut" role="button" data-key="{{name}}" title="{{strings.i18n_reset_key}} ({{def}})" aria-label="{{strings.i18n_reset_key}} ({{def}})"><span aria-hidden="true">⊗</span></button> 6 | <span id="duplicate_keyboard_shortcut" aria-hidden="true">{{strings.i18n_duplicate_keyboard_shortcut}}</span> 7 | <span id="invalid_keyboard_shortcut" aria-hidden="true">{{strings.i18n_invalid_keyboard_shortcut}}</span> 8 | </li> 9 | {{/name}} 10 | {{^name}} 11 | <li id="resetAllKeys{{id}}" class="resetAllKeys"> 12 | <button class="resetKey" role="button" title="{{strings.i18n_reset_key_all}}" aria-label="{{strings.i18n_reset_key_all}}"><span aria-hidden="true">{{strings.i18n_reset_key_all}} ⊗</span></button> 13 | </li> 14 | {{/name}} 15 | -------------------------------------------------------------------------------- /app/src/app.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html> 2 | <html lang="en"> 3 | 4 | <head> 5 | {{ HEAD }} 6 | </head> 7 | 8 | <body> 9 | {{ APP }} 10 | </body> 11 | 12 | </html> 13 | -------------------------------------------------------------------------------- /app/src/assets/fonts/Roboto-100-cyrillic-ext1.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/src/assets/fonts/Roboto-100-cyrillic-ext1.woff2 -------------------------------------------------------------------------------- /app/src/assets/fonts/Roboto-100-cyrillic2.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/src/assets/fonts/Roboto-100-cyrillic2.woff2 -------------------------------------------------------------------------------- /app/src/assets/fonts/Roboto-100-greek-ext3.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/src/assets/fonts/Roboto-100-greek-ext3.woff2 -------------------------------------------------------------------------------- /app/src/assets/fonts/Roboto-100-greek4.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/src/assets/fonts/Roboto-100-greek4.woff2 -------------------------------------------------------------------------------- /app/src/assets/fonts/Roboto-100-latin-ext6.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/src/assets/fonts/Roboto-100-latin-ext6.woff2 -------------------------------------------------------------------------------- /app/src/assets/fonts/Roboto-100-latin7.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/src/assets/fonts/Roboto-100-latin7.woff2 -------------------------------------------------------------------------------- /app/src/assets/fonts/Roboto-100-vietnamese5.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/app/src/assets/fonts/Roboto-100-vietnamese5.woff2 -------------------------------------------------------------------------------- /app/src/components/AppFooter.vue: -------------------------------------------------------------------------------- 1 | <template> 2 | <v-row> 3 | <v-col cols=12 class='text-center'> 4 | <v-divider class='mt-10 mb-3' ></v-divider> 5 | <p class='mb-0 text-center footer-text' v-html="footer_text"></p> 6 | <p> 7 | <v-btn small text target="_blank" href="https://github.com/talebook/talebook">Github</v-btn> 8 | | <v-btn small text target="_blank" href="https://hub.docker.com/r/talebook/talebook">Docker</v-btn> 9 | | <v-btn small text target="_blank" href="http://talebook.org">Project</v-btn> 10 | </p> 11 | </v-col> 12 | </v-row> 13 | </template> 14 | 15 | <script> 16 | export default { 17 | name: 'AppFooter', 18 | computed: { 19 | footer_text: function() { 20 | if ( this.$store.state.sys.footer != undefined ) { 21 | return this.$store.state.sys.footer; 22 | } 23 | return this.footer; 24 | }, 25 | }, 26 | data: () => ({ 27 | footer: "本站基于Calibre构建,感谢开源界的力量。所有资源搜集于互联网,如有侵权请邮件联系。", 28 | }) 29 | } 30 | </script> 31 | 32 | <style> 33 | 34 | </style> 35 | -------------------------------------------------------------------------------- /app/src/components/Loading.vue: -------------------------------------------------------------------------------- 1 | <template> 2 | <div v-show="$store.state.loading" class="loading-page"> 3 | <v-progress-circular indeterminate size=128 color="deep-orange lighten-2"></v-progress-circular> 4 | </div> 5 | </template> 6 | 7 | <script> 8 | export default { 9 | data: () => ({ 10 | }), 11 | }; 12 | </script> 13 | 14 | <style scoped> 15 | .loading-page { 16 | position: fixed; 17 | top: 0; 18 | left: 0; 19 | right: 0; 20 | bottom: 0; 21 | z-index: 1; 22 | background: white; 23 | text-align: center; 24 | padding-top: 200px; 25 | font-size: 30px; 26 | font-family: sans-serif; 27 | } 28 | </style> 29 | -------------------------------------------------------------------------------- /app/src/layouts/error.vue: -------------------------------------------------------------------------------- 1 | <template> 2 | <v-app dark> 3 | <h1 v-if="error.statusCode === 404"> 4 | {{ pageNotFound }} 5 | </h1> 6 | <h1 v-else> 7 | {{ otherError }} 8 | </h1> 9 | <NuxtLink to="/"> Home page </NuxtLink> 10 | </v-app> 11 | </template> 12 | 13 | <script> 14 | export default { 15 | name: "EmptyLayout", 16 | layout: "empty", 17 | 18 | props: { 19 | error: { 20 | type: Object, 21 | default: null, 22 | }, 23 | }, 24 | created() { 25 | //this.$store.commit("puremode", true); 26 | }, 27 | 28 | data() { 29 | return { 30 | pageNotFound: "404 Not Found", 31 | otherError: "An error occurred", 32 | }; 33 | }, 34 | head() { 35 | const title = this.error.statusCode === 404 ? this.pageNotFound : this.otherError; 36 | return { 37 | title, 38 | }; 39 | }, 40 | }; 41 | </script> 42 | 43 | <style scoped> 44 | h1 { 45 | font-size: 20px; 46 | } 47 | .msg { 48 | text-align: center; 49 | } 50 | </style> 51 | 52 | -------------------------------------------------------------------------------- /app/src/pages/_meta/_name.vue: -------------------------------------------------------------------------------- 1 | <script> 2 | // don't create a template for the section 3 | import ListBook from '~/pages/ListBook.vue' 4 | ListBook.head = function() { 5 | var name = decodeURIComponent(this.$route.params.name); 6 | var titles = { 7 | tag: `"${name}”标签的书籍`, 8 | series: `${name}丛书`, 9 | rating: `${name}星书籍`, 10 | author: `${name}的著作`, 11 | publisher: `${name}出版的书籍`, 12 | } 13 | var meta = this.$route.path.split("/")[1]; 14 | if ( titles[meta] !== undefined ) { 15 | return { 16 | title: titles[meta] 17 | } 18 | } 19 | return {} 20 | } 21 | export default ListBook 22 | </script> 23 | -------------------------------------------------------------------------------- /app/src/pages/active/success.vue: -------------------------------------------------------------------------------- 1 | <template> 2 | <v-row justify=center class='fill-center'> 3 | <v-col xs=12 sm=8 md=4> 4 | <v-card class="elevation-12"> 5 | <v-toolbar dark color="primary"> 6 | <v-toolbar-title align-center >激活成功</v-toolbar-title> 7 | </v-toolbar> 8 | <v-card-text> 9 | <p class="mt-12 mb-8 text-center"> 10 | 你已成功激活账号,请前往首页浏览吧! 11 | </p> 12 | </v-card-text> 13 | 14 | <v-card-actions> 15 | <v-spacer></v-spacer> 16 | <v-btn to="/" color="primary">Go</v-btn> 17 | <v-spacer></v-spacer> 18 | </v-card-actions> 19 | 20 | </v-card> 21 | </v-col> 22 | </v-row> 23 | </template> 24 | 25 | <script> 26 | export default { 27 | created() { 28 | this.$store.commit('navbar', false); 29 | }, 30 | data: () => ({ 31 | }), 32 | head: () => ({ 33 | title: '激活成功', 34 | }), 35 | } 36 | </script> 37 | 38 | -------------------------------------------------------------------------------- /app/src/pages/author.vue: -------------------------------------------------------------------------------- 1 | <script> 2 | // don't create a template for the section 3 | import ListMeta from '~/pages/ListMeta.vue' 4 | export default ListMeta 5 | </script> 6 | -------------------------------------------------------------------------------- /app/src/pages/hot.vue: -------------------------------------------------------------------------------- 1 | <script> 2 | // don't create a template for the section 3 | import ListBook from '~/pages/ListBook.vue' 4 | export default ListBook 5 | </script> 6 | -------------------------------------------------------------------------------- /app/src/pages/logout.vue: -------------------------------------------------------------------------------- 1 | <template> 2 | <v-row justify=center class='fill-center'> 3 | <v-col xs=12 sm=8 md=4> 4 | <v-card class="elevation-12"> 5 | <v-toolbar dark color="blue-grey"> 6 | <v-toolbar-title></v-toolbar-title> 7 | </v-toolbar> 8 | <v-card-text> 9 | <div class="text-center title primary--text"> 10 | <p class="pt-8">{{msg}}</p> 11 | </div> 12 | </v-card-text> 13 | <v-card-actions> 14 | <v-spacer></v-spacer> 15 | <v-btn class="mb-4" rounded color="primary" href="/">返回首页</v-btn> 16 | <v-spacer></v-spacer> 17 | </v-card-actions> 18 | </v-card> 19 | </v-col> 20 | </v-row> 21 | </template> 22 | 23 | <script> 24 | export default { 25 | created() { 26 | this.$store.commit("navbar", false); 27 | this.logout(); 28 | }, 29 | data: () => ({ 30 | msg: "您已退出登录。", 31 | }), 32 | head: () => ({ 33 | title: "已退出登录" 34 | }), 35 | methods: { 36 | logout: function() { 37 | this.$backend('/user/sign_out') 38 | .then( rsp => { 39 | this.msg = rsp.msg; 40 | }); 41 | } 42 | }, 43 | } 44 | </script> 45 | 46 | -------------------------------------------------------------------------------- /app/src/pages/nav.vue: -------------------------------------------------------------------------------- 1 | <template> 2 | <v-row> 3 | <template v-for="nav in navs"> 4 | <v-col cols=12 :key="nav.legend"> 5 | <h2>{{nav.legend}}</h2> 6 | <v-btn rounded small class="ma-1" v-for="item in nav.tags" :to="'/tag/'+encodeURIComponent(item.name)" :key="item.name" outlined :color="item.count != 0 ? 'primary': 'grey'" > 7 | {{item.name}} 8 | <span v-if="item.count"> ({{item.count}})</span> 9 | </v-btn> 10 | </v-col> 11 | </template> 12 | </v-row> 13 | </template> 14 | 15 | <script> 16 | export default { 17 | components: { 18 | }, 19 | computed: { 20 | }, 21 | data: () => ({ 22 | navs: [], 23 | }), 24 | head: () => ({ 25 | title: "书籍索引" 26 | }), 27 | async asyncData({ params, app, res }) { 28 | if ( res !== undefined ) { 29 | res.setHeader('Cache-Control', 'no-cache'); 30 | } 31 | return app.$backend("/book/nav"); 32 | }, 33 | created() { 34 | this.$store.commit('navbar', true); 35 | }, 36 | } 37 | </script> 38 | -------------------------------------------------------------------------------- /app/src/pages/publisher.vue: -------------------------------------------------------------------------------- 1 | <script> 2 | // don't create a template for the section 3 | import ListMeta from '~/pages/ListMeta.vue' 4 | export default ListMeta 5 | </script> 6 | -------------------------------------------------------------------------------- /app/src/pages/rating.vue: -------------------------------------------------------------------------------- 1 | <script> 2 | // don't create a template for the section 3 | import ListMeta from '~/pages/ListMeta.vue' 4 | export default ListMeta 5 | </script> 6 | -------------------------------------------------------------------------------- /app/src/pages/recent.vue: -------------------------------------------------------------------------------- 1 | <script> 2 | // don't create a template for the section 3 | import ListBook from '~/pages/ListBook.vue' 4 | export default ListBook 5 | </script> 6 | -------------------------------------------------------------------------------- /app/src/pages/search.vue: -------------------------------------------------------------------------------- 1 | <script> 2 | // don't create a template for the section 3 | import ListBook from '~/pages/ListBook.vue' 4 | export default ListBook 5 | </script> 6 | -------------------------------------------------------------------------------- /app/src/pages/series.vue: -------------------------------------------------------------------------------- 1 | <script> 2 | // don't create a template for the section 3 | import ListMeta from '~/pages/ListMeta.vue' 4 | export default ListMeta 5 | </script> 6 | -------------------------------------------------------------------------------- /app/src/pages/tag.vue: -------------------------------------------------------------------------------- 1 | <script> 2 | // don't create a template for the section 3 | import ListMeta from '~/pages/ListMeta.vue' 4 | export default ListMeta 5 | </script> 6 | -------------------------------------------------------------------------------- /app/src/plugins/load-plugins.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | 3 | import VueCookies from 'vue-cookies' 4 | Vue.use(VueCookies) 5 | 6 | //import talebook from "~/plugins/talebook.js" 7 | //Vue.use(talebook) 8 | -------------------------------------------------------------------------------- /app/src/store/index.js: -------------------------------------------------------------------------------- 1 | export const state = () => ({ 2 | nav: true, loading: true, count: 0, user: { 3 | is_admin: false, is_login: false, nickname: "", kindle_email: "", avatar: "", 4 | }, alert: { 5 | to: "", msg: "", type: "", show: false, 6 | }, sys: { 7 | socials: [], allow: {}, 8 | }, 9 | site_title: "首页", 10 | site_title_template: "%s | talebook" 11 | }) 12 | 13 | export const mutations = { 14 | loading(state) { 15 | state.loading = true; 16 | }, loaded(state) { 17 | state.loading = false; 18 | }, /* 19 | puremode(state, pure) { 20 | if (pure) { 21 | state.nav = false; 22 | } else { 23 | state.nav = true; 24 | } 25 | }, 26 | */ 27 | navbar(state, nav) { 28 | state.nav = nav; 29 | }, increment(state) { 30 | state.count++ 31 | }, login(state, data) { 32 | if (data != undefined) { 33 | state.sys = data.sys; 34 | state.user = data.user; 35 | } 36 | }, alert(state, v) { 37 | state.alert.to = v.to; 38 | state.alert.type = v.type; 39 | state.alert.msg = v.msg; 40 | state.alert.show = true; 41 | }, close_alert(state) { 42 | state.alert.show = false; 43 | }, set_title(state, v) { 44 | state.site_title_template = ' %s | ' + v; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /conf/nginx/ssl.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDmzCCAoMCFCkWPftwNTF1nPgVrdtdA8kiXN4KMA0GCSqGSIb3DQEBCwUAMIGJ 3 | MQswCQYDVQQGEwJDTjEQMA4GA1UECAwHQmVpamluZzEQMA4GA1UEBwwHQmVpamlu 4 | ZzERMA8GA1UECgwIdGFsZWJvb2sxETAPBgNVBAsMCHRhbGVib29rMREwDwYDVQQD 5 | DAhkZW1vLmNvbTEdMBsGCSqGSIb3DQEJARYOYWRtaW5AZGVtby5jb20wHhcNMjIw 6 | MjIzMTYxODI0WhcNMzIwMjIxMTYxODI0WjCBiTELMAkGA1UEBhMCQ04xEDAOBgNV 7 | BAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxETAPBgNVBAoMCHRhbGVib29r 8 | MREwDwYDVQQLDAh0YWxlYm9vazERMA8GA1UEAwwIZGVtby5jb20xHTAbBgkqhkiG 9 | 9w0BCQEWDmFkbWluQGRlbW8uY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB 10 | CgKCAQEAzEKyzZqzW2Hs2f7YrfROG3hDOrYTk/TCZvVDncTr3uL2C06V/U43z9t3 11 | 6eU6bB9UJA0xpanzFYR1XNZ0gum/ACSgCRi1Jv3wxvL2DBrc4ETexEi7rccTKTLV 12 | umW24YzI9vDEwN6RTJqlM1KNRazPuu2NjJa8HCsYosv7w+ig3P0bf8dae+SSXxST 13 | V43b+j79xTnWtYnxWu9+l0xNBho3B/hDWKE5uS45nTzrudQEf/o5i+D4yI1TNVEc 14 | Uh/rGUTDsPgHKQNpZ/EGXapHD5/Tvwg14InbNkSKc4kT0yC3Qts6ZfUDNWV1kg24 15 | 67/W/ufqaa3tcDVjASCiKZWwvYSbxwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBZ 16 | AxknMcxIX1h48SlwPPaTs+GlduYzNUMkxUFGDf7tVYsqMuLNgVTAXCqgU40J6wGW 17 | e1un09diptsT3jT5V92avzT0HPYwDEYcXj8m13uTbFQ3bYDHVsRD3j/H5C0CasFb 18 | /NJiRXwtBUahNYYSdWZ3PHm3bm8obOu+rxbfFJq0backNELxwB9JODE6bfaMzXLw 19 | HYS04GhOLz/N2R/urOw0CCWZatB8SG0UmA5ybjotO3KjIBC3aNRHFwLrkrc7OHOB 20 | ZXtX8GYyOdWjdIYLPGZ7ej0ra8dWA4r6CvY0UbyVia1miWpa1qjRO5pKpyz4g096 21 | 2yL8tWd0fjNFe5YQSXXC 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /conf/supervisor/server-side-render.conf: -------------------------------------------------------------------------------- 1 | [group:talebook] 2 | programs=tornado,nginx,nodejs 3 | 4 | [program:tornado] 5 | command=gosu talebook:talebook python3 server.py --with-library=/data/books/library --port=8000 --host=127.0.0.1 --logging=debug --log-file-prefix=/data/log/talebook.log 6 | directory=/var/www/talebook 7 | autorestart=true 8 | redirect_stderr=true 9 | stdout_logfile=/dev/fd/1 10 | stdout_logfile_maxbytes=0 11 | 12 | [program:nginx] 13 | command = /usr/sbin/nginx -g 'daemon off;' 14 | autostart=true 15 | autorestart=unexpected 16 | 17 | [program:nodejs] 18 | command=gosu talebook:talebook npm run start 19 | directory=/var/www/talebook/app 20 | autorestart=true 21 | redirect_stderr=true 22 | stdout_logfile=/data/log/nodejs.log 23 | 24 | -------------------------------------------------------------------------------- /conf/supervisor/talebook.conf: -------------------------------------------------------------------------------- 1 | [group:talebook] 2 | programs=tornado,nginx 3 | 4 | [program:tornado] 5 | command=gosu talebook:talebook python3 server.py --with-library=/data/books/library --port=8000 --host=127.0.0.1 --logging=debug --log-file-prefix=/data/log/talebook.log 6 | directory=/var/www/talebook 7 | autorestart=true 8 | redirect_stderr=true 9 | stdout_logfile=/dev/fd/1 10 | stdout_logfile_maxbytes=0 11 | 12 | [program:nginx] 13 | command = /usr/sbin/nginx -g 'daemon off;' 14 | autostart=true 15 | autorestart=unexpected 16 | 17 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "2.4" 2 | 3 | services: 4 | 5 | # main service 6 | talebook: 7 | restart: always 8 | image: talebook/talebook 9 | volumes: 10 | - /tmp/demo:/data 11 | ports: 12 | - "8080:80" 13 | - "8443:443" 14 | environment: 15 | - PUID=1000 16 | - PGID=1000 17 | - TZ=Asia/Shanghai 18 | depends_on: 19 | - douban-rs-api 20 | 21 | # optional, for meta plugins 22 | # please set "http://douban-rs-api" in settings 23 | douban-rs-api: 24 | restart: always 25 | image: ghcr.io/cxfksword/douban-api-rs 26 | -------------------------------------------------------------------------------- /docker/book/1.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/docker/book/1.epub -------------------------------------------------------------------------------- /docker/book/10.mobi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/docker/book/10.mobi -------------------------------------------------------------------------------- /docker/book/11.azw3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/docker/book/11.azw3 -------------------------------------------------------------------------------- /docker/book/12.txt: -------------------------------------------------------------------------------- 1 | 《清风徐徐》 2 | 作者:无名氏 3 | 简介: 这是一本好书,本内容仅作为演示而已 4 | 5 | 第一章 演示 6 | 7 | 刘畊宏willliu 8 | 9 | 4-13 09:29 10 | 11 | 来自 微博视频号 12 | 13 | 讓你/妳對《本草綱目》改觀的一組健身燃脂操, 14 | 15 | 讓你/妳脫離…小腹婆、大肚腩…肥油 咔咔掉, 16 | 17 | 讓你/妳練出 人魚線、馬甲線,迎接美好的夏天! 18 | 19 | 20 | -------------------------------------------------------------------------------- /docker/book/13.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/docker/book/13.pdf -------------------------------------------------------------------------------- /docker/book/2.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/docker/book/2.epub -------------------------------------------------------------------------------- /docker/book/3.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/docker/book/3.epub -------------------------------------------------------------------------------- /docker/book/4.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/docker/book/4.epub -------------------------------------------------------------------------------- /docker/book/5.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/docker/book/5.epub -------------------------------------------------------------------------------- /docker/book/6.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/docker/book/6.epub -------------------------------------------------------------------------------- /docker/book/7.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/docker/book/7.epub -------------------------------------------------------------------------------- /docker/book/8.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/docker/book/8.epub -------------------------------------------------------------------------------- /docker/book/9.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/docker/book/9.epub -------------------------------------------------------------------------------- /document/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/document/screenshot.png -------------------------------------------------------------------------------- /kubernetes/douban-rs-api-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | annotations: 5 | kompose.cmd: kompose convert 6 | kompose.version: 1.24.0 (4a2a0458) 7 | labels: 8 | io.kompose.service: douban-rs-api 9 | name: douban-rs-api 10 | spec: 11 | replicas: 1 12 | selector: 13 | matchLabels: 14 | io.kompose.service: douban-rs-api 15 | strategy: {} 16 | template: 17 | metadata: 18 | annotations: 19 | kompose.cmd: kompose convert 20 | kompose.version: 1.24.0 (4a2a0458) 21 | labels: 22 | io.kompose.service: douban-rs-api 23 | spec: 24 | containers: 25 | - image: ghcr.io/cxfksword/douban-api-rs 26 | name: douban-rs-api 27 | ports: 28 | - containerPort: 80 29 | restartPolicy: Always 30 | -------------------------------------------------------------------------------- /kubernetes/douban-rs-api-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | annotations: 5 | kompose.cmd: kompose convert 6 | kompose.version: 1.24.0 (4a2a0458) 7 | creationTimestamp: null 8 | labels: 9 | io.kompose.service: douban-rs-api 10 | name: douban-rs-api 11 | spec: 12 | ports: 13 | - name: "80" 14 | port: 80 15 | targetPort: 80 16 | selector: 17 | io.kompose.service: douban-rs-api 18 | status: 19 | loadBalancer: {} 20 | -------------------------------------------------------------------------------- /kubernetes/talebook-claim0-persistentvolumeclaim.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolumeClaim 3 | metadata: 4 | labels: 5 | io.kompose.service: talebook-claim0 6 | name: talebook-claim0 7 | spec: 8 | accessModes: 9 | - ReadWriteOnce 10 | resources: 11 | requests: 12 | storage: 100Gi -------------------------------------------------------------------------------- /kubernetes/talebook-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | annotations: 5 | kompose.cmd: kompose convert 6 | kompose.version: 1.24.0 (4a2a0458) 7 | creationTimestamp: null 8 | labels: 9 | io.kompose.service: talebook 10 | name: talebook 11 | spec: 12 | replicas: 1 13 | selector: 14 | matchLabels: 15 | io.kompose.service: talebook 16 | strategy: 17 | type: Recreate 18 | template: 19 | metadata: 20 | annotations: 21 | kompose.cmd: kompose convert 22 | kompose.version: 1.24.0 (4a2a0458) 23 | creationTimestamp: null 24 | labels: 25 | io.kompose.service: talebook 26 | spec: 27 | containers: 28 | - image: talebook/talebook 29 | name: talebook 30 | ports: 31 | - containerPort: 80 32 | - containerPort: 443 33 | resources: {} 34 | volumeMounts: 35 | - mountPath: /data 36 | name: talebook-claim0 37 | restartPolicy: Always 38 | volumes: 39 | - name: talebook-claim0 40 | persistentVolumeClaim: 41 | claimName: talebook-claim0 42 | status: {} 43 | -------------------------------------------------------------------------------- /kubernetes/talebook-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | annotations: 5 | kompose.cmd: kompose convert 6 | kompose.version: 1.24.0 (4a2a0458) 7 | creationTimestamp: null 8 | labels: 9 | io.kompose.service: talebook 10 | name: talebook 11 | spec: 12 | ports: 13 | - name: "80" 14 | port: 80 15 | targetPort: 80 16 | - name: "443" 17 | port: 443 18 | targetPort: 443 19 | selector: 20 | io.kompose.service: talebook 21 | status: 22 | loadBalancer: {} 23 | -------------------------------------------------------------------------------- /pyproject.xml: -------------------------------------------------------------------------------- 1 | [tool.black] 2 | line-length = 120 3 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | jinja2==3.1.4 2 | social-auth-core==4.5.1 3 | social-auth-app-tornado==1.0.0 4 | social-auth-storage-sqlalchemy==1.1.0 5 | tornado==6.4.2 6 | bs4 7 | chardet 8 | 9 | # build-in support for MYSQL 10 | pymysql 11 | pytest==7.4.4 12 | flake8 13 | -------------------------------------------------------------------------------- /server.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | """ 4 | This is the standard runscript for all of calibre's tools. 5 | Do not modify it unless you know what you are doing. 6 | """ 7 | 8 | import os 9 | import sys 10 | 11 | import webserver.main 12 | 13 | sys.exit(webserver.main.main()) 14 | -------------------------------------------------------------------------------- /tests/.gitignore: -------------------------------------------------------------------------------- 1 | users.db 2 | library/ 3 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/__init__.py -------------------------------------------------------------------------------- /tests/cases/big-metadata.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/cases/big-metadata.db -------------------------------------------------------------------------------- /tests/cases/book.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/cases/book.txt -------------------------------------------------------------------------------- /tests/cases/import.mobi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/cases/import.mobi -------------------------------------------------------------------------------- /tests/cases/metadata.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/cases/metadata.db -------------------------------------------------------------------------------- /tests/cases/new.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/cases/new.epub -------------------------------------------------------------------------------- /tests/cases/old.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/cases/old.epub -------------------------------------------------------------------------------- /tests/cases/ssl.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDmzCCAoMCFCkWPftwNTF1nPgVrdtdA8kiXN4KMA0GCSqGSIb3DQEBCwUAMIGJ 3 | MQswCQYDVQQGEwJDTjEQMA4GA1UECAwHQmVpamluZzEQMA4GA1UEBwwHQmVpamlu 4 | ZzERMA8GA1UECgwIdGFsZWJvb2sxETAPBgNVBAsMCHRhbGVib29rMREwDwYDVQQD 5 | DAhkZW1vLmNvbTEdMBsGCSqGSIb3DQEJARYOYWRtaW5AZGVtby5jb20wHhcNMjIw 6 | MjIzMTYxODI0WhcNMzIwMjIxMTYxODI0WjCBiTELMAkGA1UEBhMCQ04xEDAOBgNV 7 | BAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxETAPBgNVBAoMCHRhbGVib29r 8 | MREwDwYDVQQLDAh0YWxlYm9vazERMA8GA1UEAwwIZGVtby5jb20xHTAbBgkqhkiG 9 | 9w0BCQEWDmFkbWluQGRlbW8uY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB 10 | CgKCAQEAzEKyzZqzW2Hs2f7YrfROG3hDOrYTk/TCZvVDncTr3uL2C06V/U43z9t3 11 | 6eU6bB9UJA0xpanzFYR1XNZ0gum/ACSgCRi1Jv3wxvL2DBrc4ETexEi7rccTKTLV 12 | umW24YzI9vDEwN6RTJqlM1KNRazPuu2NjJa8HCsYosv7w+ig3P0bf8dae+SSXxST 13 | V43b+j79xTnWtYnxWu9+l0xNBho3B/hDWKE5uS45nTzrudQEf/o5i+D4yI1TNVEc 14 | Uh/rGUTDsPgHKQNpZ/EGXapHD5/Tvwg14InbNkSKc4kT0yC3Qts6ZfUDNWV1kg24 15 | 67/W/ufqaa3tcDVjASCiKZWwvYSbxwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBZ 16 | AxknMcxIX1h48SlwPPaTs+GlduYzNUMkxUFGDf7tVYsqMuLNgVTAXCqgU40J6wGW 17 | e1un09diptsT3jT5V92avzT0HPYwDEYcXj8m13uTbFQ3bYDHVsRD3j/H5C0CasFb 18 | /NJiRXwtBUahNYYSdWZ3PHm3bm8obOu+rxbfFJq0backNELxwB9JODE6bfaMzXLw 19 | HYS04GhOLz/N2R/urOw0CCWZatB8SG0UmA5ybjotO3KjIBC3aNRHFwLrkrc7OHOB 20 | ZXtX8GYyOdWjdIYLPGZ7ej0ra8dWA4r6CvY0UbyVia1miWpa1qjRO5pKpyz4g096 21 | 2yL8tWd0fjNFe5YQSXXC 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /tests/cases/title_has_0x00.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/cases/title_has_0x00.pdf -------------------------------------------------------------------------------- /tests/cases/users.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/cases/users.db -------------------------------------------------------------------------------- /tests/library/严歌苓/芳华 (7)/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/严歌苓/芳华 (7)/cover.jpg -------------------------------------------------------------------------------- /tests/library/严歌苓/芳华 (7)/芳华 - 严歌苓.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/严歌苓/芳华 (7)/芳华 - 严歌苓.epub -------------------------------------------------------------------------------- /tests/library/五味太郎/鳄鱼怕怕牙医怕怕 (5)/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/五味太郎/鳄鱼怕怕牙医怕怕 (5)/cover.jpg -------------------------------------------------------------------------------- /tests/library/五味太郎/鳄鱼怕怕牙医怕怕 (5)/鳄鱼怕怕牙医怕怕 - 五味太郎.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/五味太郎/鳄鱼怕怕牙医怕怕 (5)/鳄鱼怕怕牙医怕怕 - 五味太郎.pdf -------------------------------------------------------------------------------- /tests/library/刘醒龙/天行者 (8)/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/刘醒龙/天行者 (8)/cover.jpg -------------------------------------------------------------------------------- /tests/library/刘醒龙/天行者 (8)/天行者 - 刘醒龙.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/刘醒龙/天行者 (8)/天行者 - 刘醒龙.epub -------------------------------------------------------------------------------- /tests/library/加西亚·马尔克斯/百年孤独 (1)/Bai Nian Gu Du - Jia Xi Ya _Ma Er Ke Si.mobi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/加西亚·马尔克斯/百年孤独 (1)/Bai Nian Gu Du - Jia Xi Ya _Ma Er Ke Si.mobi -------------------------------------------------------------------------------- /tests/library/加西亚·马尔克斯/百年孤独 (1)/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/加西亚·马尔克斯/百年孤独 (1)/cover.jpg -------------------------------------------------------------------------------- /tests/library/加西亚·马尔克斯/百年孤独 (1)/百年孤独 - 加西亚·马尔克斯.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/加西亚·马尔克斯/百年孤独 (1)/百年孤独 - 加西亚·马尔克斯.epub -------------------------------------------------------------------------------- /tests/library/安徒生/安徒生童话 (3)/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/安徒生/安徒生童话 (3)/cover.jpg -------------------------------------------------------------------------------- /tests/library/安徒生/安徒生童话 (3)/安徒生童话 - 安徒生.mobi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/安徒生/安徒生童话 (3)/安徒生童话 - 安徒生.mobi -------------------------------------------------------------------------------- /tests/library/海明威/老人与海 (10)/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/海明威/老人与海 (10)/cover.jpg -------------------------------------------------------------------------------- /tests/library/海明威/老人与海 (10)/老人与海 - 海明威.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/海明威/老人与海 (10)/老人与海 - 海明威.epub -------------------------------------------------------------------------------- /tests/library/笛福/鲁滨孙历险记 (9)/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/笛福/鲁滨孙历险记 (9)/cover.jpg -------------------------------------------------------------------------------- /tests/library/笛福/鲁滨孙历险记 (9)/鲁滨孙历险记 - 笛福.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/笛福/鲁滨孙历险记 (9)/鲁滨孙历险记 - 笛福.epub -------------------------------------------------------------------------------- /tests/library/纳尔逊·曼德拉/漫漫自由路 (2)/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/纳尔逊·曼德拉/漫漫自由路 (2)/cover.jpg -------------------------------------------------------------------------------- /tests/library/纳尔逊·曼德拉/漫漫自由路 (2)/漫漫自由路 - 纳尔逊·曼德拉.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/纳尔逊·曼德拉/漫漫自由路 (2)/漫漫自由路 - 纳尔逊·曼德拉.txt -------------------------------------------------------------------------------- /tests/library/艾森·拉塞尔/麦肯锡方法 (4)/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/艾森·拉塞尔/麦肯锡方法 (4)/cover.jpg -------------------------------------------------------------------------------- /tests/library/艾森·拉塞尔/麦肯锡方法 (4)/麦肯锡方法 - 艾森·拉塞尔.azw3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/艾森·拉塞尔/麦肯锡方法 (4)/麦肯锡方法 - 艾森·拉塞尔.azw3 -------------------------------------------------------------------------------- /tests/library/蘅塘退士/唐诗三百首 (6)/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/蘅塘退士/唐诗三百首 (6)/cover.jpg -------------------------------------------------------------------------------- /tests/library/蘅塘退士/唐诗三百首 (6)/唐诗三百首 - 蘅塘退士.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/蘅塘退士/唐诗三百首 (6)/唐诗三百首 - 蘅塘退士.epub -------------------------------------------------------------------------------- /tests/library/詹姆斯·巴里/彼得·潘 (13)/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/詹姆斯·巴里/彼得·潘 (13)/cover.jpg -------------------------------------------------------------------------------- /tests/library/詹姆斯·巴里/彼得·潘 (13)/彼得·潘 - 詹姆斯·巴里.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/詹姆斯·巴里/彼得·潘 (13)/彼得·潘 - 詹姆斯·巴里.epub -------------------------------------------------------------------------------- /tests/library/陀思妥耶夫斯基/罪与罚 (11)/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/陀思妥耶夫斯基/罪与罚 (11)/cover.jpg -------------------------------------------------------------------------------- /tests/library/陀思妥耶夫斯基/罪与罚 (11)/罪与罚 - 陀思妥耶夫斯基.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/陀思妥耶夫斯基/罪与罚 (11)/罪与罚 - 陀思妥耶夫斯基.epub -------------------------------------------------------------------------------- /tests/library/韩寒/他的国 (12)/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/韩寒/他的国 (12)/cover.jpg -------------------------------------------------------------------------------- /tests/library/韩寒/他的国 (12)/他的国 - 韩寒.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/tests/library/韩寒/他的国 (12)/他的国 - 韩寒.epub -------------------------------------------------------------------------------- /tests/run.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | # -*- coding: UTF-8 -*- 3 | 4 | import sys, os 5 | sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))) 6 | 7 | from tests.test_baike import * 8 | from tests.test_douban import * 9 | from tests.test_main import * 10 | from tests.test_models import * 11 | from tests.test_upload import * 12 | from tests.test_ssl_crt import * 13 | from tests.test_scan import * 14 | from tests.test_admin import * 15 | from tests.test_utils import * 16 | from tests.test_youshu import * 17 | import unittest 18 | 19 | if __name__ == "__main__": 20 | unittest.main() 21 | -------------------------------------------------------------------------------- /tests/test_admin.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: UTF-8 -*- 3 | 4 | from unittest import mock 5 | from tests.test_main import TestWithUserLogin, setUpModule as init 6 | 7 | def setUpModule(): 8 | init() 9 | 10 | class TestAdmin(TestWithUserLogin): 11 | def test_book_list(self): 12 | d = self.json("/api/admin/book/list?sort=id&num=10") 13 | self.assertEqual(d["err"], "ok") 14 | self.assertEqual(len(d["items"]), 10) 15 | -------------------------------------------------------------------------------- /tests/test_models.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | 4 | import json 5 | import logging 6 | import unittest 7 | 8 | from webserver import models 9 | 10 | 11 | class TestUser(unittest.TestCase): 12 | def test_shrink_extra_size(self): 13 | n = 1024 14 | a = models.Reader() 15 | a.extra = {} 16 | a.extra["download_history"] = [{"id": 123, "title": "name", "timestamp": 1643347670}] * n 17 | a.shrink_column_extra() 18 | self.assertLess(len(json.dumps(a.extra)), 32 * 1024) 19 | 20 | def test_shrink_extra_size2(self): 21 | n = 200 22 | a = models.Reader() 23 | a.extra = {} 24 | a.extra["download_history"] = [{"id": 123, "title": "name", "timestamp": 1643347670}] * n 25 | a.shrink_column_extra() 26 | # should not shrink 27 | self.assertEqual(len(a.extra["download_history"]), n) 28 | 29 | 30 | if __name__ == "__main__": 31 | logging.basicConfig( 32 | level=logging.DEBUG, 33 | format="%(levelname)5s %(pathname)s:%(lineno)d %(message)s", 34 | ) 35 | unittest.main() 36 | -------------------------------------------------------------------------------- /tests/test_service.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: UTF-8 -*- 3 | 4 | from tests.test_main import TestWithUserLogin, setUpModule as init, testdir 5 | from webserver.services.convert import ConvertService 6 | from webserver.services.extract import ExtractService 7 | 8 | 9 | def setUpModule(): 10 | init() 11 | 12 | class TestConvert(TestWithUserLogin): 13 | def test_convert(self): 14 | fin = testdir + "/cases/old.epub" 15 | fout = "/tmp/output.mobi" 16 | flog = "/tmp/output.log" 17 | ok = ConvertService().do_ebook_convert(fin, fout, flog) 18 | self.assertEqual(ok, True) 19 | 20 | class TestExtract(TestWithUserLogin): 21 | def test_convert(self): 22 | bid = 666 23 | fpath = testdir + "/cases/book.txt" 24 | ok = ExtractService().parse_txt_content(bid, fpath) 25 | self.assertEqual(ok, True) 26 | 27 | -------------------------------------------------------------------------------- /tests/test_utils.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pytest 2 | # -*- coding: UTF-8 -*- 3 | 4 | 5 | import unittest 6 | 7 | from webserver.utils import compare_books_by_rating_or_id 8 | 9 | 10 | class TestUtils(unittest.TestCase): 11 | def test_compare_by_rating_or_id(self): 12 | cases = [ 13 | [1, {"id": 2}, {"id": 1}], 14 | [1, {"rating": 2}, {"rating": None}], 15 | [1, {"rating": 2}, {"rating": 0}], 16 | [1, {"rating": 2}, {}], 17 | [1, {"rating": 2}, {"id": 2}], 18 | [1, {"rating": 2, "id": 2}, {"rating": 2, "id": 1}], 19 | [1, {"rating": 0, "id": 2}, {"rating": 0, "id": 1}], 20 | [1, {"rating": 0, "id": 2}, {"rating": None, "id": 1}], 21 | [1, {"rating": 0, "id": 2}, {"id": 1}], 22 | ] 23 | for val, a, b in cases: 24 | self.assertEqual(val, compare_books_by_rating_or_id(a, b), "compare %s > %s" % (a, b)) 25 | self.assertEqual(-1 * val, compare_books_by_rating_or_id(b, a), "compare %s > %s" % (b, a)) 26 | -------------------------------------------------------------------------------- /tools/run-spider.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | date 5 | 6 | /data/code/my-calibre-server/tools/spider.py 7 | 8 | cnt=`ls /data1/download/weiphone.com/ | wc -l` 9 | if [ $cnt -eq 0 ]; then 10 | exit 0; 11 | fi 12 | 13 | for f in /data1/download/weiphone.com/*; do 14 | echo "## Import $f" 15 | calibredb add --with-library /data/books/library/ "$f" 16 | mv "$f" /data1/download/feng.com/; 17 | done 18 | 19 | -------------------------------------------------------------------------------- /tools/update.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | if [ $# != 2 ]; then 5 | echo "not 2" 6 | exit 0 7 | fi 8 | bid=$1 9 | isbn=$2 10 | 11 | echo -n "udpate book=${bid} to ISBN[${isbn}] (yes/no) ? " 12 | read x 13 | if [[ "$x" = "y" ]]; then 14 | set -x 15 | calibredb set_metadata --with-library /data/books/library/ -f identifiers:isbn:$isbn $bid 16 | curl -d "exam_id=$bid" http://www.talebook.org/book/$bid/update -sv 17 | calibredb show_metadata --with-library /data/books/library/ $bid 18 | echo 19 | fi 20 | 21 | -------------------------------------------------------------------------------- /tools/watch-settings-and-reload-nginx.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NGINX_CONF=/etc/nginx/conf.d/calibre-webserver.conf 4 | WATCH_DIR=/data/demo/books/settings/ 5 | WATCH_CONF="$WATCH_DIR/auto.py" 6 | 7 | SCRIPT=" 8 | import sys; 9 | sys.path.append('$WATCH_DIR'); 10 | import auto; 11 | val='$NGINX_CLIENT_MAX_BODY_SIZE'; 12 | print(auto.settings.get('NGINX_CLIENT_MAX_BODY_SIZE', val)); 13 | " 14 | 15 | update_nginx_conf() { 16 | export NGINX_CLIENT_MAX_BODY_SIZE=$1 17 | envsubst '${NGINX_CLIENT_MAX_BODY_SIZE}' < "${NGINX_CONF}.template" > "${NGINX_CONF}" 18 | service nginx reload 19 | } 20 | 21 | 22 | # init 23 | val=$(python -c "$SCRIPT") 24 | update_nginx_conf $val 25 | 26 | # watch and update env 27 | while inotifywait -qe modify "$WATCH_CONF"; do 28 | n=$(python -c "$SCRIPT") 29 | if [ "$val" = "$n" ]; then 30 | continue 31 | fi 32 | val=$n 33 | update_nginx_conf $val 34 | done 35 | -------------------------------------------------------------------------------- /webserver/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/webserver/__init__.py -------------------------------------------------------------------------------- /webserver/constants.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: UTF-8 -*- 3 | 4 | 5 | CHROME_HEADERS = { 6 | "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.6", 7 | "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", 8 | "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)" 9 | + "Chrome/66.0.3359.139 Safari/537.36", 10 | } 11 | -------------------------------------------------------------------------------- /webserver/handlers/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: UTF-8 -*- 3 | 4 | 5 | def routes(): 6 | from . import book 7 | from . import user 8 | from . import meta 9 | from . import files 10 | from . import opds 11 | from . import admin 12 | from . import scan 13 | 14 | routes = [] 15 | routes += admin.routes() 16 | routes += scan.routes() 17 | routes += opds.routes() 18 | routes += book.routes() 19 | routes += user.routes() 20 | routes += meta.routes() 21 | routes += files.routes() 22 | return routes 23 | -------------------------------------------------------------------------------- /webserver/plugins/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/webserver/plugins/__init__.py -------------------------------------------------------------------------------- /webserver/plugins/meta/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/webserver/plugins/meta/__init__.py -------------------------------------------------------------------------------- /webserver/plugins/meta/baike/__init__.py: -------------------------------------------------------------------------------- 1 | from .api import BaiduBaikeApi, KEY, BAIKE_ISBN # noqa: F401 2 | -------------------------------------------------------------------------------- /webserver/plugins/meta/baike/baidubaike/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/webserver/plugins/meta/baike/baidubaike/__init__.py -------------------------------------------------------------------------------- /webserver/plugins/meta/youshu/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | # -*- coding: UTF-8 -*- 3 | from .api import YoushuApi, KEY, YOUSHU_ISBN # noqa: F401 4 | 5 | """ 6 | Youshu.me metadata plugin for Talebook 7 | """ 8 | -------------------------------------------------------------------------------- /webserver/plugins/parser/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/webserver/plugins/parser/__init__.py -------------------------------------------------------------------------------- /webserver/resources/book/creader.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html> 2 | <html lang="en"> 3 | <head> 4 | <meta charset="UTF-8" /> 5 | <meta name="mobile-web-app-capable" content="yes"> 6 | <meta name="apple-mobile-web-app-capable" content="yes" /> 7 | <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" /> 8 | <title>秉烛夜读</title> 9 | 10 | <base href="{{RES}}/static/candle-reader/" /> 11 | 12 | <link rel="icon" href="/favicon.ico" /> 13 | <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin="anonymous"> 14 | <link rel="preload" as="style" onload="this.rel='stylesheet'" href="https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap"> 15 | <link rel="stylesheet" crossorigin href="style.css"> 16 | 17 | <script src="js/epub-v0.3.88.js"></script> 18 | <script type="module"> 19 | import { Reader } from "./candle-reader.es.js" 20 | new Reader('#app', { 21 | debug: false, 22 | server: "{{CANDLE_READER_SERVER}}", 23 | themes_css: "{{RES}}/static/candle-reader/css/themes.css", 24 | book_url: "{{RES}}{{epub_dir}}/", 25 | display: "", 26 | }) 27 | </script> 28 | </head> 29 | <body> 30 | <div id="app"></div> 31 | </body> 32 | </html> 33 | -------------------------------------------------------------------------------- /webserver/resources/book/epubjs.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html> 2 | <html> 3 | 4 | <head> 5 | <title></title> 6 | <base href="{{RES}}/static/epubreader/" /> 7 | 8 | <meta charset="utf-8"> 9 | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 10 | <meta http-equiv="Permissions-Policy" content="interest-cohort=()"> 11 | <meta name="description" content=""> 12 | <meta name="viewport" content="width=device-width, user-scalable=no"> 13 | <meta name="apple-mobile-web-app-capable" content="yes"> 14 | 15 | <link rel="icon" type="image/png" href="{{IMG}}/get/thumb_144_144/{{book.id}}.png?t={{book.timestamp}}"> 16 | <link rel="stylesheet" href="css/main.css"> 17 | 18 | <!-- Libs --> 19 | <script src="js/libs/jszip.min.js"></script> 20 | <script src="js/libs/md5.min.js"></script> 21 | <script src="js/libs/epub.min.js"></script> 22 | 23 | <!-- Reader --> 24 | <script type="module"> 25 | import { Reader } from "./js/epubreader.min.js" 26 | const path = "{{RES}}{{epub_dir}}/"; 27 | window.onload = (e) => new Reader(path, { openbook: false, annotations: false, arrows: "content" }); 28 | </script> 29 | </head> 30 | 31 | <body> 32 | </body> 33 | 34 | </html> 35 | -------------------------------------------------------------------------------- /webserver/resources/calibre/default_cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talebook/talebook/6e81ae20a1dcdbc4ac10c1ae7e0621097cdcc45a/webserver/resources/calibre/default_cover.jpg -------------------------------------------------------------------------------- /webserver/resources/index.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,minimal-ui"><meta name=apple-mobile-web-app-capable content=yes><meta name=apple-mobile-web-app-status-bar-style content=black><meta name=Keywords content="在线阅读 电子书 下载 推送 kindle epub mobi"><meta name=description content=这是个安静读书的地方。在线阅读Epub/Mobi/Pdf/Azw3等格式的电子书,也支持下载或推送到Kindle设备里。><link rel=icon href=/favicon.ico><title>Calibre Webserver</title><link rel=stylesheet href=/fonts/roboto.css><link rel=stylesheet href=/fonts/material_icons.css><link href=/css/app.ec95c433.css rel=preload as=style><link href=/css/chunk-vendors.101850f3.css rel=preload as=style><link href=/js/app.8f0ca9a8.js rel=preload as=script><link href=/js/chunk-vendors.ef207656.js rel=preload as=script><link href=/css/chunk-vendors.101850f3.css rel=stylesheet><link href=/css/app.ec95c433.css rel=stylesheet></head><body><div id=app></div><script async src="//tajs.qq.com/stats?sId=29043744" charset=UTF-8></script><script async src="https://www.googletagmanager.com/gtag/js?id=UA-45286404-1"></script><script>window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments)}; gtag('js', new Date()); gtag('config', 'UA-45286404-1');</script><script src=/js/chunk-vendors.ef207656.js></script><script src=/js/app.8f0ca9a8.js></script></body></html> -------------------------------------------------------------------------------- /webserver/services/__init__.py: -------------------------------------------------------------------------------- 1 | from .async_service import AsyncService # noqa F401 -------------------------------------------------------------------------------- /webserver/services/extract.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: UTF-8 -*- 3 | 4 | import json 5 | import os 6 | import logging 7 | import traceback 8 | 9 | from webserver import loader 10 | from webserver.services import AsyncService 11 | from webserver.plugins.parser.txt import TxtParser 12 | 13 | CONF = loader.get_settings() 14 | 15 | 16 | class ExtractService(AsyncService): 17 | @AsyncService.register_service 18 | def parse_txt_content(self, bid, fpath): 19 | '''从TXT文件中提取目录并存储为json''' 20 | outDir = os.path.join(CONF["extract_path"], str(bid)) # 解压后的目录 21 | content_path = os.path.join(outDir, "content.json") 22 | if os.path.isfile(content_path): 23 | logging.info(f"书籍<{bid}>已转换, {content_path} exists") 24 | return False 25 | 26 | if not os.path.exists(outDir): 27 | os.mkdir(outDir) 28 | 29 | try: 30 | ret = TxtParser().parse(fpath) 31 | content = json.dumps(ret, ensure_ascii=False) 32 | with open(content_path, 'w', encoding="utf8") as f: 33 | f.write(content) 34 | return True 35 | except Exception as e: 36 | logging.info(f"TXT convert error: {e}") 37 | logging.error(traceback.format_exc()) 38 | return False 39 | -------------------------------------------------------------------------------- /webserver/social_routes.py: -------------------------------------------------------------------------------- 1 | 2 | from tornado.web import url 3 | from social_tornado.handlers import AuthHandler, CompleteHandler, DisconnectHandler 4 | 5 | SOCIAL_AUTH_ROUTES = [ 6 | url(r'/auth/login/(?P<backend>[^/]+)/?', AuthHandler, name='begin'), 7 | url(r'/auth/complete/(?P<backend>[^/]+).do', CompleteHandler, name='complete'), 8 | url(r'/auth/disconnect/(?P<backend>[^/]+)/?', DisconnectHandler, 9 | name='disconnect'), 10 | url(r'/auth/disconnect/(?P<backend>[^/]+)/(?P<association_id>\d+)/?', 11 | DisconnectHandler, name='disconect_individual'), 12 | ] 13 | -------------------------------------------------------------------------------- /webserver/version.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: UTF-8 -*- 3 | 4 | VERSION = "2.0.0-62-60" 5 | --------------------------------------------------------------------------------