Yoda-0.10.0 is not a library.
Yoda - Browser for Gemini protocol
GTK 4 / Libadwaita client written in Rust
[!IMPORTANT] Project in development, for stable version use crates.io release!
Features
Interface
- Multi-tab
- Hotkeys
- Bookmarks
- Browser window
- Recent bookmarks list
- Build-in multimedia support
- Certificates
- Generate new identity
- Select for path
- Export to PEM
- Import from PEM
- Delete
- Custom search providers
- Downloads
- Browser window
- Save page as file
- Unsupported content type downloads
- History
- Browser window
- Page navigation
- Recently visited
- Recently closed
- 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
- Syntax highlight* (by syntect)
- Terminal emulation* (by ansi-parser)
- foreground
- background
- intensity
- italic
- underline
- blink
- reversed
- strikethrough
- Header
- H1
- H2
- H3
- Link
- Address
- Date
- Alt
- List
- Quote
- Code (inline/multiline)
- Gemfeed
- Titan
- Binary data (file uploads)
- Text input
- Status code
- NEX - useful for networks with build-in encryption (e.g. Yggdrasil)
- Localhost
-
file://- local file browser
-
- Request prefix
-
about:-
config- low-level key/value settings editor
-
-
bookmarks:- bookmarks browser -
history:- history browser -
download:- save location to file -
source:- source viewer (by sourceview5)
-
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.18 - GdkPixBuf
2.42 - Glib
2.80 - Gtk
4.14 - GtkSourceView
5.14 - libadwaita
1.5(Ubuntu 24.04+) - libspelling
0.1
Debian
Fedora
Rust
Use rustup installer to setup latest Rust compiler and Cargo package manager:
|
Install
Stable
- run
Yoda
Repository
cargo run
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
Localization
UI localization planed as Crowdin repository, but it is not implemented yet.
To install new spell dictionaries in Fedora, use sudo dnf install hunspell-CODE
- just replace
CODEwith the locale code you want
Releases
- Package version in repository increase after crates.io release
- Until DB migration not implemented, application will create new profile on every
CARGO_PKG_VERSION_MAJOR.CARGO_PKG_VERSION_MINORchange
See also
- ggemtext - Glib-oriented Gemtext API
- ggemini - Glib-oriented client for Gemini protocol