capsule/content/software/gemview.gmi

65 lines
1.4 KiB
Text
Raw Normal View History

(
title: "Gemview",
summary: Some("A browser widget in gtk4 for the smol internet"),
published: Some((
year: 2022,
month: 4,
day: 14,
hour: 16,
minute: 0,
second: 51,
)),
tags: [
"software",
"gemview",
"rust",
"gtk",
],
)
---
## 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
* Open http(s) links in a *normal* browser
* User customizable fonts
* User customizable colors (via CSS)
* Back/forward list
## Usage
Cargo.toml
```
[dependencies]
gemview = 0.2.0
[dependencies.gtk]
version = "~0.4"
package = "gtk4"
```
Rust source code
```Rust
use gemview::GemView;
use gtk::prelude::*;
fn main() {
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");
}
```