Skip to content
Permalink
Browse files

Version 3.4

  • Loading branch information...
bengarrett committed Aug 25, 2019
1 parent c2af9f7 commit 5c1e1de2ea4051c86c1e76c382f1ca4a603d10b4
Showing with 4,009 additions and 3,787 deletions.
  1. +2 −0 .eslintrc.js
  2. +25 −23 README.md
  3. +20 −5 _locales/en_US/messages.json
  4. BIN assets/retrotxt_128-light.png
  5. BIN assets/retrotxt_19-light.png
  6. BIN assets/retrotxt_38-light.png
  7. BIN assets/retrotxt_48-light.png
  8. BIN assets/snaps/options_config-chrome.png
  9. BIN assets/snaps/preview_15.png
  10. BIN assets/snaps/preview_16.png
  11. BIN assets/snaps/preview_17.png
  12. BIN assets/snaps/preview_18.png
  13. BIN assets/snaps/preview_19.png
  14. BIN assets/snaps/preview_permissions-chrome.png
  15. BIN assets/snaps/preview_permissions-firefox.png
  16. +22 −10 css/layout.css
  17. +18 −1 css/options_chrome.css
  18. +46 −21 css/options_firefox.css
  19. +19 −26 css/retrotxt.css
  20. +1 −1 css/retrotxt_loader.css
  21. +38 −14 css/text_animation-off.css
  22. +11 −5 css/{text_colors_xterm-ice.css → text_colors_4bit-ice.css}
  23. +129 −0 css/text_colors_4bit.css
  24. +3 −1 css/text_colors_8bit.css
  25. +154 −0 css/text_colors_bbs.css
  26. +65 −0 css/text_colors_blink.css
  27. +31 −0 css/text_colors_c64.css
  28. +0 −33 css/text_colors_cga_0-ice.css
  29. +4 −4 css/text_colors_cga_0.css
  30. +0 −33 css/text_colors_cga_1-ice.css
  31. +4 −4 css/text_colors_cga_1.css
  32. +0 −46 css/text_colors_gray-ice.css
  33. +8 −101 css/text_colors_gray.css
  34. +31 −0 css/text_colors_iigs.css
  35. +12 −153 css/text_colors_pcboard.css
  36. +106 −0 css/text_colors_pipe.css
  37. +0 −46 css/text_colors_vga-ice.css
  38. +8 −100 css/text_colors_vga.css
  39. +2 −1 css/text_colors_white_bg-fixes.css
  40. +63 −0 css/text_colors_wviv-pipe.css
  41. +6 −107 css/text_colors_xterm.css
  42. +8 −7 css/text_ecma_48.css
  43. +28 −5 css/welcome.css
  44. BIN docs/assets/chrome_fixed-width_font.png
  45. BIN docs/assets/context_menu_text_encoding.png
  46. BIN docs/assets/context_menu_transcode_text.png
  47. BIN docs/assets/menu.png
  48. BIN docs/assets/menu_base.png
  49. BIN docs/assets/menu_display.png
  50. BIN docs/assets/menu_transcode_text.png
  51. BIN docs/assets/nginx_network_console.png
  52. BIN docs/assets/options_colour_pair.png
  53. BIN docs/assets/options_display_behavior.png
  54. BIN docs/assets/options_execution_behavior.png
  55. BIN docs/assets/options_fonts.png
  56. BIN docs/assets/options_header_example.png
  57. BIN docs/assets/options_line_height.png
  58. BIN docs/assets/sourcecode_chrome_loaded.png
  59. BIN docs/assets/sourcecode_firefox.png
  60. BIN docs/assets/sourcecode_firefox_addons.png
  61. BIN docs/assets/text_render_normal.png
  62. BIN docs/assets/text_render_shadowed.png
  63. BIN docs/assets/text_render_smeared.png
  64. BIN docs/assets/text_transcode_ok.png
  65. BIN docs/assets/text_transcode_x.png
  66. BIN docs/assets/theme_amiga.png
  67. BIN docs/assets/theme_appleii.png
  68. BIN docs/assets/theme_atari-st.png
  69. BIN docs/assets/theme_c64.png
  70. BIN docs/assets/theme_ms-dos.png
  71. BIN docs/assets/theme_ps2.png
  72. BIN docs/assets/theme_terminal-black.png
  73. BIN docs/assets/theme_windows.png
  74. BIN docs/assets/web-ext_example.png
  75. +0 −35 docs/index.md
  76. +0 −33 docs/limitations.md
  77. +0 −140 docs/menus.md
  78. +0 −39 docs/nginx.md
  79. +0 −213 docs/options.md
  80. +0 −42 docs/other_projects.md
  81. +0 −70 docs/privacy.md
  82. +0 −73 docs/qa.md
  83. +0 −79 docs/source_code.md
  84. +0 −181 docs/technical.md
  85. +7 −0 fonts/unscii/readme.txt
  86. BIN fonts/{woff2 → unscii}/unscii-16.ttf
  87. BIN fonts/{woff2 → unscii}/unscii-16.woff
  88. BIN fonts/{woff2 → unscii}/unscii-8.ttf
  89. BIN fonts/{woff2 → unscii}/unscii-8.woff
  90. +27 −18 html/options_chrome.html
  91. +14 −5 html/options_firefox.html
  92. +102 −27 html/welcome.html
  93. +2 −3 manifest.json
  94. +2 −3 manifest_chrome.json
  95. +1 −2 manifest_firefox.json
  96. BIN {docs → md}/assets/changes-22-header.png
  97. BIN {docs → md}/assets/requests_additional_permissions.png
  98. BIN {docs → md}/assets/retrotxt_toolbar_button_chrome.png
  99. BIN {docs → md}/assets/retrotxt_toolbar_menu.png
  100. BIN {docs → md}/assets/rtxt-samples.png
  101. BIN {docs → md}/assets/zii-rtxt-ad.png
  102. +309 −273 {docs → md}/changes.md
  103. +3 −3 package.json
  104. +239 −250 scripts/eventpage.js
  105. +383 −296 scripts/functions.js
  106. +148 −149 scripts/options.js
  107. +506 −440 scripts/parse_ansi.js
  108. +424 −190 scripts/parse_dos.js
  109. +342 −297 scripts/retrotxt.js
  110. +64 −62 scripts/welcome.js
  111. +25 −0 test/example_files/bbs_sheets/BLINK.ANS
  112. +25 −0 test/example_files/bbs_sheets/BLINK.PCB
  113. +19 −0 test/example_files/bbs_sheets/CELERITY.PIP
  114. +13 −0 test/example_files/bbs_sheets/HEARTS.txt
  115. +22 −0 test/example_files/bbs_sheets/SHEET.ANS
  116. +21 −0 test/example_files/bbs_sheets/SHEET.PCB
  117. +1 −0 test/example_files/bbs_sheets/SHEET.PIP
  118. +21 −0 test/example_files/bbs_sheets/SHEET.RG
  119. +21 −0 test/example_files/bbs_sheets/SHEET.TG
  120. +22 −0 test/example_files/bbs_sheets/SHEETS.ANS
  121. +25 −0 test/example_files/bbs_sheets/SHEETS.BBS
  122. +25 −0 test/example_files/bbs_sheets/SHEETS.PCB
  123. +21 −0 test/example_files/bbs_sheets/SHEETS.RG
  124. +21 −0 test/example_files/bbs_sheets/SHEETS.TG
  125. +25 −0 test/example_files/bbs_sheets/TCC.ASC
  126. +25 −0 test/example_files/bbs_sheets/TCC.BBS
  127. +25 −0 test/example_files/bbs_sheets/TCC.PCB
  128. +25 −0 test/example_files/bbs_sheets/TCC.RG
  129. +25 −0 test/example_files/bbs_sheets/TCC.TG
  130. 0 test/example_files/{ → bbs_sheets}/ZII-RTXT.pcb
  131. 0 test/example_files/{ → bbs_sheets}/bbs-pcboard.txt
  132. 0 test/example_files/{ → bbs_sheets}/bbs-wildcat.txt
  133. BIN test/example_files/bbs_sheets/testcase.ans
  134. +1 −1 test/tests-functions.js
  135. +15 −15 test/tests-parse_ansi-sequences.js
  136. +56 −42 test/tests-parse_ansi.js
  137. +55 −55 test/tests-parse_dos.js
  138. +34 −0 web-ext-chrome.js
  139. +4 −4 web-ext-config.js
@@ -33,6 +33,7 @@ module.exports = {
FindControlSequences: "readonly",
FindDarkScheme: "readonly",
FindEngine: "readonly",
FindOS: "readonly",
FontFamily: "readonly",
Guess: "readonly",
HumaniseCamelCase: "readonly",
@@ -44,6 +45,7 @@ module.exports = {
RetroTxt: "readonly",
SAUCE: "readonly",
StringToBool: "readonly",
TagBlockCharacters: "readonly",
ToggleScanlines: "readonly",
ToggleTextEffect: "readonly",
Transcode: "readonly"
@@ -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
@@ -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

@@ -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)

@@ -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"
@@ -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 not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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 {
@@ -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 {
@@ -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;
@@ -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 {
@@ -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);
@@ -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);
@@ -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;
}
@@ -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 {
@@ -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);
@@ -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;
@@ -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;

0 comments on commit 5c1e1de

Please sign in to comment.
You can’t perform that action at this time.