Skip to content

The viewer

Introduction

The viewer is the main widget in Rogallo's display. If you are viewing a Gemini page, a Gopher server or the response from a Finger server, this is where the result will be displayed.

When it has focus, the viewer has a number of keys that let you navigate the content. Where possible, many of the navigation keys that you might have muscle-memory for are available. You can always check what keys are available by calling on the Help command (bound to F1 by default).

Viewer help βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/features.gmi β”Œβ”€ Help β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚β”‚ β”‚β”‚ Rogallo isβ”‚β”‚e, Nexspace, β”‚Rogallo v3.0.0β”‚ β”‚β”‚ β€’ Support foβ”‚β”‚ β€’ Bookmarks β”‚β”‚ β€’ Location hβ”‚Viewerβ”‚ β€’ Backward aβ”‚β”‚ β€’ Copy-to-clβ”‚As well as using the common set of cursor and page keys, the followingβ–ƒβ”‚ β€’ Configurabβ”‚keys are available for movement within the document:β”‚ β€’ Full mouseβ”‚β”‚ β€’ Built-in sβ”‚β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚ β€’ Context-seβ”‚β”‚Keyβ”‚Descriptionβ”‚β”‚ β€’ Command paβ”‚β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚ β€’ Automatic β”‚β”‚shift+pgdn, dβ”‚Scroll down half a pageβ”‚β”‚ β€’ Optional rβ”‚β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚ β€’ Local [Gemβ”‚β”‚j, e, βŽβ”‚Scroll down one lineβ”‚β”‚ng          β€’ Built-in tβ”‚β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚ β€’ Persistentβ”‚β”‚f, space, zβ”‚Scroll down one pageβ”‚β”‚ β€’ Fully respβ”‚β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚ β€’ Cross-platβ”‚β”‚G, >β”‚Scroll to the bottomβ”‚β”‚ning modern Python    β”‚β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚ β”‚β”‚g, <, p, %β”‚Scroll to the topβ”‚β”‚ β”‚β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚ β”‚β”‚shift+pgup, uβ”‚Scroll up half a pageβ”‚β”‚ β”‚β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚ β”‚β”‚k, yβ”‚Scroll up one lineβ”‚β”‚ β”‚β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚ β”‚β”‚b, wβ”‚Scroll up one pageβ”‚β”‚ β”‚β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚ β”‚β”‚ β”‚You can also navigate links, search the document, and modify itsβ”‚ β”‚presentation using the following keys:β”‚ β”‚β”‚ β”‚β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚ β”‚β”‚Keyβ”‚Descriptionβ”‚β”‚ β”‚β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚ β”‚β”‚shift+^fβ”‚Cancel the current search in the documentβ”‚β”‚ β”‚β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚ β”‚β”‚^nβ”‚Look for the next search hit in the documentβ”‚β”‚ β”‚β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚ ││←,β”‚Move backwards through each of the linksβ”‚β”‚ │─────────────────────────────────────────────────────────────────────────│ β”‚β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β”‚ β”‚ Okay [Esc]β”‚ │▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁│ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ text/gemini; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forward  f10 Quit β–^p Commands

When viewing a Gemini page or a Gopher menu, often there will be links embedded in the page. There are a number of ways that these can be navigated.

Next/previous navigation

Links within the viewer are navigable widgets, just like other elements in Rogallo's user interface. As such you can move between them with Tab and Shift+Tab. Because these keys will eventually navigate you out of the viewer and on to other widgets in the user interface, there are some other keys that let you move between links and stay within the viewer:

  • ←, Shift+↑, L - All navigate to the previous link.
  • β†’, Shift+↓, l - All navigate to the next link.

To speed up navigating to a specific link, Rogallo also provides a method of jumping to a specific link. By default each link in a document will have a numbered label shown to the right of the viewer (the position is configurable).

Links with labels βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/lots_of_links.gmi An example of lots of links Here's a document that has quite a few links, all next to each other. β†— Bandcamp                                                       [1] β†— BlueSky                                                        [2] β†— My discord server                                              [3] β†— My Flickr                                                      [4] β†— My GitHub                                                      [5] β†— My Instagram                                                   [6] β†— Me on last.fm                                                  [7] β†— Me on LinkedIn                                                 [8] β†— My Mastodon account                                            [9] β†— My stuff on NPM                                               [10] β†— My Python code on PyPI                                        [11] β†— Me on Reddit                                                  [12] β†— Me on Steam                                                   [13] β†— Me on TikTok                                                  [14] β†— My YouTube channel                                            [15] β†— My GitLab                                                     [16] β†— My Codeberg                                                   [17] β–‡ text/gemini; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forwa▏^p Commands

To jump to that link, simply type its number.

A highlighted link after typing its number βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/lots_of_links.gmi An example of lots of links Here's a document that has quite a few links, all next to each other. β†— Bandcamp                                                       [1] β†— BlueSky                                                        [2] β†— My discord server                                              [3] β†— My Flickr                                                      [4] β†— My GitHub                                                      [5] β†— My Instagram                                                   [6] β†— Me on last.fm                                                  [7] β†— Me on LinkedIn                                                 [8] β†— My Mastodon account                                            [9] β†— My stuff on NPM                                               [10] β†— My Python code on PyPI                                        [11] β†— Me on Reddit                                                  [12] β†— Me on Steam                                                   [13] β†— Me on TikTok                                                  [14] β†— My YouTube channel                                            [15] β†— My GitLab                                                     [16] β†— My Codeberg                                                   [17] β–‡ https://github.com/daveptext/gemini; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forwa▏^p Commands

Linking jumping and the numbers that let you jump are toggled with the J (that's Shift+J) key.

Placing the jump number labels to the right helps keep a readable flow of text, but can possibly make it trickier to know which label matches which link.

Links and labels with no stripes βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/lots_of_links.gmi An example of lots of links Here's a document that has quite a few links, all next to each other. β†— Bandcamp                                                       [1] β†— BlueSky                                                        [2] β†— My discord server                                              [3] β†— My Flickr                                                      [4] β†— My GitHub                                                      [5] β†— My Instagram                                                   [6] β†— Me on last.fm                                                  [7] β†— Me on LinkedIn                                                 [8] β†— My Mastodon account                                            [9] β†— My stuff on NPM                                               [10] β†— My Python code on PyPI                                        [11] β†— Me on Reddit                                                  [12] β†— Me on Steam                                                   [13] β†— Me on TikTok                                                  [14] β†— My YouTube channel                                            [15] β†— My GitLab                                                     [16] β†— My Codeberg                                                   [17] β–‡ text/gemini; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forwa▏^p Commands

To help with this you can turn on "link stripes", which alternates the background colour of links to help make them stand out and connect with their labels. Press s to toggle the stripes.

Links with stripes βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/lots_of_links.gmi An example of lots of links Here's a document that has quite a few links, all next to each other. β†— Bandcamp                                                       [1] β†— BlueSky                                                        [2] β†— My discord server                                              [3] β†— My Flickr                                                      [4] β†— My GitHub                                                      [5] β†— My Instagram                                                   [6] β†— Me on last.fm                                                  [7] β†— Me on LinkedIn                                                 [8] β†— My Mastodon account                                            [9] β†— My stuff on NPM                                               [10] β†— My Python code on PyPI                                        [11] β†— Me on Reddit                                                  [12] β†— Me on Steam                                                   [13] β†— Me on TikTok                                                  [14] β†— My YouTube channel                                            [15] β†— My GitLab                                                     [16] β†— My Codeberg                                                   [17] β–‡ text/gemini; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forwa▏^p Commands

By default the numeric labels for the jumps are positioned to the right of the display. This is done to keep a readable flow of text. While link stripes are provided to make it easier to know which label goes with which link, some people might prefer the labels to really cosy up with the links. The position can be toggled with Ctrl+j.

Cosy link number labels βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/lots_of_links.gmi An example of lots of links Here's a document that has quite a few links, all next to each other. β†— Bandcamp                                                       [1] β†— BlueSky                                                        [2] β†— My discord server                                              [3] β†— My Flickr                                                      [4] β†— My GitHub                                                      [5] β†— My Instagram                                                   [6] β†— Me on last.fm                                                  [7] β†— Me on LinkedIn                                                 [8] β†— My Mastodon account                                            [9] β†— My stuff on NPM                                               [10] β†— My Python code on PyPI                                        [11] β†— Me on Reddit                                                  [12] β†— Me on Steam                                                   [13] β†— Me on TikTok                                                  [14] β†— My YouTube channel                                            [15] β†— My GitLab                                                     [16] β†— My Codeberg                                                   [17] β–‡ text/gemini; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forwa▏^p Commands

Emoji removal

Some people find the use of emoji in Gemtext off-putting. With this in mind, when the viewer has focus, you can press Ctrl+e to toggle them off and on.

So, if presented with this:

Lots of emoji βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/much_emoji.gmi Lorem ipsum πŸ€·β€β™‚️ dolor sit amet, consectetur adipiscing πŸ“ˆ elit. Curabitur sed πŸ›‘ hendrerit dolor, eget molestie πŸ—£οΈ eros. Duis efficitur, leo πŸ¦ sed convallis porttitor, velit πŸ‘€ justo pretium nisl, sed feugiat πŸ”₯ diam elit non sem. Aliquam elementum πŸ§© feugiat mi, sit amet molestie πŸ§  ligula volutpat ac. Etiam ut πŸΌ lorem eu lectus elementum varius πŸŽ’ vitae id leo. Phasellus πŸŒ” vel scelerisque dui. Cras πŸ’₯ finibus ipsum sit amet dolor πŸ’° ultrices tristique. In ac πŸ½οΈ pellentesque urna. Fusce nec πŸš— nisl ut lacus condimentum πŸŒ² rhoncus non vitae ex. Proin quis πŸ€¨ sapien in urna vestibulum πŸ›οΈ volutpat. Mauris tempus β° massa non erat dapibus, ac πŸŽ¨ maximus augue bibendum. Aliquam πŸ›Ά erat volutpat. Sed vel πŸ‘£ ex finibus, hendrerit lectus πŸ‘‹ id, hendrerit neque. Pellentesque πŸ₯¦ nec diam accumsan, elementum πŸ˜Ž felis vitae, finibus nibh. Morbi πŸ§— interdum convallis turpis id lobortis. Nam πŸŽ² euismod tincidunt ex, non convallis πŸ§΅ mi tristique in. Vestibulum πŸšͺ sed lectus vel ipsum accumsan πŸ§³ feugiat vitae tempor lorem. Sed gravida πŸ‘‡ ex ac feugiat tristique. Class πŸŽ’ aptent taciti sociosqu ad 🀝 litora torquent per conubia πŸ’ nostra, per inceptos himenaeos. Cras πŸ”¨ feugiat risus sed scelerisque πŸ¦Ž sodales. Maecenas sed πŸ§΅ convallis tortor. Aliquam varius πŸš€ ex ac velit porta fermentum. Ut πŸ€” sed aliquet odio, eu accumsan πŸ¦– lorem. Proin id πŸ’‘ ex non orci varius dictum πŸ“– eget sed nisl. Ut at πŸƒβ€β™‚️ ligula diam. Vestibulum ante β³ ipsum primis in faucibus πŸ—£οΈ orci luctus et ultrices posuere πŸ“ cubilia curae. text/gemini; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forward  f10 Qu▏^p Commands

and you press Ctrl+e, you get this:

Cleaned of emoji βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/much_emoji.gmi Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur sed hendrerit dolor, eget molestie eros. Duis efficitur, leo sed convallis porttitor, velit justo pretium nisl, sed feugiat diam elit non sem. Aliquam elementum feugiat mi, sit amet molestie ligula volutpat ac. Etiam ut lorem eu lectus elementum varius vitae id leo. Phasellus vel scelerisque dui. Cras finibus ipsum sit amet dolor ultrices tristique. In ac pellentesque urna. Fusce nec nisl ut lacus condimentum rhoncus non vitae ex. Proin quis sapien in urna vestibulum volutpat. Mauris tempus massa non erat dapibus, ac maximus augue bibendum. Aliquam erat volutpat. Sed vel ex finibus, hendrerit lectus id, hendrerit neque. Pellentesque nec diam accumsan, elementum felis vitae, finibus nibh. Morbi interdum convallis turpis id lobortis. Nam euismod tincidunt ex, non convallis mi tristique in. Vestibulum sed lectus vel ipsum accumsan feugiat vitae tempor lorem. Sed gravida ex ac feugiat tristique. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras feugiat risus sed scelerisque sodales. Maecenas sed convallis tortor. Aliquam varius ex ac velit porta fermentum. Ut sed aliquet odio, eu accumsan lorem. Proin id ex non orci varius dictum eget sed nisl. Ut at ligula diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae. text/gemini; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forward  f10 Qu▏^p Commands

ANSI escape sequence support

Rogallo supports ANSI escape sequences in the content of pages. This means that sites can do all sorts of wonderfully colourful things:

Some fun with ANSI βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/mandelbrot.gmi Behold! A mandelbrot set! Here's a little Mandelbrot set done with half blocks and ANSI escape sequences. β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ text/gemini; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forward  f10 Qu▏^p Commands

If you would prefer that ANSI escape sequences aren't processed, and instead are stripped from the content, you can press a to toggle support off or back on.

Turning off ANSI βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/mandelbrot.gmi Behold! A mandelbrot set! Here's a little Mandelbrot set done with half blocks and ANSI escape sequences. β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€β–€ text/gemini; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forward  f10 Qu▏^p Commands

Admittedly, in this case the stripped version isn't anywhere near as interesting, but in most cases you'll get the content you were seeing, just without colour.

Configuration

Filtering out pre-formatted text

Because pre-formatted text can be used to generate site logos and similar, this can sometimes mean that you're faced with viewing the same ASCII art over and over again, that uses up vertical space, and means it takes longer to get to the content of a site. With this in mind Rogallo has a facility for hiding specific pre-formatted text. It is based on the idea that such pre-formatted blocks will have alt-text, and that we will normally only want to do it for a specific URI. As an example: suppose I wanted to hide my avatar image on Station, and also the site logo to save some space, I can set the following in preformatted.yaml in the configuration directory:

hide:
- uri_prefix: "gemini://station.martinrue.com/"
  alt_text: "Station logo"
- uri_prefix: "gemini://station.martinrue.com/davep"
  alt_text: "User image"

As you can see, the filters are defined as a list of objects. The uri_prefix property in each is the URI to match. This will match that location and all below it. So in the above gemini://station.martinrue.com/ would match that location, and also gemini://station.martinrue.com/davep and gemini://station.martinrue.com/example-user and so on. The alt_text property is the alt-text for the pre-formatted text.

Blending pre-formatted text background

By default, for any pre-formatted text with alt-text, Rogallo will use a background colour that is distinct from the background colour of the viewer. On the other hand, by default, pre-formatted text without alt-text will use the viewer's background. If you wish to change this, you can configure it via preformatted.yaml in the configuration directory, using the blend setting. It takes a list of alt-text values, and will blend any listed. By default it is set to:

blend_with_background:
- ''

If, for example, you wanted to blend Station logo and User image too:

blend_with_background:
- ''
- 'Station logo'
- 'User image'

Pre-formatted text tooltips

By default, when using a mouse, Rogallo will show any alt-text associated with some pre-formatted text when you hover the mouse cursor over the block of text.

Rogallo showing a pre-format tooltip βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/preformat.gmi Pre-formatted text examples This is some pre-formatted text that has no alt-text. This is some pre-formatted text with an alt-text of 'text'. ;; Here is some Lisp code. β–”β–”β–”β–”β–”β–”β–”β–” lispcollatz (n) ▁▁▁▁▁▁▁▁culate the next entry in the Collatz sequence for N."   (if (zerop (modn2))       (/n2)       (1+ (*n3)))) (defuncollatz-sequence (n) "Given N, calculate the whole Collatz sequence until we reach 1."   (let ((next (collatzn)))     (consn           (funcall            (if (eqnext1) #'list #'collatz-sequence) next)))) text/gemini; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forward  f10 Quit β–^p Commands

If this feels too cluttered it can be turned off with the tooltips setting in the preformatted.yaml file in the configuration directory. Valid values are true and false, with true (show the tooltips) being the default.

tooltips: true

Markdown rendering

If Rogallo is served a Markdown file, it will convert it into Gemtext and render it. This makes it easier to navigate links, etc.

Viewing Markdown as Gemtext βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/example.md Rogallo Markdown example A paragraph This is a paragraph. This is some more of that paragraph. Here's the final sentence in that paragraph. Links Links are handled just fine too{a}. As well as done as markup{b}, they can also appear inline: gopher://tilde.team/1/~davep/{c} -- while that Gopher link there isn't markup, it is detected and linked. βͺ’ {a} are handled just fine too                                                      [1] β†— {b} as markup                                                                      [2] β—‹ {c} gopher://tilde.team/1/~davep/                                                  [3] Tables | Protocol | Documentation                         | | :------- | :------------------------------------ | | Gemini   | https://rogallo.davep.dev/gemini/{a}  | | Gopher   | https://rogallo.davep.dev/gopher/{b}  | | Finger   | https://rogallo.davep.dev/finger/{c}  | | Spartan  | https://rogallo.davep.dev/spartan/{d} | | Nex      | https://rogallo.davep.dev/nex/{e}     | β†— {a} https://rogallo.davep.dev/gemini/                                              [4]β–‚ β†— {b} https://rogallo.davep.dev/gopher/                                              [5] β†— {c} https://rogallo.davep.dev/finger/                                              [6] β†— {d} https://rogallo.davep.dev/spartan/                                             [7] β†— {e} https://rogallo.davep.dev/nex/                                                 [8] Blockquotes To quote myself: β–ŒRogallo supports blockquotes in Markdown. There, I said it. text/markdown; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forward  f10 Quit β–^p Commands

If you would prefer that Rogallo renders the text using its builtin Markdown widget, you can set convert_markdown_to_gemtext in general.yaml (found in the configuration directory) to false:

convert_markdown_to_gemtext: false

The result of viewing Markdown will be more like this:

Viewing Markdown βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/example.md Rogallo Markdown example A paragraph This is a paragraph. This is some more of that paragraph. Here's the final sentence in that paragraph. Links Links are handled just fine too. As well as done as markup, they can also appear inline: gopher://tilde.team/1/~davep/ -- while that Gopher link there isn't markup, it is detected and linked. Tables β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚Protocolβ”‚Documentationβ”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚Geminiβ”‚https://rogallo.davep.dev/gemini/β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚Gopherβ”‚https://rogallo.davep.dev/gopher/β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚Fingerβ”‚https://rogallo.davep.dev/finger/β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚Spartanβ”‚https://rogallo.davep.dev/spartan/β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚Nexβ”‚https://rogallo.davep.dev/nex/β”‚β–‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ Blockquotes To quote myself: β–ŒRogallo supports blockquotes in Markdown. There, I said it. Preformatted text text/markdown; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forward  f10 Quit β–^p Commands

While the result is more in keeping with the document being Markdown, it will be trickier to navigate if you don't have a mouse (the issue being that Textual's Markdown widget is keyboard-hostile when it comes to navigation of links).

Maximum document width

By default a document being displayed in Rogallo will take up as much horizontal width as possible. So, if the terminal is 80 characters wide, it'll look like this:

Text at 80 characters wide βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/much_text.gmi Many paragraphs of text Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla urna felis, rhoncus scelerisque lobortis sed, consectetur a libero. Curabitur rhoncus dapibus dui, sed vestibulum lacus feugiat cursus. Proin viverra arcu nec orci dignissim, et bibendum diam mattis. Vivamus eu risus at nulla dictum interdum. Nam at neque eget magna consectetur aliquam rhoncus pellentesque odio. Morbi mattis ligula est, in feugiat est tincidunt quis. In dignissim nisi sed erat feugiat, eget faucibus nisi laoreet. Quisque imperdiet imperdiet ante, quis tempor ex convallis in. Morbi mollis est vitae dui ornare, laoreet volutpat magna rutrum. Nunc sodales, ipsum id pellentesque sodales, magna arcu elementum dolor, sit amet feugiat risusβ–‡ nisl at velit. Morbi viverra risus mauris, facilisis rutrum massa fermentum nec. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec eget nulla et orci dictum bibendum ac vel justo. Proin laoreet turpis quis sem laoreet, ac pulvinar augue condimentum. Donec tincidunt arcu et rutrum iaculis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam tristique libero id ante pharetra consequat. Suspendisse potenti. Fusce lorem orci, congue eu dui eget, tristique molestie nisi. Quisque lobortis odio nibh, quis varius nisi fermentum vitae. Duis aliquam ornare nulla, sit amet rhoncus leo facilisis ut. Praesent cursus fringilla molestie. Pellentesque condimentum bibendum placerat. Aliquam erat volutpat. Donec pretium porta mi sit amet pulvinar. Curabitur euismod sem ac sapien ornare, sed vehicula mi molestie. Nulla maximus sollicitudin leo, sed lobortis nisl tempus eget. Phasellus vitae molestie felis. Suspendisse semper accumsan turpis a blandit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus ut text/gemini; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forward  f10 Qu▏^p Commands

At 120:

Text at 120 characters wide βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/much_text.gmi Many paragraphs of text Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla urna felis, rhoncus scelerisque lobortis sed, consectetur a libero. Curabitur rhoncus dapibus dui, sed vestibulum lacus feugiat cursus. Proin viverra arcu nec orci dignissim, et bibendum diam mattis. Vivamus eu risus at nulla dictum interdum. Nam at neque eget magna consectetur aliquam rhoncus pellentesque odio. Morbi mattis ligula est, in feugiat est tincidunt quis. In dignissim nisi sed erat feugiat, eget faucibus nisi laoreet. Quisque imperdiet imperdiet ante, quis tempor ex convallis in. Morbi mollis est vitae dui ornare, laoreet volutpat magna rutrum. Nunc sodales, ipsum id pellentesque sodales, magna arcu elementum dolor, sit amet feugiat risus nisl at velit. Morbi viverra risus mauris, facilisis rutrum massa fermentum nec. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec eget nulla et orci dictum bibendum ac vel justo. Proin laoreet turpis quis sem laoreet, ac pulvinar augue condimentum. Donec tincidunt arcu et rutrum iaculis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam tristique libero id ante pharetra consequat. Suspendisse potenti. Fusce lorem orci, congue eu dui eget, tristique molestie nisi. Quisque lobortis odio nibh, quis varius nisi fermentum vitae. Duis aliquam ornare nulla, sit amet rhoncus leo facilisis ut. Praesent cursus fringilla molestie. Pellentesque condimentum bibendum placerat. Aliquam erat volutpat. Donec pretium porta mi sit amet pulvinar. Curabitur euismod sem ac sapien ornare, sed vehicula mi molestie. Nulla maximus sollicitudin leo, sed lobortis nisl tempus eget. Phasellus vitae molestie felis. Suspendisse semper accumsan turpis a blandit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus ut purus eget enim sodales condimentum sit amet ac augue. Nam malesuada urna magna, id pellentesque augue fermentum sed. Aliquam posuere ante non est tincidunt, ac malesuada ex fermentum. Fusce ut est accumsan, fermentum diam vel, interdum nisl. Etiam eget laoreet arcu, eu aliquam tellus. Donec et purus arcu. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed congue ornare aliquet. Vestibulum vel pretium purus. Nullam aliquet commodo justo, non rutrum mauris varius at. Donec pharetra orci quis finibus vulputate. Morbi laoreet enim eu nibh consectetur, id auctor lorem posuere. Nunc eu lorem aliquet, volutpat nunc in, semper est. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla urna felis, rhoncus scelerisque lobortis sed, consectetur a libero. Curabitur rhoncus dapibus dui, sed vestibulum lacus feugiat cursus. Proin viverra arcu nec orci dignissim, et bibendum diam mattis. Vivamus eu risus at nulla dictum interdum. Nam at neque eget magna consectetur aliquam rhoncus pellentesque odio. Morbi mattis ligula est, in feugiat est tincidunt quis. In dignissim nisi sed erat feugiat, eget faucibus nisi laoreet. Quisque imperdiet imperdiet ante, quis tempor ex convallis in. Morbi mollis est vitae dui ornare, laoreet volutpat magna rutrum. Nunc sodales, ipsum id pellentesque sodales, magna arcu elementum dolor, sit amet feugiat risus nisl at velit. Morbi viverra risus mauris, facilisis rutrum massa fermentum nec. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec eget nulla et orci dictum bibendum ac vel justo. Proin laoreet turpis quis sem laoreet, ac pulvinar augue condimentum. Donec tincidunt arcu et rutrum iaculis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam tristique libero id ante pharetra consequat. Suspendisse potenti. Fusce lorem orci, congue eu dui eget, tristique molestie nisi. Quisque lobortis odio nibh,β–‡ quis varius nisi fermentum vitae. Duis aliquam ornare nulla, sit amet rhoncus leo facilisis ut. Praesent cursus fringilla molestie. Pellentesque condimentum bibendum placerat. Aliquam erat volutpat. Donec pretium porta mi sit amet pulvinar. Curabitur euismod sem ac sapien ornare, sed vehicula mi molestie. Nulla maximus sollicitudin leo, sed lobortis nisl tempus eget. Phasellus vitae molestie felis. Suspendisse semper accumsan turpis a blandit. text/gemini; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forward  f10 Quit β–^p Commands

And even wider:

Text at 430 characters wide βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/much_text.gmi Many paragraphs of text Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla urna felis, rhoncus scelerisque lobortis sed, consectetur a libero. Curabitur rhoncus dapibus dui, sed vestibulum lacus feugiat cursus. Proin viverra arcu nec orci dignissim, et bibendum diam mattis. Vivamus eu risus at nulla dictum interdum. Nam at neque eget magna consectetur aliquam rhoncus pellentesque odio. Morbi mattis ligula est, in feugiat est tincidunt quis. In dignissim nisi sed erat feugiat, eget faucibus nisi laoreet. Quisque imperdiet imperdiet ante, quis tempor ex convallis in. Morbi mollis est vitae dui ornare, laoreet volutpat magna rutrum. Nunc sodales, ipsum id pellentesque sodales, magna arcu elementum dolor, sit amet feugiat risus nisl at velit. Morbi viverra risus mauris, facilisis rutrum massa fermentum nec. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec eget nulla et orci dictum bibendum ac vel justo. Proin laoreet turpis quis sem laoreet, ac pulvinar augue condimentum. Donec tincidunt arcu et rutrum iaculis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam tristique libero id ante pharetra consequat. Suspendisse potenti. Fusce lorem orci, congue eu dui eget, tristique molestie nisi. Quisque lobortis odio nibh, quis varius nisi fermentum vitae. Duis aliquam ornare nulla, sit amet rhoncus leo facilisis ut. Praesent cursus fringilla molestie. Pellentesque condimentum bibendum placerat. Aliquam erat volutpat. Donec pretium porta mi sit amet pulvinar. Curabitur euismod sem ac sapien ornare, sed vehicula mi molestie. Nulla maximus sollicitudin leo, sed lobortis nisl tempus eget. Phasellus vitae molestie felis. Suspendisse semper accumsan turpis a blandit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus ut purus eget enim sodales condimentum sit amet ac augue. Nam malesuada urna magna, id pellentesque augue fermentum sed. Aliquam posuere ante non est tincidunt, ac malesuada ex fermentum. Fusce ut est accumsan, fermentum diam vel, interdum nisl. Etiam eget laoreet arcu, eu aliquam tellus. Donec et purus arcu. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed congue ornare aliquet. Vestibulum vel pretium purus. Nullam aliquet commodo justo, non rutrum mauris varius at. Donec pharetra orci quis finibus vulputate. Morbi laoreet enim eu nibh consectetur, id auctor lorem posuere. Nunc eu lorem aliquet, volutpat nunc in, semper est. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla urna felis, rhoncus scelerisque lobortis sed, consectetur a libero. Curabitur rhoncus dapibus dui, sed vestibulum lacus feugiat cursus. Proin viverra arcu nec orci dignissim, et bibendum diam mattis. Vivamus eu risus at nulla dictum interdum. Nam at neque eget magna consectetur aliquam rhoncus pellentesque odio. Morbi mattis ligula est, in feugiat est tincidunt quis. In dignissim nisi sed erat feugiat, eget faucibus nisi laoreet. Quisque imperdiet imperdiet ante, quis tempor ex convallis in. Morbi mollis est vitae dui ornare, laoreet volutpat magna rutrum. Nunc sodales, ipsum id pellentesque sodales, magna arcu elementum dolor, sit amet feugiat risus nisl at velit. Morbi viverra risus mauris, facilisis rutrum massa fermentum nec. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec eget nulla et orci dictum bibendum ac vel justo. Proin laoreet turpis quis sem laoreet, ac pulvinar augue condimentum. Donec tincidunt arcu et rutrum iaculis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam tristique libero id ante pharetra consequat. Suspendisse potenti. Fusce lorem orci, congue eu dui eget, tristique molestie nisi. Quisque lobortis odio nibh, quis varius nisi fermentum vitae. Duis aliquam ornare nulla, sit amet rhoncus leo facilisis ut. Praesent cursus fringilla molestie. Pellentesque condimentum bibendum placerat. Aliquam erat volutpat. Donec pretium porta mi sit amet pulvinar. Curabitur euismod sem ac sapien ornare, sed vehicula mi molestie. Nulla maximus sollicitudin leo, sed lobortis nisl tempus eget. Phasellus vitae molestie felis. Suspendisse semper accumsan turpis a blandit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus ut purus eget enim sodales condimentum sit amet ac augue. Nam malesuada urna magna, id pellentesque augue fermentum sed. Aliquam posuere ante non est tincidunt, ac malesuada ex fermentum. Fusce ut est accumsan, fermentum diam vel, interdum nisl. Etiam eget laoreet arcu, eu aliquam tellus. Donec et purus arcu. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed congue ornare aliquet. Vestibulum vel pretium purus. Nullam aliquet commodo justo, non rutrum mauris varius at. Donec pharetra orci quis finibus vulputate. Morbi laoreet enim eu nibh consectetur, id auctor lorem posuere. Nunc eu lorem aliquet, volutpat nunc in, semper est. text/gemini; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forward  f10 Quit β–^p Commands

If you prefer that Rogallo always caps the width of text at a specific value, set maximum_document_width in general.yaml the configuration directory. A value of 0 means "no limit" (the default value). If you would prefer that it's set to 80 characters, for example:

maximum_document_width: 80

Document widget capped at 80 characters wide βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/much_text.gmi β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±Many paragraphs of textβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla urna felis,β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±rhoncus scelerisque lobortis sed, consectetur a libero. Curabitur rhoncusβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±dapibus dui, sed vestibulum lacus feugiat cursus. Proin viverra arcu necβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±orci dignissim, et bibendum diam mattis. Vivamus eu risus at nulla dictumβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±interdum. Nam at neque eget magna consectetur aliquam rhoncus pellentesqueβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±odio. Morbi mattis ligula est, in feugiat est tincidunt quis. In dignissimβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±nisi sed erat feugiat, eget faucibus nisi laoreet.β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±Quisque imperdiet imperdiet ante, quis tempor ex convallis in. Morbi mollisβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±est vitae dui ornare, laoreet volutpat magna rutrum. Nunc sodales, ipsum idβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±pellentesque sodales, magna arcu elementum dolor, sit amet feugiat risusβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±nisl at velit. Morbi viverra risus mauris, facilisis rutrum massa fermentumβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±nec. Class aptent taciti sociosqu ad litora torquent per conubia nostra,β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±per inceptos himenaeos. Donec eget nulla et orci dictum bibendum ac velβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±justo. Proin laoreet turpis quis sem laoreet, ac pulvinar augueβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±condimentum. Donec tincidunt arcu et rutrum iaculis. Vestibulum ante ipsumβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±primis in faucibus orci luctus et ultrices posuere cubilia curae;β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquamβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±tristique libero id ante pharetra consequat. Suspendisse potenti. Fusceβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±lorem orci, congue eu dui eget, tristique molestie nisi. Quisque lobortisβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±odio nibh, quis varius nisi fermentum vitae. Duis aliquam ornare nulla, sitβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±amet rhoncus leo facilisis ut. Praesent cursus fringilla molestie.β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±Pellentesque condimentum bibendum placerat. Aliquam erat volutpat. Donecβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±pretium porta mi sit amet pulvinar. Curabitur euismod sem ac sapien ornare,β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±sed vehicula mi molestie. Nulla maximus sollicitudin leo, sed lobortis nislβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±tempus eget. Phasellus vitae molestie felis. Suspendisse semper accumsanβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±turpis a blandit.β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus ut▁╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱ β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±purus eget enim sodales condimentum sit amet ac augue. Nam malesuada urnaβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±magna, id pellentesque augue fermentum sed. Aliquam posuere ante non estβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±tincidunt, ac malesuada ex fermentum. Fusce ut est accumsan, fermentum diamβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±vel, interdum nisl. Etiam eget laoreet arcu, eu aliquam tellus. Donec etβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±purus arcu. Pellentesque habitant morbi tristique senectus et netus etβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±malesuada fames ac turpis egestas. Sed congue ornare aliquet. Vestibulumβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±vel pretium purus. Nullam aliquet commodo justo, non rutrum mauris variusβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±at. Donec pharetra orci quis finibus vulputate. Morbi laoreet enim eu nibhβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±consectetur, id auctor lorem posuere. Nunc eu lorem aliquet, volutpat nuncβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±in, semper est.β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla urna felis,β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±rhoncus scelerisque lobortis sed, consectetur a libero. Curabitur rhoncusβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±dapibus dui, sed vestibulum lacus feugiat cursus. Proin viverra arcu necβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±orci dignissim, et bibendum diam mattis. Vivamus eu risus at nulla dictumβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±interdum. Nam at neque eget magna consectetur aliquam rhoncus pellentesqueβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±odio. Morbi mattis ligula est, in feugiat est tincidunt quis. In dignissimβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±nisi sed erat feugiat, eget faucibus nisi laoreet.β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±Quisque imperdiet imperdiet ante, quis tempor ex convallis in. Morbi mollisβ•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•±β•± text/gemini; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forward  f10 Quit β–^p Commands

By default, when using a mouse, Rogallo will show a tooltip containing the target URI when you hover the mouse cursor over a link.

Rogallo showing a link tooltip βŒ‚β†»β—€β—€β–Άβ–Άβ†‘β‡ˆβ—·β˜…β‡‹v3.0.0 βœ“gemini://localhost/links.gmi The Gemini Protocol The primary documentation for the Gemini Protocol can be found here: βͺ’ The Gemini Protocol                                                                 [1] β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–”β–” gemini://geminiprotocol.net/docs/itself is here: ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ βͺ’ gemini://geminiprotocol.net/docs/protocol-specification.gmi                         [2] The specification for the hypertext format is here: βͺ’ gemini://geminiprotocol.net/docs/gemtext-specification.gmi                          [3] text/gemini; charset=utf-8 >Enter a URI, file, or command  f1 Help  f2 History  f3 Bookmarks  ^[ Backward  ^] Forward  f10 Quit β–^p Commands

If this feels too cluttered it can be turned off with the show_link_tooltips setting in general.yaml in the configuration directory. Valid values are true and false, with true (show the tooltips) being the default.

show_link_tooltips: true

Available bindings

The following actions can have their bindings overridden:

  • gemtext_link.copy_link - Copy the current link's URI to clipboard
  • gemtext_link.open_link_externally - Hand the current link off to the operating system for opening
  • viewer.cancel_search - Cancel the current search in the document
  • viewer.next_link - Move forward through each of the links
  • viewer.previous_link - Move backwards through each of the links
  • viewer.search_next - Look for the next search hit in the document
  • viewer.start_search - Start a search for text in the document
  • viewer.toggle_ansi - Toggle whether ANSI escape sequences are handled in text content
  • viewer.toggle_cosy_link_numbers - Toggle whether the numeric labels are displayed on the left or right of the link
  • viewer.toggle_emoji - Toggle whether emoji are stripped from text content
  • viewer.toggle_link_numbers - Toggle whether links are given numeric labels for jumping to them
  • viewer.toggle_stripe_links - Toggle whether links are given alternating backgrounds