kiwix-js
kiwix-js copied to clipboard
Have a fancy library
Now that we have a nice looking https://library.kiwix.org with and OPDS API. I would propose that Kiwix JS provides a nicer solution to download ZIM files. Maybe just load https://library.kiwix.org for example?
Maybe just load https://library.kiwix.org for example?
I don't see what you mean by that.
Is this a duplicate of #114 ?
So far, we did not implement anything to download ZIM files in kiwix-js, but @Jaifroid did in kiwix-js-windows. I suppose you mean his implementation could now be improved with OPDS?
@mossroy I don't know how the final solution should look like... but AFAIK everything is there now to avoid using https://download.kiwix.org.
I think we should develop a modern version here in Kiwix JS using the new system, and then I could backport it to Kiwix JS Windows. The implementation I have in KJSW is currently very different. It's fast and gets the job done (offers mirrors and torrent files), but it is text-based, not so pretty.
JFYI I now offer a link to preview the chosen ZIM on library.kiwix.org in the download UI in KJSW. This is an interim measure.
A simple option to trial here would be to load library.kiwix.org in an iframe when the user requests opening the Archive Library in-app. That would "just work" I think. Would we want something more complex, i.e. using OPDS ourselves and offering a slimmed-down UI?
I don't think we need to manage downloads ourselves, as browsers all have their own sophisticated code for doing this, and nothing we could do would have the same level of FS access (only in Chromium browsers could we use the File System Access API).
PS Advantage of using browser to manage downloads is that downloads can continue in the background even if the app is closed.
BTW you might be interested in this new feature to be developed this summer https://github.com/kiwix/libkiwix/issues/585
Highly related to #489, to do this ticket either getting OPDS and building UI locally or just getting the HTML directly from library.kiwix.org.
My comment https://github.com/kiwix/kiwix-js/issues/846#issuecomment-1153113297 is still my opinion. This wouldn't be hard, just needs.... free time!