Added basic terminal coloring to the infolines

This commit is contained in:
Luxferre
2023-04-03 12:37:10 +03:00
parent 53f9dc3a46
commit 1bbe1ffd81
4 changed files with 130 additions and 4 deletions
+11 -2
View File
@@ -65,6 +65,7 @@ Note that currently, Kopher and hi01379.js assume that the search request from a
- Unlimited navigation history (doesn't persist between sessions)
- Up to 10 numbered bookmarks plus customizable homepage
- Binary blob downloads (see "Downloads")
- Limited support of ANSI terminal escape codes in Gophermap infolines (see "Does it have terminal emulation support for character styling?")
## Controls
@@ -105,9 +106,17 @@ For your convenience, only the current hole hostname is always displayed in the
Yes. In fact, UTF-8 is the only supported encoding. As ASCII is a subset of UTF-8, old ASCII-only resources will be displayed just fine as well.
## Does it have terminal emulation support for character coloring purposes?
## Does it have terminal emulation support for character styling?
No, but that feature is considered to be implemented if this client gains more traction and if there still is enough amount of the resources that actually use VT escape characters.
As of April 2023, Kopher implements a subset of ANSI terminal escape codes for text styling purposes with the following limitations:
- they are applied to the Gophermap information lines **only** (and detected and deleted everywhere else);
- they only work within the single infoline or a block of sequential infolines and all styling gets reset when another entry type is encountered, even if the reset sequence isn't there;
- only the basic 8/16-color palette is implemented (because these codes physically translate into corresponding data attributes);
- beside the colors, the following text attributes are implemented: bold, italic, underline, blinking, inverse, hidden, strikethrough;
- any unsupported escape sequences are automatically deleted from the rendered output.
All these limitations are intended to keep Kopher's codebase simple, and not likely to change in the foreseeable future.
## Can I use the hi01379.js library in non-KaiOS environments?