Hermes is a speed reading app with a look at practical usage.
Pair programmed at RC SP1 2017 by Carl J. Factora & Alberto Zaccagni
Being able to speed read technical books and documents.
The challenge is that sometimes while reading you encounter code snippets, or chemical formulas, or math expressions, it would be great if those could appear on screen, nicely formatted, so you don't exit your speed reading flow.
We will provide a GIF soon!
$ elm-app startThis is still under heavy development, for now we have:
- basic speed reading with letter focus
- longer words will stay on screen for longer
- punctuation will keep words on screen for longer
- code stops execution giving you time to go through it
- more to come!
- single word at the center of the page, with colors and font
- take an array of string and show them one after the other
- update the string on click
- update based off time
- configure speed of words
- read from input at start
- read from input on change
- center the whole word, not just on the first letter
- pressing spacebar prevents nth from being iterated
- another press resumes from the same point
- associate weights with words
- a longer word lasts longer
- a word close to a comma lasts longer
- a word close to a semicolumn lasts even longer
- a word close to a full stop lasts even longer
- handle normal text and code text differently
- Get HTML code from a link
- [] given a URL and a function
- [] format code
- respect code with new lines
- [] dont print paging
- handle ( ) " " etc as punctuation
- contextual punctuation
- next step is having a stack of nested punctuations, gradually disappearing
- handle multi character punctuaction (e.g.
...) - nested punctuation (e.g. (hello, have (some fun now) with parens))
- we need a more intelligent way to detect punctuation
- [] handle HTTP error
- [] add a loading icon when we are fetching HTML contents from the URL
- [] nested elements may cause some problems with
parseHtmlString. I.e., we need to handle nested websites properly. - [] contextual punctuation does not respect window size
- [] contextual punctuation cannot handle
"))"yet - [] whenever the whole thing starts with a contextual punctuation then the punctuation is continously pushed into the context
We are broken. This is fine. (dog with his house on fire here)
Reason is because of the long-ass recursion in parseElement due to ?