mirror of https://github.com/YGGverse/Yoda.git
phpcomposergeminigemini-protocolsmallwebaltwebgemini-browseryodagtk3browsergtkphp-gtkgemini-clientyoda-browserphp-cpp
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.
yggverse
fef5329c9a
|
2 months ago | |
---|---|---|
src | 2 months ago | |
.gitignore | 2 months ago | |
Cargo.toml | 2 months ago | |
LICENSE | 2 months ago | |
README.md | 2 months ago | |
rustfmt.toml | 2 months ago |
README.md
Yoda - Browser for Gemini protocol
Rust / GTK 4 implementation
[!IMPORTANT] Project in development!
Install
Stable
cargo install Yoda
Repository
git clone https://github.com/YGGverse/Yoda.git
cd Yoda
git checkout Rust-GTK4
cargo run
Development
This guide in process
Modules
browser
- Main file must have
mod.rs
name because it may include additional submodules in same location like database, template, etc - The codebase of module must be as minimal as possible: separate different tasks to submodules
- Every module or it helper must contain and implement only one
struct
- 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
) - Mod constructor must return Arc pointer for new object created
Contribution
- before commit, make sure:
- new branch created for every new PR
git checkout -b 'contribution-name'
- new code follows common rustfmt style
cargo fmt --check
- new branch created for every new PR