Crates.io | Yoda |
lib.rs | Yoda |
version | 0.7.2 |
source | src |
created_at | 2024-09-18 17:48:00.545136 |
updated_at | 2024-11-07 22:03:03.797719 |
description | Browser for Gemini Protocol |
homepage | |
repository | https://github.com/YGGverse/Yoda |
max_upload_size | |
id | 1379444 |
size | 267,932 |
GTK 4 / Libadwaita client written in Rust
[!IMPORTANT] Project in development!
20
10
Input11
Sensitive input30
Temporary31
Permanent40
Unspecified condition41
Server unavailable42
CGI error43
Proxy error44
Slow down50
General51
Not found52
Gone53
Proxy request refused59
Bad request60
Certificate requested61
Certificate not authorized62
Certificate not validfile://
- localhost browserconfig://
- low-level key/value settings editortext/gemini
text/plain
image/gif
image/jpeg
image/png
image/webp
image/svg+xml
audio/flac
audio/mpeg
audio/ogg
Make sure your system support:
Use rustup installer to setup latest Rust compiler and Cargo package manager:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
todo
sudo dnf install git gcc\
cairo-devel glib2-devel gtk4-devel libadwaita-devel pango-devel\
sqlite-devel
cargo install Yoda
git clone https://github.com/YGGverse/Yoda.git
cd Yoda
cargo build
Quick start guide and maintenance protocol
browser
super
)struct
per file (same as one file for one class)
struct
is public, where it members - privatestruct
implementation:
from
, new
or/and new_arc
, new_mutex
, etc - on return object in containerSelf
object createdactivate
action if the new object can not be activated on constructlink
getter for GTK widget
(parental composition)integer
, boolean
), standard (std::*
) or system-wide (gio
, glib
, etc) data types usage to reduce internal dependencies from app implementationCARGO_PKG_VERSION_PATCH
changebrowser
mod may have own table, where table must:
app_browser_widget
for src/app/browser/widget.rs
id
column and parental primary ID if exist
app_browser_id
column for app_browser_widget
table. For example, if the table has few parental keys, column set could be id
, parent_one_id
, parent_two_id
, some_data
win.action
. This allows to follow encapsulation, by the our goal, module must know nothing about parent presets. For example, define some action in parent, then delegate object created as construction argumentgit checkout -b 'contribution-name'
cargo fmt --check
CARGO_PKG_VERSION_MAJOR
or/and CARGO_PKG_VERSION_MINOR
change