mirror of https://github.com/YGGverse/Yoda.git
phpcomposergemini-protocolgeminismallwebaltwebphp-gtkgemini-clientyoda-browserphp-cppgemini-browseryodagtk3browsergtk
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
5d8c036957
|
2 weeks ago | |
---|---|---|
src | 2 weeks ago | |
.gitignore | 3 months ago | |
Cargo.toml | 2 weeks ago | |
LICENSE | 3 months ago | |
README.md | 2 weeks ago | |
rustfmt.toml | 3 months ago |
README.md
Yoda - Browser for Gemini protocol
GTK 4 / Libadwaita client written in Rust
[!IMPORTANT] Project in development!
Features
Interface
- Multi-tab
- Hotkeys
- Bookmarks
- Build-in multimedia support
- Certificates
- Downloads
- History
- Proxy
- Session
- Window
- Size
- Tabs
- Pin
- Page
- Content (cache)
- Meta
- Title
- Navigation
- Request
- History
- Window
- User settings
Protocols
- Gemini
- Status code
- Success
20
- Input
10
Input11
Sensitive input
- Redirection
30
Temporary31
Permanent
- Temporary failure
40
Unspecified condition41
Server unavailable42
CGI error43
Proxy error44
Slow down
- Permanent failure
50
General51
Not found52
Gone53
Proxy request refused59
Bad request
- Client certificates
60
Certificate requested61
Certificate not authorized62
Certificate not valid
- Success
- Gemtext (by ggemtext)
- Code (inline/multiline)
- Inline
- Multiline
- Alt
- Terminal emulation*
- Syntax highlight*
- Header
- H1
- H2
- H3
- Link
- Address
- Date
- Alt
- List
- Quote
- Code (inline/multiline)
- Gemfeed
- Titan
- Status code
- NEX - useful for networks with build-in encryption (e.g. Yggdrasil)
file://
- localhost browserconfig://
- low-level key/value settings editor
Media types
Text
text/gemini
text/plain
Images
image/gif
image/jpeg
image/png
image/webp
image/svg+xml
Audio
audio/flac
audio/mpeg
audio/ogg
Video
Build
Requirements
- Cairo
1.16
- GDK PixBuf
2.42
- Gio
2.82
- Glib
2.56
- GTK
4.16
- Libadwaita
1.6
Use rustup installer to setup latest Rust compiler and Cargo package manager:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Debian
todo
Fedora
sudo dnf install git gcc\
cairo-devel glib2-devel gtk4-devel libadwaita-devel pango-devel\
sqlite-devel
Install
Stable
cargo install Yoda
Repository
git clone https://github.com/YGGverse/Yoda.git
cd Yoda
cargo build
Development
Contribution
- Before commit, please make sure:
- new branch created for every new PR
git checkout -b 'contribution-name'
- new code follows common rustfmt style
cargo fmt --check
- run
cargo clippy
for final optimization
- new branch created for every new PR
Contributors
Releases
- Package version in repository increase after crates.io release
- Until DB migration not implemented, application will create new profile on
CARGO_PKG_VERSION_MAJOR
.CARGO_PKG_VERSION_MINOR
change
See also
- ggemtext - Glib-oriented Gemtext API
- ggemini - Glib-oriented client for Gemini protocol