fireyy / genshin_tools

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

genshin tools

dependency status Build Status

This is a tool for Genshin Impact, using egui: an easy-to-use GUI in pure Rust.

Use data from genshin.dev API, a fan-made Genshin Impact API for easy access to game data.

ScreenShot

👉 Click to run the web demo 👈

TODO List

  • artifacts
  • boss
  • characters
  • consumables
  • domains
  • elements
  • enemies
  • materials
  • nations
  • weapons

Getting started

cargo run

Testing locally

Make sure you are using the latest version of stable rust by running rustup update.

cargo run --release

On Linux you need to first run:

sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev

On Fedora Rawhide you need to run:

dnf install clang clang-devel clang-tools-extra speech-dispatcher-devel libxkbcommon-devel pkg-config openssl-devel libxcb-devel fontconfig-devel

Web Locally

You can compile your app to WASM and publish it as a web page.

We use Trunk to build for web target.

  1. Install Trunk with cargo install --locked trunk.
  2. Run trunk serve to build and serve on http://127.0.0.1:8080. Trunk will rebuild automatically if you edit the project.
  3. Open http://127.0.0.1:8080/index.html#dev in a browser. See the warning below.

assets/sw.js script will try to cache our app, and loads the cached version when it cannot connect to server allowing your app to work offline (like PWA). appending #dev to index.html will skip this caching, allowing us to load the latest builds during development.

Web Deploy

  1. Just run trunk build --release.
  2. It will generate a dist directory as a "static html" website
  3. Upload the dist directory to any of the numerous free hosting websites including GitHub Pages.
  4. we already provide a workflow that auto-deploys our app to GitHub pages if you enable it.

To enable Github Pages, you need to go to Repository -> Settings -> Pages -> Source -> set to gh-pages branch and / (root).

If gh-pages is not available in Source, just create and push a branch called gh-pages and it should be available.

About


Languages

Language:Rust 89.1%Language:HTML 7.2%Language:Shell 2.7%Language:JavaScript 0.9%Language:Batchfile 0.0%