Yoda-0.8.0 is not a library.
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
-
10Input -
11Sensitive input
-
- Redirection
-
30Temporary -
31Permanent
-
- Temporary failure
-
40Unspecified condition -
41Server unavailable -
42CGI error -
43Proxy error -
44Slow down
-
- Permanent failure
-
50General -
51Not found -
52Gone -
53Proxy request refused -
59Bad request
-
- Client certificates
-
60Certificate requested -
61Certificate not authorized -
62Certificate 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 browser -
config://- 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:
|
Debian
todo
Fedora
Install
Stable
Repository
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 clippyfor 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_MINORchange
See also
- ggemtext - Glib-oriented Gemtext API
- ggemini - Glib-oriented client for Gemini protocol