Open Witness Library is a program to read articles that carries God's true name.
This branch is outdated, please refer to the most recent branch.
This program is a alternative for JW Library app1 for OSes that doesn't support the app or had lost support through the years. You can read .jwpub
files and study Bible.
This program still is a work-in-progress, so it isn't full compatible with all publications and publication's features. You can track the features present on the program there:
- Publications:
- Read the publications;
- Aswner the publication questions on textboxes;
- Highlight publication text;
- Make notes;
- Watch publication's videos;
- Bible:
- Read Bible;
You can read partially Bible's content
- Bookmark Bible versicles and chapters;
- Read from Publications;
- Compare multiple Bible editions;
- Read Bible;
See Building for more information.
For testing the app, you need to setup a Rust development environment on your operational system. After installing every depedency and following the prerequisites below, you should install Rustup through the official site or from your package manager and download the latest Rust language version.
For Windows, see Windows prerequisites.
For MacOS, you will need to install CLang and MacOS development dependencies. To do this, run the following command in your terminal:
$ xcode-select --install
For Linux, you will need to install some packages in order to work, see the instruction on how to install based in your Linux distro.
After installing the depedencies, you'll need to setup Cargo for compiling the application UI and serving it locally. To do it, install Trunk via Cargo:
cargo install --locked trunk
# Until wasm-bindgen has pre-built binaries for Apple M1,
# M1 users will need to install wasm-bindgen manually.
cargo install --locked wasm-bindgen-cli
and add wasm32-unknown-unknown
target to your rustup installation:
rustup target add wasm32-unknown-unknown
To run the application you'll need to install a last tool to cargo, the tauri-cli
plugin. To install it run the following command to your terminal:
cargo install tauri-cli --version "^2.0.0-alpha"
After installing it, you can run the application with the following command:
cargo tauri dev
Open Witness Library also runs on Android and iOS, but it isn't fully supported. If you want to test it out on Android, you need to add the Android targets to your rustup installation by running the following command:
rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
You will need to install Android Studio and setup it to your system.
Install the Android SDK and NDK. You can use the SDK Manager in Android Studio to install:
- Android SDK Platform
- Android SDK Platform-Tools
- NDK (Side by side)
- Android SDK Build-Tools
- Android SDK Command-line Tools
You will need to configure JDK too. Android Studio includes a JDK, you will just need to add it to your environment variables:
# On windows
[System.Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Android\Android Studio\jbr", "User")
# On MacOS
export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"
# On Linux
# Note that on older Android Studio installations the
# jbr directory may still be called jre
export JAVA_HOME=/opt/android-studio/jbr
and finally, you need to set ANDROID_HOME
and NDK_HOME
environment variables:
# On Windows (change NDK_VERSION to the version located in the path without brackets)
[System.Environment]::SetEnvironmentVariable("ANDROID_HOME", "$env:LocalAppData\Android\Sdk", "User")
[System.Environment]::SetEnvironmentVariable("NDK_HOME", "$env:LocalAppData\Android\Sdk\ndk\{NDK_VERSION}", "User")
# On Linux (change NDK_VERSION to the version located in the path without brackets)
export ANDROID_HOME="$HOME/Android/Sdk"
export NDK_HOME="$ANDROID_HOME/ndk/{NDK_VERSION}"
# On MacOS (change NDK_VERSION to the version located in the path without brackets)
export ANDROID_HOME="$HOME/Library/Android/sdk"
export NDK_HOME="$ANDROID_HOME/ndk/{NDK_VERSION}"
To run in Android, you can run the following command:
cargo tauri android dev
You can also run on iOS, but you will need a MacOS device. I don't know if it will run since I didn't have an iOS device or a MacOS computer/laptop, but you can test it. First, make sure Xcode is properly installed. Then, you should add the iOS target to your MacOS rustup installation:
rustup target add aarch64-apple-ios x86_64-apple-ios aarch64-apple-ios-sim
Then you can run your application on iOS with the following commmand:
cargo tauri ios dev
Pull requests are welcome. For translations, take a look on i18n/
folder. For major changes, please open an issue first to discuss what you would like to change.
This program don't have any relationship with JW Library developers or the Watch Tower Bible and Tract Society of Pennsylvania. This is a program maintened by the community. Any bug you have using this program should be issued there.
If your computer or mobile phone runs JW Library, please prefer to use the official app instead of this program.
Footnotes
-
JW Library is a registered trademark of Watch Tower Bible and Tract Society of Pennsylvania. ↩