Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebApps Plugin Repository

Official plugin repository for WebApps — a multi-container Android browser.

Plugins let you customize WebApps' appearance (theme colors, UI tweaks) without modifying the app itself. This repo hosts the plugin catalog and files that WebApps downloads directly inside the app.

How it works

  1. You write a plugin source file (.wp, plain text TOML) inside plugins-src/<type>/.
  2. A GitHub Actions workflow automatically:
    • Packages your source into a distributable .wp file (a ZIP archive containing manifest.toml) inside plugins/.
    • Updates index.toml, the catalog WebApps reads to display available plugins.
  3. WebApps' in-app Plugin Browser (Settings → Plugins) fetches index.toml, lets users download and apply plugins.

You never need to run any script manually or hand-edit index.toml — just add your source file and push.

Repository structure

WebApps-plugin/
├── index.toml              # Auto-generated catalog (id + name only). Do not edit manually.
├── plugin-ic/                # Plugin icons, add manually: .png
├── plugins/                 # Auto-generated distributable .wp (zip) files.
├── plugins-src/              # Where you add new plugins.

Note on .wp files: files inside plugins-src/ are plain TOML text (source). Files inside plugins/ are ZIP archives with the same .wp extension (distributable format WebApps actually downloads). They share a name and extension but are different formats — don't confuse them.

Adding a new plugin

  1. Pick a plugin type. Currently supported: theme.
  2. Create a file at plugins-src/<type>/<your-plugin-id>.wp (plain text, TOML format).
  3. Fill in the required fields (see Theme Plugin Format below).
  4. Commit and push to main. The workflow runs automatically and builds everything for you.

Your plugin will appear in the app's Plugin Browser within a few minutes of the workflow completing.

Theme Plugin Format

Example: plugins-src/theme/catppuccin-mocha.wp

name = "Catppuccin Mocha"
description = "Soothing pastel dark theme"
author = "hastagaming"
version = "1.0.0"
previewColorHex = "#CBA6F7"
colorPrimary = "#CBA6F7"
colorBackground = "#1E1E2E"
colorSurface = "#313244"
colorSurfaceVariant = "#45475A"
colorOnSurface = "#CDD6F4"
colorOnPrimary = "#1E1E2E"
colorError = "#F38BA8"
uiCornerRadiusDp = 12
uiGridMinTileWidthDp = 100
Field Required Description
name Yes Display name shown in the Plugin Browser
description Yes Short one-line description
author Yes Your name or GitHub username
version Yes Semantic version, e.g. 1.0.0
previewColorHex Yes Hex color shown as a preview swatch before download
colorPrimary Yes Primary accent color (buttons, highlights)
colorBackground Yes App background color
colorSurface Yes Card/surface background color
colorSurfaceVariant Yes Secondary surface color (e.g. dividers, disabled states)
colorOnSurface Yes Text/icon color on top of surfaces
colorOnPrimary Yes Text/icon color on top of primary-colored elements
colorError Yes Error state color
uiCornerRadiusDp No (default 12) Corner radius for cards and buttons, in dp
uiGridMinTileWidthDp No (default 100) Minimum width for container grid tiles, in dp

All color fields must be valid hex codes (#RRGGBB).

Plugin ID rules

  • The plugin ID is derived from the filename (without .wp), e.g. - catppuccin-mocha.wp → id catppuccin-mocha.
  • Use lowercase letters, numbers, and hyphens only.
  • IDs must be unique across the entire repository, regardless of type folder.

Contributing

Pull requests are welcome! To submit a plugin:

  • Fork this repository.
  • Add your .wp source file under the appropriate plugins-src// folder.
  • Open a pull request. Once merged into main, the workflow will build and publish it automatically.

Please make sure your plugin:

  • Has readable contrast between colorOnSurface/colorOnPrimary and their respective backgrounds.
  • Uses a unique, descriptive plugin ID.
  • Includes accurate author attribution.

Plugin Icons (Optional)

You may optionally add an icon at plugin-ic/<plugin-id>.svg. If provided, it must be an SVG file with colorful content (not grayscale/monochrome) — this keeps the Plugin Browser visually consistent and easy to scan.

If no icon is provided, WebApps automatically shows a colored placeholder derived from the plugin's ID, so an icon is never strictly required.

Example minimal colorful SVG (128x128, solid color background with a simple shape):

<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128">
  <rect width="128" height="128" rx="24" fill="#7C4DFF"/>
  <circle cx="64" cy="64" r="36" fill="#E8EAFF"/>
</svg>

License

Plugins in this repository are contributed under MIT License unless otherwise noted by the plugin author. By submitting a plugin, you agree to license it under these terms.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors