Permalink
Browse files

Version 3.0

  • Loading branch information...
bengarrett committed Nov 18, 2018
1 parent ebee784 commit 2a902629fdacf569c265f7986a76020482ad323e
Showing with 22,908 additions and 26,270 deletions.
  1. +1 −0 .eslintignore
  2. +48 −28 .eslintrc.js
  3. +1 −4 .gitignore
  4. +28 −0 .npmignore
  5. +71 −0 .vscode/cSpell.json
  6. +11 −0 .vscode/extensions.json
  7. +33 −0 .vscode/settings.json
  8. +38 −14 README.md
  9. +1 −1 _locales/en_GB/messages.json
  10. +7 −1 _locales/en_US/messages.json
  11. +123 −14 assets/retrotxt_128.svg
  12. BIN assets/retrotxt_16-light.png
  13. BIN assets/retrotxt_32-light.png
  14. BIN assets/snaps/options_config-chrome.png
  15. BIN assets/snaps/options_config-firefox.png
  16. BIN assets/snaps/preview_01.png
  17. BIN assets/snaps/preview_02.png
  18. BIN assets/snaps/preview_03.png
  19. BIN assets/snaps/preview_04.png
  20. BIN assets/snaps/preview_05.png
  21. BIN assets/snaps/preview_06.png
  22. BIN assets/snaps/preview_07.png
  23. BIN assets/snaps/preview_08.png
  24. BIN assets/snaps/preview_09.png
  25. BIN assets/snaps/preview_10.png
  26. BIN assets/snaps/preview_11.png
  27. BIN assets/snaps/preview_12.png
  28. BIN assets/snaps/preview_13.png
  29. BIN assets/snaps/preview_14.png
  30. BIN assets/snaps/preview_permissions-chrome.png
  31. BIN assets/snaps/preview_permissions-firefox.png
  32. +89 −0 css/layout.css
  33. +57 −64 css/modern-normalize.css
  34. +0 −252 css/options.css
  35. +254 −0 css/options_chrome.css
  36. +303 −91 css/options_firefox.css
  37. +211 −241 css/retrotxt.css
  38. +25 −25 css/retrotxt_loader.css
  39. +29 −0 css/text_animation-off.css
  40. +34 −43 css/text_colors.css
  41. +1,026 −1,028 css/text_colors_8bit.css
  42. +15 −20 css/text_colors_cga_0-ice.css
  43. +43 −58 css/text_colors_cga_0.css
  44. +15 −20 css/text_colors_cga_1-ice.css
  45. +43 −58 css/text_colors_cga_1.css
  46. +20 −21 css/text_colors_gray-ice.css
  47. +68 −49 css/text_colors_gray.css
  48. +130 −99 css/text_colors_pcboard.css
  49. +19 −28 css/text_colors_vga-ice.css
  50. +69 −74 css/text_colors_vga.css
  51. +4 −4 css/text_colors_white_bg-fixes.css
  52. +20 −20 css/text_colors_xterm-ice.css
  53. +78 −50 css/text_colors_xterm.css
  54. +102 −102 css/text_ecma_48.css
  55. +138 −130 css/welcome.css
  56. BIN docs/assets/browser_menu.png
  57. BIN docs/assets/browser_menu_new.png
  58. BIN docs/assets/context_menu_transcode_text.png
  59. BIN docs/assets/menu.png
  60. BIN docs/assets/menu_transcode_text.png
  61. BIN docs/assets/options.png
  62. BIN docs/assets/options_colour_pair.png
  63. BIN docs/assets/options_display_behavior.png
  64. BIN docs/assets/options_execution_behavior.png
  65. BIN docs/assets/options_fonts.png
  66. BIN docs/assets/options_line_height.png
  67. BIN docs/assets/requests_additional_permissions.png
  68. BIN docs/assets/retrotxt_toolbar_button_chrome.png
  69. BIN docs/assets/retrotxt_toolbar_button_firefox.png
  70. BIN docs/assets/retrotxt_toolbar_menu.png
  71. BIN docs/assets/rtxt-samples.png
  72. BIN docs/assets/sourcecode_chrome_extensions-.png
  73. BIN docs/assets/sourcecode_chrome_extensions.png
  74. BIN docs/assets/sourcecode_chrome_loaded.png
  75. BIN docs/assets/sourcecode_firefox.png
  76. BIN docs/assets/sourcecode_firefox_addons.png
  77. BIN docs/assets/sourcecode_firefox_loaded.png
  78. BIN docs/assets/vertical_artifacts.png
  79. BIN docs/assets/web-ext_example.png
  80. BIN docs/assets/zii-rtxt-ad.png
  81. +61 −5 docs/changes.md
  82. +2 −1 docs/index.md
  83. +45 −37 docs/menus.md
  84. +21 −6 docs/options.md
  85. +70 −0 docs/privacy.md
  86. +37 −34 docs/qa.md
  87. +33 −21 docs/source_code.md
  88. +129 −128 docs/technical.md
  89. +0 −1,017 eventpage.js
  90. +0 −3 fonts.txt
  91. +1 −0 fonts/base64/AtariClassicChunky.bin
  92. +1 −0 fonts/base64/AtariST8x16SystemFont.bin
  93. +1 −0 fonts/base64/C64ProMono.bin
  94. +1 −0 fonts/base64/IBMPlexMono-Regular.bin
  95. +1 −0 fonts/base64/MicroKnight.bin
  96. +1 −0 fonts/base64/MicroKnightPlus.bin
  97. +1 −0 fonts/base64/P0T-NOoDLE.bin
  98. +1 −0 fonts/base64/PrintChar21.bin
  99. +1 −0 fonts/base64/Px437_CompaqThin_8x8.bin
  100. +1 −0 fonts/base64/Px437_IBM_ISO8.bin
  101. +1 −0 fonts/base64/Px437_IBM_ISO9.bin
  102. +1 −0 fonts/base64/Px437_IBM_PS2thin4.bin
  103. +1 −0 fonts/base64/PxPlus_AmstradPC1512-2y.bin
  104. +1 −0 fonts/base64/PxPlus_AmstradPC1512.bin
  105. +1 −0 fonts/base64/PxPlus_IBM_BIOS-2x.bin
  106. +1 −0 fonts/base64/PxPlus_IBM_BIOS-2y.bin
  107. +1 −0 fonts/base64/PxPlus_IBM_BIOS.bin
  108. +1 −0 fonts/base64/PxPlus_IBM_CGA-2y.bin
  109. +1 −0 fonts/base64/PxPlus_IBM_CGA.bin
  110. +1 −0 fonts/base64/PxPlus_IBM_CGAthin-2y.bin
  111. +1 −0 fonts/base64/PxPlus_IBM_CGAthin.bin
  112. +1 −0 fonts/base64/PxPlus_IBM_EGA8-2x.bin
  113. +1 −0 fonts/base64/PxPlus_IBM_EGA8.bin
  114. +1 −0 fonts/base64/PxPlus_IBM_EGA9-2x.bin
  115. +1 −0 fonts/base64/PxPlus_IBM_EGA9.bin
  116. +1 −0 fonts/base64/PxPlus_IBM_MDA.bin
  117. +1 −0 fonts/base64/PxPlus_IBM_VGA8-2x.bin
  118. +1 −0 fonts/base64/PxPlus_IBM_VGA8.bin
  119. +1 −0 fonts/base64/PxPlus_IBM_VGA9-2x.bin
  120. +1 −0 fonts/base64/PxPlus_IBM_VGA9.bin
  121. +1 −0 fonts/base64/PxPlus_TandyNew_225-2y.bin
  122. +1 −0 fonts/base64/PxPlus_TandyNew_225.bin
  123. +1 −0 fonts/base64/PxPlus_TandyNew_TV-2y.bin
  124. +1 −0 fonts/base64/PxPlus_TandyNew_TV.bin
  125. +1 −0 fonts/base64/PxPlus_VGA_SquarePx.bin
  126. +3 −0 fonts/base64/README
  127. +1 −0 fonts/base64/TopazPlus_a1200.bin
  128. +1 −0 fonts/base64/TopazPlus_a500.bin
  129. +1 −0 fonts/base64/Topaz_a1200.bin
  130. +1 −0 fonts/base64/Topaz_a500.bin
  131. +1 −0 fonts/base64/mOsOul.bin
  132. +1 −0 fonts/base64/mona.bin
  133. +22 −0 fonts/ibm-plex-mono/CHANGELOG
  134. BIN fonts/ibm-plex-mono/IBMPlexMono-Regular.ttf
  135. BIN fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2
  136. +93 −0 fonts/ibm-plex-mono/LICENSE.txt
  137. +8 −8 fonts/material/iconfont/material-icons.css
  138. BIN fonts/woff2/IBMPlexMono-Regular.woff2
  139. +0 −522 functions.js
  140. +551 −0 html/options_chrome.html
  141. +577 −0 html/options_firefox.html
  142. +360 −0 html/welcome.html
  143. +3 −0 libs/tippyjs/README.md
  144. +75 −77 manifest.json
  145. +76 −0 manifest_chrome.json
  146. +85 −0 manifest_firefox.json
  147. +0 −413 options.html
  148. +0 −597 options.js
  149. +46 −0 package.json
  150. +0 −1,391 retrotxt.js
  151. +1,747 −0 scripts/eventpage.js
  152. +1,512 −0 scripts/functions.js
  153. +1,259 −0 scripts/options.js
  154. +1,480 −0 scripts/parse_ansi.js
  155. +877 −0 scripts/parse_dos.js
  156. +2,084 −0 scripts/retrotxt.js
  157. +297 −0 scripts/welcome.js
  158. +1 −1 test/example_files/ZII-RTXT.ans
  159. +29 −0 test/example_files/ZII-RTXT.asc
  160. +29 −0 test/example_files/ZII-RTXT.pcb
  161. +1 −1 test/example_files/_hello-world.txt
  162. +11 −0 test/example_files/_transcode_text.txt
  163. +49 −0 test/example_files/ascii-logos.txt
  164. +24 −3 test/example_files/bbs-pcboard.txt
  165. +24 −3 test/example_files/bbs-wildcat.txt
  166. +1 −1 test/example_files/cp-1252.txt
  167. BIN test/example_files/cp-437-all-characters.txt
  168. +0 −11 test/example_files/cp-437-bugs.txt
  169. +31 −0 test/example_files/cp-437-less-C0.txt
  170. +2 −4 test/example_files/cp-437.txt
  171. +2 −4 test/example_files/cp-865.txt
  172. +23 −22 test/example_files/ecma-48-rgb.txt
  173. BIN test/example_files/ecma-48.txt
  174. +1 −1 test/example_files/iso-8859-1.txt
  175. +4 −10 test/example_files/iso-8859-15.txt
  176. +25 −0 test/example_files/iso-8859-5-less-C0.txt
  177. BIN test/example_files/sauce.txt
  178. +1 −1 test/example_files/shift_jis-art.txt
  179. +1 −1 test/example_files/us-ascii.txt
  180. +1 −1 test/example_files/utf-8.txt
  181. +1 −1 test/example_files/utf-8_bom.txt
  182. +6 −8 test/index.html
  183. +5,340 −4,709 test/qunit-2.4.0.js
  184. +11 −0 test/test_node.js
  185. +0 −921 test/tests.js
  186. +2,511 −0 test/tests_browser.js
  187. +0 −399 text_cp_dos.js
  188. +0 −1,215 text_ecma48.js
  189. +0 −91 text_ecma94.js
  190. +0 −37 tools/README.md
  191. +0 −396 tools/kit.js
  192. +0 −11 tools/kit.json
  193. +0 −11,074 tools/package-lock.json
  194. +0 −30 tools/package.json
  195. +31 −0 web-ext-config.js
  196. +0 −311 welcome.html
  197. +0 −204 welcome.js
@@ -0,0 +1 @@
**/*.html
@@ -1,29 +1,49 @@
module.exports = {
"env": {
"browser": true,
"es6": true,
"qunit": true
},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": 2017,
"impliedStrict": true
},
"rules": {
"no-console": 0,
"no-fallthrough": ["error", { "commentPattern": "break[\\s\\w]*omitted" }],
"no-unused-vars": ["error", { "vars": "local" }],
"indent": ["error", 2, { "SwitchCase": 1 }],
"linebreak-style": [
"off"
],
"quotes": [
"error",
"backtick"
],
"semi": [
"error",
"never"
]
}
};
env: {
browser: true,
commonjs: true,
es6: true,
webextensions: true
},
extends: "eslint:recommended",
parserOptions: {
ecmaVersion: 2017
},
rules: {
"no-console": ["off"],
quotes: ["error", "backtick"]
},
// set to false to make global vars read-only
globals: {
BBS: false,
BrowserEncodings: false,
BuildEcma48: false,
BusySpinner: false,
CharacterSet: false,
Characters: false,
CheckArguments: false,
CheckError: false,
CheckRange: false,
Configuration: false,
Contrast: false,
CreateLink: false,
DisplayAlert: false,
DOSText: false,
FindControlSequences: false,
FindEngine: false,
FontFamily: false,
Guess: false,
HumaniseCamelCase: false,
HumaniseFS: false,
HardwarePalette: false,
ParseToChildren: false,
QUnit: false,
OptionsReset: false,
RetroTxt: false,
SAUCE: false,
StringToBool: false,
ToggleScanlines: false,
ToggleTextEffect: false,
Transcode: false
}
}
@@ -5,9 +5,6 @@
web-ext-artifacts
*.xpi

# Notes
style.txt

# Visual Studio Code
.vscode
.vscode/tasks.json
node_modules
@@ -0,0 +1,28 @@
# WebExtension specific files
/eventpage.js
options.*
/retrotxt.js
/parse_input.js
welcome.*
css/options_*
css/modern-*
css/retrotxt_*

# WebExtension specific folders
_locales/
assets/
docs/
fonts/amiga/
fonts/appleii/
fonts/atascii/
fonts/commodore64/
fonts/material/
fonts/ms_dos/
libs/

# Tools and tests
test/
tools/

# IDE
.vscode/
@@ -0,0 +1,71 @@
{
"version": "0.1",
"language": "en-GB",
"allowCompoundWords": true,
"minWordLength": 4,
"words": [
"admin",
"Athin",
"amstradpc",
"appleii",
"artifacts",
"atascii",
"atarist",
"atomiks",
"Ayres's",
"behavior",
"callbackify",
"cgathin",
"cleanup",
"Colly",
"colortrans",
"commt",
"comnt",
"ctrls",
"diffs",
"diffed",
"ibmps",
"iks's",
"jedec",
"gmail",
"Habana",
"horiz",
"IBMPLEX",
"Kreative",
"Luciano",
"menuid",
"minified",
"MOSOUL",
"myfile",
"PETSCII",
"qunit",
"Pscrip",
"recurse",
"rsfiso",
"rsfps",
"rsftmk",
"rsftmkp",
"rsftpn",
"rsftm",
"rsfmono",
"Reubens",
"speedup",
"Spidertronics",
"Synchronet",
"tandynewtv",
"tandytv",
"Tasmaniac",
"Telegard",
"TOPAZA",
"TOPAZPLUSA",
"TNOODLE",
"trclear",
"trart",
"truthy",
"txtified",
"txtify",
"tuples",
"Verent",
"Vito's"
]
}
@@ -0,0 +1,11 @@
{
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"eg2.vscode-npm-script",
"ionutvmi.path-autocomplete",
"joelday.docthis",
"streetsidesoftware.code-spell-checker",
"zeithaste.cursorcharcode"
]
}
@@ -0,0 +1,33 @@
// Place your settings in this file to overwrite default and user settings.
{
// web-ext
"files.autoSave": "off",
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe",
// White space and formatting
"editor.insertSpaces": true,
"editor.renderWhitespace": "boundary",
"editor.tabSize": 2,
"editor.wordWrapColumn": 132,
"editor.wordWrap": "wordWrapColumn",
// ESLint (Javascript)
"eslint.autoFixOnSave": true,
"eslint.validate": ["javascript", "html"],
"prettier.eslintIntegration": true,
// NPM
"npm.enableScriptExplorer": true,
// Unused or conflicting features
"html.suggest.angular1": false,
"html.suggest.ionic": false,
"javascript.format.enable": false,
"typescript.format.enable": false,
// Document This
"docthis.includeMemberOfOnClassMembers": false,
"docthis.includeMemberOfOnInterfaceMembers": false,
"docthis.includeTypes": false,
"css.lint.float": "warning",
"css.lint.ieHack": "warning",
"css.lint.important": "warning",
"css.lint.importStatement": "warning",
"css.lint.universalSelector": "warning",
"css.lint.zeroUnits": "warning"
}
@@ -2,9 +2,10 @@

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 store](https://chrome.google.com/webstore/detail/retrotxt/gkjkgilckngllkopkogcaiojfajanahn) and [Mozilla 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 system and server 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
@@ -15,6 +16,7 @@ Available for installation from both the [Chrome store](https://chrome.google.co
- Various Amiga fonts plus Mona, Commodore PETSCII, Atari ATASCII, Atari ST and Apple II

Limitations

- A lot of [Bulletin Board System](https://spectrum.ieee.org/tech-history/cyberspace/social-medias-dialup-ancestor-the-bulletin-board-system) era ANSI art that relied on the 80x25 terminal with cursor positioning to create visual text motion and animations do not convert to HTML

![RetroTxt showcase](/docs/assets/zii-rtxt-ad.png)
@@ -23,6 +25,8 @@ Limitations

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

#### [What is new?](https://github.com/bengarrett/RetroTxt/blob/master/docs/changes.md)

## Install

### [Chrome](https://chrome.google.com/webstore/detail/retrotxt/gkjkgilckngllkopkogcaiojfajanahn) · [Firefox](https://addons.mozilla.org/en-US/firefox/addon/retrotxt/)
@@ -31,26 +35,44 @@ Limitations

### Requirements

**Chrome 55** or **Firefox 55** or newer browsers.
**Chrome 55** or **Firefox 63** or newer browsers.

## Run RetroTxt
## Test 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.

After install you can run RetroTxt on any text or ANSI art file viewed in the browser by clicking the toolbar button.
![RetroTxt samples](/docs/assets/rtxt-samples.png)

Selected toolbar button
## Configuration

![RetroTxt toolbar button in Chrome](/docs/assets/retrotxt_toolbar_button_chrome.png)
Out of the box, certain 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.

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.
![Config tab in Options](/docs/assets/requests_additional_permissions.png)

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

Elsewhere there are thousands of text files hosted at [textfiles.com](https://textfiles.com/directory.html) or [Project Gutenberg's](https://www.gutenberg.org/catalog/) _plain text_ books. Or download one of the amazing text art packs created by [Blocktronics](http://blocktronics.org/artpacks/) or found at [textmod.es](https://pc.textmod.es/) and use the `file:///` protocol to browse and view the text art files saved onto your hard drive.
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)

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 amazing 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
to browse and view the text art files saved onto your hard drive.

### Permissions

Chrome requires **Allow access to file URLs** selected if you wish to use RetroTxt with text files stored on your local computer.

## Privacy

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)

## License

### GNU LESSER GENERAL PUBLIC LICENSE
@@ -65,13 +87,15 @@ RetroTxt by [Ben Garrett](https://bens.zone/) on [Twitter @bens_zone](https://tw

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

- PC fonts [_The Ultimate Oldschool PC Font Pack_](https://int10h.org/oldschool-pc-fonts/) by Viler
- Commodore Amiga fonts [_Multi Platform Fonts In Amiga Aspect v1.0_](https://www.trueschool.se/) by TrueSchool Ascii
- Apple II font [_Print Char 21_](http://www.kreativekorp.com/software/fonts/apple2.shtml) by Kreative Korp
- Atari ATASCI font [_Atari Classic TrueType Fonts_](http://members.bitstream.net/marksim/atarimac/fonts.html) by Mark L. Simonson
- Atari ATASCII font [_Atari Classic TrueType Fonts_](http://members.bitstream.net/marksim/atarimac/fonts.html) by Mark L. Simonson
- Atari ST font [_8x16 system font_](https://www.dafont.com/atari-st-8x16-system-font.font) by divVerent
- Commodore 64 font [_C64 Pro Mono TrueType v1.2_](http://style64.org/c64-truetype) from Style
- Commodore 64 font [_C64 Pro Mono TrueType v1.2_](http://style64.org/c64-truetype) by Style
- Commodore Amiga fonts [_Multi Platform Fonts In Amiga Aspect v1.0_](https://www.trueschool.se/) by TrueSchool Ascii
- IBM PC fonts [_The Ultimate Oldschool PC Font Pack_](https://int10h.org/oldschool-pc-fonts/) by Viler
- IBM Plex [_Plex Mono Regular_](https://github.com/IBM/plex) by IBM Corp.
- Mona Shift JIS [_mona_](http://monafont.sourceforge.net/index-e.html) public domain

Options icons by [Google Material Design](https://material.google.com/)

Tippy tooltips by [atomiks](https://github.com/atomiks/tippyjs/)
Tippy tooltips by [atomiks](https://github.com/atomiks/tippyjs/)
@@ -11,4 +11,4 @@
"gray_white_option": {
"message": "DOS grey"
}
}
}
@@ -26,7 +26,13 @@
"url_issues": {
"message": "https://github.com/bengarrett/RetroTxt/issues"
},
"url_new": {
"message": "https://retrotxt.com/new/"
},
"url_privacy": {
"message": "https://retrotxt.com/p/"
},
"url_qa": {
"message": "https://retrotxt.com/qa/"
}
}
}
Oops, something went wrong.

0 comments on commit 2a90262

Please sign in to comment.