codedread / kthoom Goto Github PK
View Code? Open in Web Editor NEWThis project forked from gitter-badger/kthoom
Comic Book Reader in the Browser
License: MIT License
This project forked from gitter-badger/kthoom
Comic Book Reader in the Browser
License: MIT License
Loading files from the same web server that kthoom is hosted on should be possible (and easy).
This issue is spawned from the following: https://github.com/comicweb/kthoom/issues/3#issuecomment-363669519
Support &page=11 when the bookUri query param is present.
Maybe a window for comicbook.xml files inside the archive.
Found some discussion here: Tenma-Server/Tenma#32
Once loaded (from any source), it should be possible to save the file locally to the hard drive (via downloading from the browser)
If you select multiple files to load, but one of them happens to be an invalid comic book file, then only the first file loads.
kthoom should support 2-page viewing
Paginate eBooks using something like https://github.com/pagedjs/pagedjs
Probably need to introduce a node module with a test script... maybe add it as a GitHub action?
https://github.com/naptha/tesseract.js looks cool and could help with automating metadata search (issue #54 )
please support PDF files
There should be an option for kthoom to remember which files were opened previously and automatically restore (load) them from the network upon restart. The option and which books are open can be saved as a cookie.
Users should be able to change the order of Books in the Reading Stack. Most convenient for mouse users is being able to drag-drop books.
Think carefully about designing this feature so that when accessibility is added (see Issue #15)
Good example: https://www.gutenberg.org/ebooks/27805
You have to refresh the web page and load again
Find some SVG icons for curved next / prev page arrows. Rotate them 90 degrees to account for page orientation.
... that's embarassing
Today it does nothing. We should instead:
For large comics or ebooks, the entire file may not be needed to be downloaded at once. For example, as the user opens the book, they may only need the first few pages. Kthoom could fetch enough data for the first five pages and then pause the fetching until the user gets closer to the "edge" of what has been fetched to fetch more.
This would save on bandwidth from client and server perspective.
To reproduce:
Because it takes some time for the next book to load, the book only has 1 page when the next arrow keypress is detected, bringing to the user to the next book.
Basically when the user presses 'next page' within a small enough time increment, and the book is still loading, ignore the 'next page' request.
Especially the menu button
Toolbar visibility should be toggle-able, but default to on.
Remember user's toolbar visibility in saveSettings_()
Hi,
bitjs is not synchronized with the bitjs repo
It currently creates a small bug when deploying the app.
Regards
If you have a file opened, you should have the option to add it to the Interplanetary File System
I realize this is probably not the best place to post a beginners question, but I couldn’t find a better way to contact the developers of this great script - my apologies!
I'm trying to integrate Kthoom in my comic book related website. Works fine, only in the menu is the ‘open from Google drive’ field missing. Pressing 'G' also doesn't do anything.
Obviously I’m missing something - I guess I need some api thing from Google - but I can not find more information on the net.
So if someone would be so friendly to point me in the right direction? I have to confess that my knowledge of coding is almost zero (but I’m an expert in copy/paste)
Thanks a lot,
Alex
kthoom should let a user load a reading list (some file in an agreed-upon format) that is a list of comic books to load, in-order, into the Reading Stack.
Not really an issue, but it would be nice - especially on mobile devices - that comic books can be read panel by panel. Something similar as what the Comic Trim app does or the French comic book site Izneo (On the bottom of the page, click on the second icon from the right to trigger picture by picture mode)
I figured out there is already some code on github, I just have no idea how to integrate it into Kthoom by myself (I'm still no coder... )
And thanks for all the great work, the 'optimized for streaming' code you wrote a while ago is simply amazing on my site.
In Issue #23, a Service Worker was introduced to cache files and make kthoom work offline. However, in looking at the code and observing behavior, I think the SW prefers the cached version over the network version and its' hard to "convince" kthoom to get the latest updates.
Need to investigate strategies and apply a fix: https://jakearchibald.com/2014/offline-cookbook/#network-falling-back-to-cache
Kthoom should let the users enter true full-screen using this API: https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API
Can also remove hiding the UI manually after implementing this.
A new API is available, currently only accessible via Chrome flag: https://wicg.github.io/native-file-system/
This could allow kthoom to do some interesting things:
Let's say a user is at kthoom/?readingListUri=foo.jrl
They go to the next book. That should update the URL to be kthoom/?readingListUri=foo.jrl&bookUri=baz.cbz so that if the browser tab reloads, baz.cbz should be loaded by default.
As per the original thoughts in Issue #49, use the ComicVine API to try and search and auto-populate or suggest metadata for books.
I tried using kthoom on a few cbz files, and loading worked inconsistently. For some files, the console displays a message about 0 pages loaded, and the gui seems stuck in a weird state. Other files seem to work fine. Any pointers what I should do to try to fix this?
Add support for SVG images inside CBZ/CBR files
This actually seems to work well already on my iPhone. Just need a slightly better UI for it.
I may attempt this myself as I haven’t done much web front end dev
When retrieving from Google Drive, sometimes it can take a longer than expected time for the first bits to come over the wire. While we are waiting for this to stream, we should show some indication that things are happening in the progress bar.
There is no visible progress when fetching a book from IPFS. Need to determine if the js-ipfs library gives us any indication of the download progress.
With Service Workers, we can make this work even if the user is offline.
Now that all browsers support the EventTarget constructor, we could remove EventEmitter.
This would imply that we need to remove all usages of the subscribeToAllEvents()
method.
It would be good to have a tool that can be run that "fixes" comic books archives that ensures the files in the archive are stored in reading order and includes metadata to indicate whether it is optimized for streaming
Markup for the kthoom menus take up about 125 lines of HTML, about 35% of the total payload. Since the menus are not visible upon first load, we can reduce initial HTML payload and further componentize the menu and make it more reusable in other contexts.
Kthoom does a pretty good job of fetching, unzipping and displaying pages. This should be extended beyond comic books to support other e-book formats, starting with EPUB.
The old way of Google sign-in is deprecated and will stop working in mid-2023:
If a comic book archive file has a corrupt image (JPG/PNG), kthoom should still be able to load in the whole book and then render the bad page to let the user know.
I noticed the decompression supports forward only streams (I think)
Could the loading of images also be progressive in that i can view the first page ASAP instead of waiting for everything to be loaded?
Things we can remove:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.