PHP-GTK Client for Gemini Protocol
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.2 KiB

2 months ago
# Yoda - Browser for [Gemini protocol](https://geminiprotocol.net)
2 months ago
Rust / GTK 4 implementation
2 months ago
> [!IMPORTANT]
> Project in development!
2 months ago
>
## Install
2 months ago
### Stable
``` bash
cargo install Yoda
```
2 months ago
### Repository
2 months ago
``` bash
git clone https://github.com/YGGverse/Yoda.git
cd Yoda
git checkout Rust-GTK4
2 months ago
cargo run
2 months ago
```
2 months ago
## Development
This guide in process
### Modules
#### `browser`
2 months ago
* The codebase of module must be as minimal as possible: separate different tasks to submodules
2 months ago
* Every module must implement only one `struct` (same as one file for one class)
2 months ago
* Composition modules (like box for window) stored in sub-folders and following same principles as parent
* Every mod access 1 level of child API, never parents (e.g.`super`)
2 months ago
* One mod = one widget. Create new mod for new widget implementation
2 months ago
### Contribution
* before commit, make sure:
* new branch created for every new PR `git checkout -b 'contribution-name'`
* new code follows common [rustfmt](https://rust-lang.github.io/rustfmt/) style `cargo fmt --check`
2 months ago
## See also
2 months ago
* [CPP-GTK4](https://github.com/YGGverse/Yoda/tree/CPP-GTK4) - C++ / GTK 4 implementation
* [PHP-GTK3](https://github.com/YGGverse/Yoda/tree/PHP-GTK3) - PHP / GTK 3 experimental branch