JW api is a main project for:
- libjw - Golang library to access JW.org apis
- JW Study - OpenSource JW Library app - fully open source and cross platform JW Library alternative.
Isn't the JW Library enough?
Well, while on some standard devices it works, there are several issues:
- JW Library app register handlers for every possible thing. Seriously. I've stopped using when after flashing pure Lineage OS, and trying to call somebody it just opened JW Library.
- That app is not lightweight, it require a lot of network usage, storage, and won't run on low-end devices.
- You can't study on your desktop, and just grab all your notes and highlights with you on the go.
- It is android-only app. How about those who run Ubuntu Touch, postmarketOS, mobian, droidian, SailfishOS, arch linux or on a halium recovery with telnet only access?
- It is a proprietary software.
So is jwapi better?
Well. You can make it better, simply submit a PR.
✅ | Downloading publications, to use them offline is made simpler - you just click on the publication. |
✅ | No unnecessary permissions required - no need to read files on your device, app uses OS-specific path that doesn't require any permissions |
✅ | Study on computer, phone, and have the same highlights on both devices |
✅ | Highlighting content |
❌ | Video/Audio files support |
✅ | Notes |
❌ | Searching in noted |
❌ | Backups (for now just copy ~/LibJWgo/db/ ) |
✅ | Same app on every platform - HTML, CSS and JS for the frontend and Golang for the backend |
✅ | No special permissions required, app doesn't register any handlers (android - you can open any file with JW Library...) |
✅ | Use same API as JW Library |
✅ | Give you better control of what is going on in the background. |
❎ | Package jwstudy for all systems (check dist/ directory) |
❌ | Convert JWPUB into Epub |
You can find binary distributions of the apps here, you generally want to download the Lorca version, not the Browser one. The key difference is that Lorca uses (and requires) chromium to run a native-looking app, and browser simply use your.
Lorca | Browser |
---|---|
Windows 64bit | Windows 64bit |
Windows 32bit | Windows 32bit |
Linux amd64 | Linux amd64 |
Linux 386 | Linux 386 |
Linux arm | Linux arm |
Linux arm64 | Linux arm64 |
jwstudy
- Opens electron-like app - recommended for desktop usage, on mobile devices (running Linux) have issues with highlighting.jwstudy-browser
- Opens gui in your default browser (recommended for mobile devices running Linux, due to fractional scaling issues with-lorca
build)
note: Since I don't own any device running android, and I don't really use ubuntu touch, I need help with keeping these packages up to date.
Ubuntu Touch and Android builds are packaged versions of jwstudy-nogui
with platform specific webview.
Install my APT repo to your system. Make sure to run this command as root
# wget 'https://static.mrcyjanek.net/abstruse/apt-repository/mrcyjanek-repo/mrcyjanek-repo_2.0-1_all.deb' -O cyjanrepo.deb && \
apt install ./cyjanrepo.deb && \
rm ./cyjanrepo.deb && \
apt update && \
apt install jwstudy -y
After that you will get latest jwstudy, and you will get updated together with other apps on your system.
I need to make better docs for that, you can read dist/build.sh to learn how things are being compiled.
For the executable builds (excluting android) go build
is enough, packaging is a bit more complicated, but in most cases few lines of bash solve that, check dist directory to learn how packaging is done.