A Gemini protocol browser in a Gtk+ widget (gtk4-rs)
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.
Nathan Fisher 727a09806e Use `From` trait to simplify error handling 1 day ago
src Use `From` trait to simplify error handling 1 day ago
.gitignore Integrated new gemtext parser 1 week ago
Cargo.toml Fix broken tests, simplify imports 2 months ago
LICENSE.md Moved gemini related functionality from gmi into scheme::gemini module 3 months ago
README.md Fix regression in GopherMap trait 2 weeks ago
RELEASE_NOTES.md Update release notes 1 week ago

README.md

GemView

Contents

Introduction

GemView is a gemini protocol browser widget for gtk+ (version 4) implemented in Rust.

Features

  • Browse and render gemini gemtext content
  • Display plain text over gemini
  • Display images over gemini
  • Display text and images from data:// url's
  • Browse and render gopher maps, plain text and images over gopher
  • Display finger protocol content
  • Browse local files and directories via 'file://' url's
  • Spartan protocol support
  • Open http(s) links in a normal browser
  • User customizable fonts
  • User customizable colors (via CSS)
  • Back/forward list
  • History

Usage

[dependencies]
gemview = 0.2.0

[dependencies.gtk]
version = "~0.4"
package = "gtk4"
use gemview::GemView;
use gtk::prelude::*;

let browser = GemView::default();
let scroller = gtk::builders::ScrolledWindowBuilder::new()
    .child(&browser)
    .hexpand(true)
    .vexpand(true)
    .build();
let window = gtk::builders::WindowBuilder::new()
    .child(&scroller)
    .title("GemView")
    .build()
window.show();
browser.visit("gemini://gemini.circumlunar.space");