A simple artworks viewer and portfolio built with Rust, egui, and eframe.
- Artworks Gallery: Browse and view artworks from your collection
- Resume Viewer: Display your resume with markdown rendering
- Theme Support: Auto, light, and dark modes
- Deep Linking: Direct URLs to specific pages
- Multiple Artwork Windows: Open and view multiple artworks simultaneously
- Cross-Platform: Runs natively and on the web (WASM)
megui/
├── src/
│ ├── main.rs # Application entry point
│ ├── app.rs # Main application logic, views, and UI
│ ├── config.rs # Configuration loader
│ ├── artwork.rs # Artwork data structures
├── config.toml # Application configuration
├── index.html # Web entry point
├── Trunk.toml # Trunk configuration
├── Cargo.toml # Rust dependencies
└── .github/
└── workflows/
└── pages.yml # GitHub Actions deployment
All application settings are in config.toml:
[app]
name = "hwww"
website = "https://hwww.org"
resume = "https://resume.hwww.org"
artworks = "https://artworks.hwww.org/index.json"
repository = "https://github.com/4www/megui"
default_theme = "auto" # Options: "auto", "dark", "light"- Rust (latest stable)
- Trunk (for web builds):
cargo install trunk
Native:
cargo runWeb (development):
trunk serveWeb (production build):
trunk build --releaseNative binary:
cargo build --releaseWeb (WASM):
trunk build --releaseThe project automatically builds and deploys to GitHub Pages on push to the main branch using GitHub Actions.
- Push changes to the
mainbranch. - The GitHub Actions workflow (
.github/workflows/pages.yml) will build the project and deploy it to GitHub Pages. - The site will be available at:
https://<username>.github.io/<repo-name>/
- Rust - Programming language
- egui - Immediate mode GUI framework
- eframe - Web and native support for egui
- hframe - HTML iframe support for egui
- Trunk - WASM web application bundler
The application supports the following routes (on web):
#/artworks- Artworks gallery view#/resume- Resume viewer#/about- About page
See repository for license information.