Skip to content
meashgreyPublic

About

🦎 duxreader: immersive browser reader extension built for dux-shell, with dynamic website styles and compatible vimium interfaces

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Latest commit

 

History

21 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

duxreader

duxlogo

Bring your desktop palette to web pages. Built with WXT, React, Material Design 3, and a Rust file-watching bridge.

Purple Pink
GitHub profile in purple GitHub profile in pink
Vimium Vomnibar in purple Vimium Vomnibar in pink

Install

Download 0.1.0 test packages for Firefox and Chromium/Edge. See installation instructions. Firefox's unsigned test package requires temporary loading.

Development

git submodule update --init --recursive
nix develop path:.
bun install --frozen-lockfile
bun run dev

For Chrome/Chromium, use bun run dev. For Firefox, use bun run dev:firefox, open about:debugging, and load .output/firefox-mv2-dev/manifest.json as a temporary add-on. Pin Duxreader to the toolbar.

Theme sources

  • Pywalfox (Firefox): follow the active browser theme. No Duxreader bridge required.
  • Theme file: watch Matugen JSON output. See the template and configuration.

For file mode on Linux:

bun run build:bridge
bun run prepare:bridge
bun run install:bridge

Reload the extension, then select Choose file. The native chooser requires a working desktop portal. Chrome registration also needs --chrome-id YOUR_EXTENSION_ID during preparation and --browser chrome during installation.

Vimium

Upstream Vimium is vendored at vendor/vimium and bundled into Duxreader by default. Its normal-mode key bindings and commands are unchanged. The Vomnibar, HUD, and help dialog are React and Material 3 components in entrypoints/; they follow the same desktop palette as the rest of Duxreader. Upstream options and command-listing pages inherit the palette through a shared page theme.

After checking out or updating the submodule, regenerate the bundled assets:

git submodule update --init --recursive
bun run vimium:build

Checks and builds

bun run check
bun run test:browser # Requires Firefox
bun run test:sites # Live websites preserve and color map tests; requires Chromium and network
bun run test:vimium # Vimium shortcuts and palette in the production extension; requires Chromium
bun run benchmark:interaction # Requires a production build and Chromium
bun run build
bun run build:firefox

The pinned Dark Reader dynamic engine maps page colors to the Pywalfox/Matugen palette. Custom CSS remains supported. See engine notes.

Performance measurements and reproduction commands: benchmarks.

About

🦎 duxreader: immersive browser reader extension built for dux-shell, with dynamic website styles and compatible vimium interfaces

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages