Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zewaka/meta-yoinker
DMI metadata yoinking and yeeting tool
https://github.com/zewaka/meta-yoinker
byond dmi ss13 tool yoink
Last synced: about 1 month ago
JSON representation
DMI metadata yoinking and yeeting tool
- Host: GitHub
- URL: https://github.com/zewaka/meta-yoinker
- Owner: ZeWaka
- License: gpl-3.0
- Created: 2023-08-27T06:14:52.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-10-09T02:16:40.000Z (about 1 year ago)
- Last Synced: 2024-11-15T23:41:54.452Z (about 1 month ago)
- Topics: byond, dmi, ss13, tool, yoink
- Language: Rust
- Homepage: https://zewaka.github.io/meta-yoinker/
- Size: 2.49 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MetaYoinker
[![dependency status](https://deps.rs/repo/github/zewaka/meta-yoinker/status.svg)](https://deps.rs/repo/github/zewaka/meta-yoinker)
[![Build Status](https://github.com/zewaka/meta-yoinker/workflows/CI/badge.svg)](https://github.com/zewaka/meta-yoinker/actions?workflow=CI)Native/Web tool to yoink DMI metadata from files and yeet it into another file
Supported platforms:
* Windows
* macOS
* Linux
* Web## Downloading
Check out the web version: https://zewaka.github.io/meta-yoinker
If you're on windows, download from the [latest release](https://github.com/ZeWaka/meta-yoinker/releases).
If you're on Linux or Mac, you will need to build it yourself. Follow the development instructions below.
## Developing
This tool is written in [Rust](https://rust-lang.org/).
1. Install the Rust compiler's dependencies (primarily the system linker):
* Ubuntu: `sudo apt-get install gcc-multilib`
* Windows (MSVC): [Build Tools for Visual Studio 2017](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools)
* Windows (GNU): No action required2. Use [the Rust installer](https://rustup.rs/), or another Rust installation method.
### 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 libxkbcommon-dev libssl-dev`
On Fedora Rawhide you need to run:
`dnf install clang clang-devel clang-tools-extra libxkbcommon-devel pkg-config openssl-devel libxcb-devel gtk3-devel atk fontconfig-devel`
The executable will be located in the `target/release` folder.
### Web Locally
This application can be compiled to [WASM](https://en.wikipedia.org/wiki/WebAssembly), and published as a web page.
We use [Trunk](https://trunkrs.dev/) to build for the web target.
1. Install the required target with `rustup target add wasm32-unknown-unknown`.
2. Install Trunk with `cargo install --locked trunk`.
3. Run `trunk serve` to build and serve on `http://127.0.0.1:8080`. Trunk will rebuild automatically if you edit the project.
4. 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](https://docs.github.com/en/free-pro-team@latest/github/working-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site).
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.