(
    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");
}
```
