Skip to content

Commit

Permalink
Version 3.4
Browse files Browse the repository at this point in the history
  • Loading branch information
bengarrett committed Aug 25, 2019
1 parent c2af9f7 commit 5c1e1de
Show file tree
Hide file tree
Showing 139 changed files with 4,009 additions and 3,787 deletions.
2 changes: 2 additions & 0 deletions .eslintrc.js
Expand Up @@ -33,6 +33,7 @@ module.exports = {
FindControlSequences: "readonly",
FindDarkScheme: "readonly",
FindEngine: "readonly",
FindOS: "readonly",
FontFamily: "readonly",
Guess: "readonly",
HumaniseCamelCase: "readonly",
Expand All @@ -44,6 +45,7 @@ module.exports = {
RetroTxt: "readonly",
SAUCE: "readonly",
StringToBool: "readonly",
TagBlockCharacters: "readonly",
ToggleScanlines: "readonly",
ToggleTextEffect: "readonly",
Transcode: "readonly"
Expand Down
48 changes: 25 additions & 23 deletions README.md
Expand Up @@ -2,61 +2,63 @@

Turn many pieces of ANSI text art and ASCII/NFO plain text into HTML5 **text** using RetroTxt. The browser agnostic WebExtension that takes retro text files and stylises them into a more pleasing, useful format to view and copy in a web browser.

Available for installation from both the [Chrome web store](https://chrome.google.com/webstore/detail/retrotxt/gkjkgilckngllkopkogcaiojfajanahn) and [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/retrotxt/).
### Available for installation from both the [Chrome web store](https://chrome.google.com/webstore/detail/retrotxt/gkjkgilckngllkopkogcaiojfajanahn) and [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/retrotxt/).

- View ANSI, ASCII, NFO, Shift JIS, PCBoard, Wildcat text art as HTML
- View ANSI, ASCII, NFO, Shift JIS text art as HTML
- View server and dev-op logs formatted in coloured text with modern fonts
- RGB 16.7 million, xterm 256 and IBM VGA 16 colour support
- Swappable ANSI palettes, xterm, VGA, CGA, monochrome and switchable iCE Colors
- Swappable ASCII & NFO colour themes, DOS, Windows, Amiga, C-64, Apple II, Atari ST
- SAUCE metadata parsing
- Multiple text encodings support including CP437, ISO-8959-1, Windows-1252, Shift JIS
- Text rendering toggles, smeared, shadow and normal
- Multiple IBM PC font support such as VGA, PS/2, EGA, CGA, MDA plus variants and more
- Various Amiga fonts plus Mona, Commodore PETSCII, Atari ATASCII, Atari ST and Apple II
- View BBS coloured text files for Celerity, PC Board, Renegade, Telegard, Wildcat!, WVIV systems
- RGB 16.7 million, xterm 256 and standard VGA 16 colour support

![RetroTxt showcase](/docs/assets/zii-rtxt-ad.png)
* Swappable ANSI palettes, VGA, xterm, Apple IIgs, Commodore 64, CGA, monochrome and switchable iCE Colors
* Swappable ASCII & NFO colour themes, DOS, Windows, Amiga, C-64, Apple II, Atari ST
* SAUCE metadata parsing
* Multiple text encodings support including CP-437, ISO-8959-1, Windows-1252, Shift JIS
* Automatic block character, line artefact fixes on Windows systems
* Multiple IBM PC font support such as VGA, PS/2, EGA, CGA, MDA plus variants and more
* Various Amiga fonts plus Mona, Commodore PETSCII, Atari ATASCII, Atari ST and Apple II

![RetroTxt showcase](/md/assets/zii-rtxt-ad.png)

## Documentation

### [Read](/docs/index.md)
### [Read](https://github.com/bengarrett/RetroTxt/wiki)

### [What is new?](/docs/changes.md)
### [What is new?](/md/changes.md)

### [Limitations](/docs/limitations.md)
### [Limitations](https://github.com/bengarrett/RetroTxt/wiki/limitations)

## Install

### [Chrome](https://chrome.google.com/webstore/detail/retrotxt/gkjkgilckngllkopkogcaiojfajanahn) · [Firefox](https://addons.mozilla.org/en-US/firefox/addon/retrotxt/) · [Brave](https://chrome.google.com/webstore/detail/retrotxt/gkjkgilckngllkopkogcaiojfajanahn) · [Edge (Chromium)](https://chrome.google.com/webstore/detail/retrotxt/gkjkgilckngllkopkogcaiojfajanahn)

#### [Or use the source code](/docs/source_code.md)
### [Or use the source code](https://github.com/bengarrett/RetroTxt/wiki/source_code)

### Requirements

**Chrome/Chromium 55** or **Firefox 63** or newer browsers.
**Chrome/Chromium 58** or **Firefox 63** or newer browsers.

## Tryout RetroTxt

You can test the RetroTxt install by clicking on one of the 10 sample artworks found on the `welcome.html` tab that launches after installation.

![RetroTxt samples](/docs/assets/rtxt-samples.png)
![RetroTxt samples](/md/assets/rtxt-samples.png)

## Configuration

Out of the box, some useful features of RetroTxt are off. Newer browsers require you to grant permission at prompts before RetroTxt can
[access specific browser data](/docs/privacy.md) it needs. There are a couple of links to the Options dialogue in the `welcome.html` tab, or it is accessible from the browser's Extensions tab.
[access specific browser data](/md/privacy.md) it needs. There are a couple of links to the Options dialogue in the `welcome.html` tab, or it is accessible from the browser's Extensions tab.

![Config tab in Options](/docs/assets/requests_additional_permissions.png)
![Config tab in Options](/md/assets/requests_additional_permissions.png)

## Run RetroTxt

Once configured RetroTxt will run on any text or ANSI art file observed in a permitted browser tab and mark the toolbar icon with a check.

![RetroTxt toolbar button in Chrome](/docs/assets/retrotxt_toolbar_button_chrome.png)
![RetroTxt toolbar button in Chrome](/md/assets/retrotxt_toolbar_button_chrome.png)

Elsewhere there are thousands of text files hosted at [textfiles.com](https://textfiles.com/directory.html) or the [Project
Gutenberg](https://www.gutenberg.org/catalog/) _plain text_ books. Or download one of the fantastic text art packs created by
[Blocktronics](http://blocktronics.org/artpacks/), found at [textmod.es](https://pc.textmod.es/) or [16 colors](https://16colo.rs) and use the `file:///` protocol
[Blocktronics](http://blocktronics.org/artpacks/), or found at [16 colors](https://16colo.rs) and use the `file:///` protocol
to browse and view the text art files saved onto your hard drive.

### Permissions
Expand All @@ -69,7 +71,7 @@ RetroTxt does not collect or transmit any data created by your web browser.

All data generated by the web extension is only ever stored locally on your computer through the use of the browser local or session storage APIs.

[RetroTxt Privacy](/docs/privacy.md)
[RetroTxt Privacy](https://github.com/bengarrett/RetroTxt/wiki/privacy)

## License

Expand All @@ -81,7 +83,7 @@ While RetroTxt uses a [GNU Lesser General Public License v3.0](https://chooseali

## Credits

RetroTxt by [Ben Garrett](https://devtidbits.com/ben-garrett/) on [Twitter @bens_zone](https://twitter.com/bens_zone) and [GitHub](https://github.com/bengarrett/)
RetroTxt by [Ben Garrett](https://devtidbits.com/ben-garrett/) on [Twitter @bens_zone](https://twitter.com/bens_zone) or [mail](mailto:code.by.ben@gmail.com)

RetroTxt ANSI logo Zeus II [Twitter @Zeus_II](https://twitter.com/Zeus_II)

Expand Down
25 changes: 20 additions & 5 deletions _locales/en_US/messages.json
Expand Up @@ -11,17 +11,32 @@
"gray_white_option": {
"message": "DOS gray"
},
"celerity": {
"message": "Celerity |"
},
"pcboard": {
"message": "PCBoard"
"message": "PCBoard @"
},
"renegade": {
"message": "Renegade |"
},
"telegard": {
"message": "Telegard `"
},
"wildcat": {
"message": "Wildcat!"
"message": "Wildcat! @"
},
"wwivhash": {
"message": "WWIV |#"
},
"wwivheart": {
"message": "WWIV ♥"
},
"url": {
"message": "https://retrotxt.com"
},
"url_help": {
"message": "https://retrotxt.com/d/"
"message": "https://github.com/bengarrett/RetroTxt/wiki"
},
"url_issues": {
"message": "https://github.com/bengarrett/RetroTxt/issues"
Expand All @@ -30,9 +45,9 @@
"message": "https://retrotxt.com/new/"
},
"url_privacy": {
"message": "https://retrotxt.com/p/"
"message": "https://github.com/bengarrett/RetroTxt/wiki"
},
"url_qa": {
"message": "https://retrotxt.com/qa/"
"message": "https://github.com/bengarrett/RetroTxt/wiki/qa"
}
}
Binary file added assets/retrotxt_128-light.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/retrotxt_19-light.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/retrotxt_38-light.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/retrotxt_48-light.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/snaps/options_config-chrome.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/snaps/preview_15.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/snaps/preview_16.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/snaps/preview_17.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/snaps/preview_18.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/snaps/preview_19.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/snaps/preview_permissions-chrome.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/snaps/preview_permissions-firefox.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 22 additions & 10 deletions css/layout.css
@@ -1,8 +1,13 @@
/* items formerly retrotxt.css that conflict with options.css */
/*
filename: layout.css
Items formerly located in`css/retrotxt.css`
that conflict with `css/options.css`
*/

/*
- Use flexbox for our layout to stack HTML items
- apply a work-around fix for Chrome browser's vertical line, font artefacts
use flexbox for our layout to stack HTML items
apply a work-around fix for Chrome browser's vertical line, font artefacts
*/

body {
Expand All @@ -12,9 +17,9 @@ body {
}

/*
'Text and font information' style
font color value is the invert of the background colour
- change 'order: 3;' to move text information header to the bottom of the screen
'Text and font information' style
font color value is the invert of the background colour
change 'order: 3;' to move text information header to the bottom of the screen
*/

header {
Expand Down Expand Up @@ -44,9 +49,17 @@ header .unknown {
main {
display: inline-block;
letter-spacing: 0;
min-width: 640px;
order: 2;
}

main b {
font-style: normal;
font-weight: normal;
/* offset-x | offset-y | blur-radius | color */
text-shadow: 1px 0 1px currentColor;
}

main i {
font-style: normal;
font-weight: normal;
Expand All @@ -55,9 +68,8 @@ main i {
pre {
border: 0 dotted rgba(0, 128, 0, 1);
padding: 0;
/* for text that lack line breaks this wraps text to the tab width */
overflow-wrap: break-word;
white-space: pre-wrap;
/* override the Firefox default value `pre-wrap` that breaks wide ANSI art */
white-space: pre;
}

body > div#checkError {
Expand All @@ -70,7 +82,7 @@ body > div#checkError {
}

body > div#checkError > kbd {
/* Source: https://github.com/auth0/kbd */
/* source: https://github.com/auth0/kbd */
background: rgb(238, 238, 238);
border-radius: 3px;
box-shadow: 1px 1px 1px rgb(119, 119, 119);
Expand Down
19 changes: 18 additions & 1 deletion css/options_chrome.css
Expand Up @@ -54,7 +54,8 @@ header > #sample-container {
height: var(--sample-container);
}
header > #sample-container > #sample-dos-text {
/* anything placed here will override classes introduced by options.js */
/* anything placed here will override classes
introduced by `scripts/options.js` */
display: flex;
align-items: center;
height: var(--sample-box-height);
Expand Down Expand Up @@ -261,3 +262,19 @@ footer .material-icons:active {
background-color: var(--chrome-hover);
transition: var(--icon-transition);
}

header a:hover,
header a:visited,
header a:link,
header a:active {
text-decoration: none;
}

header .material-icons {
display: flex;
align-items: center;
justify-content: center;
background-color: transparent;
color: var(--icon);
text-decoration: none;
}
67 changes: 46 additions & 21 deletions css/options_firefox.css
@@ -1,13 +1,15 @@
/*
filename: options_firefox.css
Colour modifications for Firefox/Gecko browsers based on the Firefox and Mozilla style guides.
Colour modifications for Firefox/Gecko browsers
based on the Firefox and Mozilla style guides.
Firefox: https://www.mozilla.org/en-US/styleguide/identity/firefox/color/
Mozilla: https://www.mozilla.org/en-US/styleguide/identity/mozilla/color/
Photon: http://design.firefox.com/photon/visual/typography.html
In manifest.json for Firefox, options_ui should be { browser_style: true }
The stylesheet can be viewed at chrome://browser/content/extension.css
In the `manifest.json` for Firefox the `options_ui` key
should be { browser_style: true }.
The stylesheet can be viewed at `chrome://browser/content/extension.css`
*/

:root {
Expand Down Expand Up @@ -84,9 +86,12 @@ header > #sample-container {
justify-content: start;
height: var(--sample-container);
padding-left: 6px;
/* fix for the render issue of the white shadow on sample text */
text-shadow: none;
}
header > #sample-container > #sample-dos-text {
/* anything placed here will override classes introduced by options.js */
/* anything placed here will override classes
introduced by `scripts/options.js` */
display: flex;
align-items: center;
height: var(--sample-box-height);
Expand Down Expand Up @@ -117,35 +122,38 @@ header > nav.tab {
align-items: center;
justify-content: start;
}

header > nav.tab > button {
display: inline-block;
align-items: flex-start;
text-align: center;

font-size: 14px;
line-height: 20px;
color: var(--in-content-text-color);
}
/* overriding Firefox's buttons doesn't work as expected */
.tablinks {
background-color: transparent;
border: 1px solid transparent;
border-radius: 2px;
color: var(--in-content-text-color);
font-size: 15px;
font-variant: normal;
letter-spacing: 1.1px;
border: none;
border-top: 2px solid transparent;
border-bottom: 2px solid transparent;
background: var(--in-content-box-background);
font-size: 14px;
line-height: 20px;
margin: 4px;
min-width: 94.5px;
min-height: 30px;
text-shadow: none;
padding: 4px 16px;
color: var(--in-content-text-color);
}
button.tablinks:focus,
.tablinks:hover {
border-color: var(--button-border-color);
color: var(--firefox-active);

button.tablinks:hover {
background-color: var(--in-content-box-background-hover);
border-top-color: var(--in-content-box-border-color);
}
button.tablinks:active {
border-color: var(--button-border-color);

button.tablinks:hover:active {
background-color: var(--in-content-box-background-active);
color: var(--firefox-active);
}

/* Main */
main {
display: flex;
Expand Down Expand Up @@ -329,6 +337,23 @@ main > section .about-link {
flex-basis: 15em;
}
/* Icon links */

header a:hover,
header a:visited,
header a:link,
header a:active {
text-decoration: none;
}

header .material-icons {
display: flex;
align-items: center;
justify-content: center;
background-color: transparent;
color: var(--icon);
text-decoration: none;
}

footer > .box {
display: flex;
align-items: center;
Expand Down

0 comments on commit 5c1e1de

Please sign in to comment.