Skip to content

LukeEmmet/GemiNaut

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GemiNaut

A user friendly client to browse Gemini (and Gopher) from Windows.

Gemini is a radically simple protocol and text format for browsing on the Internet. For more information see https://gemini.circumlunar.space/

UI innovations

GemiNaut has led the way with a number of user interface innovations, some of which are being adopted by other Gemini clients, including:

  • User selectable themes
  • Site-specific theming
  • Page level table of contents
  • Visual distinguishing of link protocols by style
  • Visual distinguishing of linked file type (e.g. images, documents, music)
  • Active footnotes for viewing web content as text/gemini

Download

You can download a pre-built application for Windows from the GemiNaut home page

Key features

  • Familiar navigation actions, smooth scrolling and text wrap
  • Keyboard shortcuts, wheelmouse zoom
  • Fast navigation through history, including remembering scroll offset
  • Support bullet, heading and quote line styles
  • View linked images or download linked files
  • Flexible theming engine
  • Site based themes
  • Visually distinguish internal (gopher, gemini) vs external links (http, https etc)
  • Table of contents (Fabric and Dark themes)
  • Icon hints to common non textual content (images, audio, video, docs)
  • Support both Gemini and Gopher protocol
  • Autolinking of urls in Gopher text pages
  • View source
  • Option to view a simplified rendering of linked web pages
  • Client certificates
  • Accessible to screen readers

License

GPL 3

Building and development

The GemiNaut solution references and uses the [SmolNetSharp] and SelfCertSharp client library projects, which need to be checked out into a sibiling folder, e.g.

projects\GemiNaut
projects\SmolNetSharp
projects\SelfCertSharp

Screenshots

Fabric theme (site specific themes):

Screenshot

Dark theme:

Screenshot

History

0.8.13, released 23-Jul-2022

  • build against .NET 6.0

  • allow install on Windows 11

  • use updated html2gmi for better web rendering

  • minor tweaks to themes so font for web links are more readable due to increased contrast in fabric themes

  • remove legacy "Unified" theme

  • better support for TLS 1.3

0.8.12, development build

  • fewer runtime dependencies for .NET
  • fix typo in default bookmark list

0.8.11, released 4-Apr-2021

  • new feature: generate and use client certificates
  • accessibility feature: hidden links to skip over preformatted text areas for screen readers
  • save user settings in persistent folder in profile
  • fix: require certificates for proxy servers
  • update jdenticon and toast notification libraries
  • use SelfCertSharp client certificate library
  • report expired server certificates

0.8.9, released 15-Dec-2020

  • new internal C# network library (SmolNetSharp) to retrieve Gemini and Gopher resources
  • fewer false positives from anti-virus utilities falsely marking GemiNaut and its assets as malware
  • use dark scrollbar on dark theme preformatted text areas
  • remove dependency on gopher-get and gemget command line utilities
  • trim long headings in TOC
  • fix bug to allow quotes and angle brackets in labels of preformatted text areas
  • better logic detection of redirects combined with input

0.8.8, 7-Oct-2020

Sailing the small web

  • application binaries and installer are now signed
  • can access the small web (document web) using native converter html->gmi
  • default is to try to check certificate validity on all servers, if validation not successful, warn with toast message and connect anyway
  • can render text/html files served in gemini (simplified)
  • scrollbars on preformatted text areas only appear when region is hovered to reduce clutter
  • can access the small web using an HTTP proxy for Gemini (e.g. https://github.com/LukeEmmet/duckling-proxy)
  • can access the small web using native converter
  • live footnote style links for native converter or if HTTP proxy uses numbered citations (e.g. "[1]")
  • integrate Goose to allow for a "simplified" view of web content
  • allow switching modes between different rendering options for web content
  • update to use latest gemget 1.5
  • fix bug to allow downloading from paths having no file extension
  • fix bug to correctly render mailto: links
  • create application installer
  • slighly more whitespace (increased line spacing) in themes to improve readability

0.8.7, 8-Aug-2020

0.8.7

  • only show tooltip on preformatted text if non-empty
  • drop use of proxy for gopher and allow file downloading
  • display images directly from gopher
  • use maintained gopher client gopher-get published to https://github.com/LukeEmmet/gopher-get
  • resource download possible from cgi script as well as static files
  • improve link wrap in gopher using monospace fonts in fabric themes
  • file->new to start a new GemiNaut instance with the current URL to fork the browsing session
  • can start with a URL commandline parameter
  • use same identity in classic fabric theme for /~foo as users/foo
  • navigated or redirected URIs are now normalised (e.g. remove port if it is the default for the scheme)
  • binary files can now be downloaded to chosen location, not open in proxy (gemini)
  • can specify download max size/time before abandoning
  • new settings window for download options and home url
  • when upgrading from previous version, keep previous settings
  • hanging indents for bullets and links in terminal theme
  • keyboard shortcuts for bookmarks (e.g. Alt+B) and other menus
  • build links correctly when a port is given within the URL
  • server size and timeout for slow or too large content
  • simple image display within GemiNaut
  • updated build of gemget

0.8.6, 6-Jul-2020

GemiNaut 💓 Gopher

  • GemiNaut is now a gopher client as well as gemini
  • preformatted areas now have their own scroll bar and don't overflow the side of the content
  • update Fabric theme so it uses internally generated fabric and identicon (previous Fabric theme still available as "classic")
  • automatic linking of plain urls in gopher text files
  • automatic generation of page titles for gopher pages based on url
  • update to use latest gemget 1.3.0
  • theming engine will use same theme for the same user on gemini and gopher
  • gopher text is monospaced but will softwrap for longer lines > 85 chars
  • only display text/gemini as gemini content, otherwise use plain text preformatted rendering
  • make bookmarks window wider
  • show tooltips or urls for bookmark entries
  • better feedback messages if content cannot be displayed
  • check url entered into address bar is valid syntax before trying to navigate to it
  • support spacers in bookmarks list with lines of hyphens or underscores longer than two characters
  • minor improvements to themes
  • use a smaller border around placemarker icon when there is no TOC

0.8.5, 19-Jun-2020

  • new dark theme, with variable width font, colours are based on dark themes of source code editors
  • bookmarks - source format is just text/gemini
  • better vertical spacing - e.g. headings always have space between them and surrounding paragraphs
  • user definable themes - create your own and drop it in the GmiConverters/themes folder
  • help files now use text/gemini format and have their own table of contents
  • minor style improvements for plain theme

0.8.4, 10-Jun-2020

  • use correct percent encoding for URL requests with input
  • links with encoded query expression now passed on to server correctly
  • support quotation line style (new addition to Gemini spec)
  • show an icon on links to probable images (png, jpg etc) as a visual hint
  • asterisks must be followed by space to become a bullet (Gemini spec update)
  • remove debug white border around navigation in Fabric theme
  • minor style updates
  • bug fix: don't remove commas and separators from text lines

0.8.3, 29-May-2020

  • add automatic page level table of contents for Fabric theme

0.8.2, 28-May-2020

  • fix keyboard focus problem so you dont have to click into browser on each page
  • display view->source GMI as utf-8

0.8.1, 27-May-2020

First public release

  • added simple userguide
  • infer the document title from the first heading or para text line and show in window caption
  • darken the background a tiny bit in Fabric theme to be less saturated
  • workaround for GemGet bug which overwrites into the output file, rather than replacing the whole file
  • user selectable themes (4 to start with Fabric, Plain, Terminal and Unified UI)
  • html escape source content before display
  • pass torture tests relating to link formation
  • detect response redirect urls and adjust links accordingly (e.g. gemini://domain/users/user -> gemini://domain/users/user/)
  • pad output with blank lines at end for better display of short content
  • new plain line blocks always preceded by at least one blank line
  • prettify spacing of headings, always have a blank line before these.
  • prettify spacing of links/bullets, always have a blank line unless previous element was one too (e.g. gemini://gemini.circumlunar.space:1965/users/acdw/ is laid out more pleasantly)
  • when loading raw gmi for view source get browser to interpret as text/plain
  • application icon from http://www.iconarchive.com/show/pretty-office-8-icons-by-custom-icon-design/Text-align-left-icon.html
  • txtUrl follows page better
  • local versions of Rebol and GmiConverters and Gemget folders used if found
  • more pretty handling of page not found (status 51)
  • txtUrl never shows https urls
  • user can edit home page
  • show prompt for query building
  • decorate links to expected binary files with document glyph to hint content
  • hanging indent on bullets and links
  • visual hinting of non gemini links with glyph and link style
  • show tooltip of url to be navigated to
  • code fences for preformatted areas, including label as tooltip
  • toast popups for error conditions
  • session and server independent identikons and page background texture
  • user based visual identity/theme for personal sub-sites, not requiring author control
  • view source
  • launch external urls in system browser
  • use http proxy for common binary file types
  • empty cache on close
  • prettify links, headings and bullets

Intrinsic features in virture of using a web browser

  • go back and forward remembers scroll offset
  • rich CSS styling and visual design
  • smooth scrolling
  • tab through page links
  • cursor keys, page/up down, keyboard shortcuts for back/forwards
  • zoom with wheelmouse
  • navigate forwards, back, quickly (browser cache)
  • wrap long lines to window
  • Ctrl+F to find in current page
  • Select all, copy to clipboard
  • Ctrl+P to print page

About

GemiNaut - A friendly Gemini client for Windows

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •