Bundle HTML/CSS/JS into an Android WebView app
Project description
🍬 Bonboneka (bomk)
Bonboneka allows you to bundle your HTML, CSS, and JS assets into a native Android WebView app with a single command(yea its that cool).
🚀 Features
-
Automatic Inlining: Converts external CSS and JS into a single, self-contained HTML file.
-
Asset Encoding: Automatically converts images into Base64 data URIs.
-
Multi-Bundle Support: Define multiple entry points and bundles using a simple naming convention.
📋 Requirements
-
Python: 3.10+
-
Git(of course you need git)
-
Android SDK + Java: Necessary for...I don't know, BUILDING THE APP?!
🛠 Installation
There are 2 ways to install:
-
- [RECOMANDED] Running
pip install bonboneka, as it's avabile on PiPy
- [RECOMANDED] Running
-
- Dowloading the latest release and running
pip install -e .
- Dowloading the latest release and running
💻 Usage
bomk create <path/to/folder> [options]
Options
/sSilent mode: Suppress all terminal output./verboseVerbose mode: Show detailed build logs.-o <dir>Output: Specify the directory for the generated APK.
📂 File Naming Convention
To define which bundle a file belongs to, tag the filename with _$ before the extension.
Example Structure:
my_app/
├── index_$1.html ← Main entry point (Group 1)
├── styles_$1.css ← Styles for Group 1
├── script_$1.js ← Logic for Group 1
├── start_$2.html ← Secondary page (Group 2)
├── styleofstart_$2.css ← Styles for Group 2
└── backend_$2.js ← Logic for Group 2
NOTE!
Group $1 is always treated as the app's primary entry point. All assets in a group are bundled into one self-contained HTML file.
⚙️ Configuration
Customize your build environment by editing bomk/config.py:
# The repository used as the Android project scaffold
TEMPLATE_REPO = "https://github.com/YourUser/Example-Android-WV-App.git"
# Relative paths within the template
ASSETS_REL_PATH = "app/src/main/assets"
MAIN_JAVA_REL_PATH = "app/src/main/java/exampleWV/app/Main.java"
🌐 Encased Mode
Bonboneka can create a wrapper for an website
bomk create --encased <url> [options]
Example:
bomk create --encased https://example.com -o ./dist /verbose
Bonboneka will:
- Generate an html file
- Take the url
- Add an
iframe - Add the website to the
iframe - Generate a WebView Android project
- Build the APK automatically
bomk doctor - Troubleshooting advisor
The bomk doctor command will troubleshoot any valid Bonboneka projects.
Usage:
bomk doctor <path-to-project>
This command will check for common issues such as:
- Missing or misnamed files
- Incorrect file naming conventions
- etc etc.
[BETA] Gitlink
Gitlink is a feature that lets you link a template to an existing GitHub repo. In other words overiding the default template's github remote with your own. By using the --behaviour flag, you can specify if you want to commit automaticly(per build) or if you want to commit manualy (bomk gitlink --commit).
List of comands:
bomk gitlink --behaviour <commit-per-build/manual-commit>bomk gitlink --url/--set <url>bomk gitlink --commit/--push(or you can put both)
To note: Gitlink is in BETA and has not undergone rigorous testing, it might break/not work.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bonboneka-0.1.5.tar.gz.
File metadata
- Download URL: bonboneka-0.1.5.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8143d2a1e47f7c4d8484700477c8bba5d4b73d90ee8adc777f20367676a0352c
|
|
| MD5 |
224627c9150cdbf62addd4447e3f5f6b
|
|
| BLAKE2b-256 |
e46b268300313f87c11a36d4b8d1c2e529d112a0623202decbebea22e97145c4
|
File details
Details for the file bonboneka-0.1.5-py3-none-any.whl.
File metadata
- Download URL: bonboneka-0.1.5-py3-none-any.whl
- Upload date:
- Size: 16.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
832f27b3e5fb8e1a7ebee39929bddd93cc043c535d8649a5ccd2ff663a0511b8
|
|
| MD5 |
532cdc97d25dd21887e1410fd0dabb6f
|
|
| BLAKE2b-256 |
c712250180e66f20b7b8ead14ac2e4a2c2fe53e688320a2865241c702cc625be
|