* feat(words): add words for latynka layout in ukrainian language
* feat(lists): add ukrainian_latynka to lists of languages
* feat(dygrafs): update spelling of them
* fix(name): in json files of languages
* Initial GDScript addition
* Add parentheses and a couple extra types/symbols
* Reorganization to make it understandable
Co-authored-by: [Error_27] <43973418+Error-In-Code@users.noreply.github.com>
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Finishing logic
* Numbers + layoutfluid
* One interface
* Filter results
* tts error on undefined
Extencions like NoScript can partly block scripts on the page.
If speech synthesis is not loaded, notification shows up
without freezing the page
* Improved randomcase
* Prevent dublicates in command line
* Change filter logic
* Prettier
* Convert numbers
* num
* Quote and zen modes
* withWords
* Misc
* Expand funboxes list for pb saving
* Move list to backend
* Move to constants
* Async withWords, checkFunbox tweak
* Prettier
* Forbid nonexistent funboxes
* Disable speech if language is ignored
TtS's init() uses setLanguage()
* canGetPb
* Less circular imports
* Ligatures typo
* Simon says blocks word highlight
* blockWordHighlight backend
* Changed imports
* usesLayout
* JSON schema
* IP funbox
* Split
* Display notification instead of reseting
* canGetPB
* One getWordHtml
* Dividing properties
* No sync
* blockedModes
* forcedConfig
* Infinitness parameter, list sync
* applyConfig, memory
Remove extra applyConfig somewhere;
Memory in quotes and custom modes
* I lost this code after merging
* Remove arrowKeys
* isFunboxCompatible
* Fix logic
* sync canGetPb
* remove FunboxObjectType
* baloons
* moved cangetpb function to pb utils
* updated the pb check to be easier to understand
* Refactor isFunboxCompatible
* Check modes conflicts
* Strict highlightMode type
* Only one allowed or blocked highlight mode
* More checks
* Undefined only, not false
* Prettier
* Highlight modes
* added intersect helper function
* reworked forced config
- storing allowed modes as an array, not string
- first value will be used if config is outside of the allowed values
- instead of checking if highlight mode is allowed, checking if the whole config is available
- removed the "Finite" forced config and replaced it with "noInfiniteDuration" property
- config event listener now checks every config change, not just highlight mode. this will ensure any future forced configs will work straight out of the box
* ManualRestart in commandline
* fixed funbox commands not correctly showing which funbox is active
* Upd list
* Merge
* canGetPB for ip
* Reduce list
* split funbox into smaller files
moved funbox files into its own folder
* missing none command
* added function to convert camel case to space separated words
* changed config validation to be blocking the change rather than reacting to the change
* reduced code duplication
* allowing sub color flash
* moved keymap key higlighting and flashing into an observable event
* moved tts into a observable event
* passing funbox into config validation funcitons
* replaced getActive with get
* only keeping functions structure in the list, moved the actual function bodies to funbox.ts
done to remove a circular dependency
still need to finish the rest of the funboxes
* removed empty function definitions (typing issues)
* removed unnecessary type
* unnecessary check
* moved mode checking to config validation
* longer notification
* checking funboxes before changing mode
* moved more functions
* fixed incorrect type
* checking funboxes when setting punctuation and numbers
* Rest of funboxes
* fixed funbox commands showing tags text and icon
* checking if funbox can be set with the current config
* better error message
* validating with setting time and words
importing from a new file
* added a function to capitalise the first letter of a string
* using function from a new file
new parameters
* moved test length check to a function in a different file
* moved some funbox validation into its own file
* only showing notifications if the setWordCount returned true
* moved funbox validation to its own file
* setting manual restart when trying to set funbox to nonoe
* moving this validation to before activating the funbox
* returning forcedConfigs along side if current value is allowed
moved infinite check to checkFunboxForcedConfigs
* removed function, replaced by funox validation
* removing duplicates
* throwing if no intersection
* wrong type
* always allowing setting funbox
sometimes it might be possible to update the config
* checking forced configs first, and updating config if possible
only setting funbox to none when couldnt update config
* basic difficulty levels
* xp funbox bonus
* Delete old file
* Difficulty level
* removed console logs
* renamed import, renamed type
* lowercase b for consistency across the codebase
* renamed variable for readability
* renamed for clarity
* converted metadata to object
* changed from beforesubgroup on the command to before list on the subgroup
* using code suggested by bruce
* renamed type
* removed console log
* merch banner fix
* important animation
* updating the icon of "none" funbox command
* removed unnecessary import
* lowercase b
* updated description
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Miodec <jack@monkeytype.com>
* input-controller
* result
* Finishing logic
* Numbers + layoutfluid
* One interface
* Filter results
* tts error on undefined
Extencions like NoScript can partly block scripts on the page.
If speech synthesis is not loaded, notification shows up
without freezing the page
* Improved randomcase
* Prevent dublicates in command line
* Change filter logic
* Prettier
* Convert numbers
* num
* Quote and zen modes
* withWords
* Misc
* Expand funboxes list for pb saving
* Move list to backend
* Move to constants
* Async withWords, checkFunbox tweak
* Prettier
* Forbid nonexistent funboxes
* Disable speech if language is ignored
TtS's init() uses setLanguage()
* canGetPb
* Less circular imports
* Ligatures typo
* Simon says blocks word highlight
* blockWordHighlight backend
* Changed imports
* usesLayout
* JSON schema
* Display notification instead of reseting
* canGetPB
* One getWordHtml
* Dividing properties
* No sync
* blockedModes
* forcedConfig
* Infinitness parameter, list sync
* applyConfig, memory
Remove extra applyConfig somewhere;
Memory in quotes and custom modes
* I lost this code after merging
* Remove arrowKeys
* isFunboxCompatible
* Fix logic
* sync canGetPb
* remove FunboxObjectType
* baloons
* moved cangetpb function to pb utils
* updated the pb check to be easier to understand
* Refactor isFunboxCompatible
* Check modes conflicts
* Strict highlightMode type
* Only one allowed or blocked highlight mode
* More checks
* Undefined only, not false
* Prettier
* Highlight modes
* added intersect helper function
* reworked forced config
- storing allowed modes as an array, not string
- first value will be used if config is outside of the allowed values
- instead of checking if highlight mode is allowed, checking if the whole config is available
- removed the "Finite" forced config and replaced it with "noInfiniteDuration" property
- config event listener now checks every config change, not just highlight mode. this will ensure any future forced configs will work straight out of the box
* ManualRestart in commandline
* fixed funbox commands not correctly showing which funbox is active
* Upd list
* Reduce list
* split funbox into smaller files
moved funbox files into its own folder
* missing none command
* added function to convert camel case to space separated words
* changed config validation to be blocking the change rather than reacting to the change
* reduced code duplication
* allowing sub color flash
* moved keymap key higlighting and flashing into an observable event
* moved tts into a observable event
* passing funbox into config validation funcitons
* replaced getActive with get
* only keeping functions structure in the list, moved the actual function bodies to funbox.ts
done to remove a circular dependency
still need to finish the rest of the funboxes
* removed empty function definitions (typing issues)
* removed unnecessary type
* unnecessary check
* moved mode checking to config validation
* longer notification
* checking funboxes before changing mode
* moved more functions
* fixed incorrect type
* checking funboxes when setting punctuation and numbers
* Rest of funboxes
* fixed funbox commands showing tags text and icon
* checking if funbox can be set with the current config
* better error message
* validating with setting time and words
importing from a new file
* added a function to capitalise the first letter of a string
* using function from a new file
new parameters
* moved test length check to a function in a different file
* moved some funbox validation into its own file
* only showing notifications if the setWordCount returned true
* moved funbox validation to its own file
* setting manual restart when trying to set funbox to nonoe
* moving this validation to before activating the funbox
* returning forcedConfigs along side if current value is allowed
moved infinite check to checkFunboxForcedConfigs
* removed function, replaced by funox validation
* removing duplicates
* throwing if no intersection
* wrong type
* always allowing setting funbox
sometimes it might be possible to update the config
* checking forced configs first, and updating config if possible
only setting funbox to none when couldnt update config
* basic difficulty levels
* xp funbox bonus
* removed console logs
* renamed import, renamed type
* lowercase b for consistency across the codebase
* renamed variable for readability
* renamed for clarity
* converted metadata to object
* changed from beforesubgroup on the command to before list on the subgroup
* using code suggested by bruce
* renamed type
* removed console log
* merch banner fix
* important animation
* updating the icon of "none" funbox command
* removed unnecessary import
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Miodec <jack@monkeytype.com>
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Added quote to english.json
* Add memoize async util
* Stricter types
* type cast
* added getjson function
* removed unnecessary code
removed comments
* ignoring cache if value is undefined
* checking if layouts list exists
* messed up merge
* checking if layouts exist
* throwing if layouts list or layout is undefined
* catching in case layouts or layout is undefined
* catching in case layouts list or layout is undefined
* breaking in case layouts list is undefined
* showing a message if layout list is undefined
* removed console log
* themes list can return undefined
* removed catch from fetch json
* getlayoutslist no longer can return undefined
* console logging then throwing again
* rethrowing with a different message
* try catch
* catch
* try catching
* try catching
* typo
* url fix
* moved definition up
* moved functions up
* moved functions up
* removed unnecessary update
* catching errors
* updated return type
not returning
* try catching
* updated return type
throwing if list ends up undefined
* removed return
* moved functions up
* try catching
* checking if not undefined
* removed unused file
* try catching
* try catching
* rewrote language getting
* rewrote funbox
* try catching
* notification instead of console error
* notification instead of console error
* rewrote fonts
* rewrote challenges
* try catch
* typo
* rewrote contributors and supporters
Co-authored-by: Miodec <jack@monkeytype.com>
* New language: english doubleletter -> A 200-word list only including words that have the same letter used consecutively.
* english doubleletter error, comma syntax fixed!
* english doubleletter -> english_doubleletter
* A list of roughly 200 lorem-ipsum type words generated by AI bots!
* renamed file
* removed duplicates
Co-authored-by: Miodec <jack@monkeytype.com>
* Added 'Add current theme to favorite...' command
* Remove toggle for 'Add current theme to favorite...' command
* Added 'Remove current theme from favorite...' command
* Merge add/remove commands in a single file
* removed dots
* updated icon
* only showing favorite commands if custom theme is disabled
Co-authored-by: Miodec <jack@monkeytype.com>
* More french quotes
Translation:
"text": "You are sitting and you only want to wait, wait only until there is nothing left to wait for: until the night comes, until the hours ring, until the days go by, until the memories fade away",
"source": "A Sleeping Man (1967) by Georges Perec",
"length": 207,
"id": 117
},
{
"text": "I love peanuts. You're drinking a beer and you're sick of the taste. So you eat peanuts. Peanuts are sweet and salty, strong and tender, like a woman. Eating peanuts, it's a really strong feeling. And then you feel like drinking beer again. Peanuts are the perpetual motion within the reach of man,
"source": "JCVD cult quotes from Jean-Claude Van Damme",
"length": 342,
"id": 118
},
{
"text": "To live is to go from one space to another trying as much as possible not to bump into each other.",
"source": "Espèces d'espaces (1974) by Georges Perec",
"length": 100,
"id": 119
},
{
"text": "He was a word killer: he worked on updating the Larousse dictionaries.",
"source": "La Vie mode d'emploi (1978) by Georges Perec",
"length": 84,
"id": 120
},
{
"text": "The law is implacable, but the law is unpredictable. No one is supposed to ignore it, but no one can know it.",
"source": "W. ou le Souvenir d'enfance (1975) by Georges Perec",
"length": 110,
"id": 121
},
{
"text": "You have everything to learn, everything that cannot be learned: solitude, indifference, patience, silence.",
"source": "A Sleeping Man by Georges Perec",
"length": 107,
"id": 122
},
{
"text": "You can be God of the dogs, God of the cats, God of the poor, all you need is a leash, some slack, some fortune, but you will never be master of the tree. You will never be able to but want to become a tree in your turn.",
"source": "A Sleeping Man by Georges Perec",
"length": 229,
"id": 123
},
{
"text": "Yea, though I walk through the valley of the shadow of death, I will fear no evil: for thou art with me, thy rod and thy staff, they comfort me.",
"source": "Psalm 23:4 Darby Bible",
"length": 164,
"id": 124
},
{
"text": "Nature has not made each of us like each other, but different in ability, and fit for this or that purpose.",
"source": "Plato's Republic",
"length": 88,
"id": 125
},
{
"text": "None of the human things are worth taking with great seriousness.",
"source": "Plato's Republic",
"length": 65,
"id": 126
},
{
"text": "True philosophers guard against all the passions of the body, resist them and do not give themselves over to them.",
"source": "Phaedo, 82b by Plato",
"length": 107,
"id": 127
},
{
"text": "Some call the body the tomb of the soul where it is presently buried.",
"source": "Cratylus of Plato",
"length": 106,
"id": 128
}
]
}
* Removed the peanut and word killer quote
Translation of the changes:
id 120
Your room is the most beautiful of the deserted islands, and Paris is a desert that nobody ever crossed. You don't need anything else but this calm, this sleep, this silence, this torpor. Let the days begin and let the days end, let time pass, let your mouth close, let the muscles of your neck, your jaw, your chin, relax completely, let only the heaving of your ribcage, the beating of your heart, still testify to your patient survival.
id 118
Plants, for example, which have no hands and no ears, feel things, vibrations, they are more aware than other species.
* Update french.json
* More french quotes about typing
Translation:
1) She attended a typing school. In front of the school desks, girls of all ages were whispering while a woman sitting at a table was reading aloud... * Les Destinées Sentimentales (1934-1936) by Jacques Chardonne
2) A typist is a person whose striking power is not always a deterrent for her boss. * Dictionnaire français-rosse de Noctuel
* Update french.json
* More french quotes
Translation:
"text": "You are sitting and you only want to wait, wait only until there is nothing left to wait for: until the night comes, until the hours ring, until the days go by, until the memories fade away",
"source": "A Sleeping Man (1967) by Georges Perec",
"length": 207,
"id": 117
},
{
"text": "I love peanuts. You're drinking a beer and you're sick of the taste. So you eat peanuts. Peanuts are sweet and salty, strong and tender, like a woman. Eating peanuts, it's a really strong feeling. And then you feel like drinking beer again. Peanuts are the perpetual motion within the reach of man,
"source": "JCVD cult quotes from Jean-Claude Van Damme",
"length": 342,
"id": 118
},
{
"text": "To live is to go from one space to another trying as much as possible not to bump into each other.",
"source": "Espèces d'espaces (1974) by Georges Perec",
"length": 100,
"id": 119
},
{
"text": "He was a word killer: he worked on updating the Larousse dictionaries.",
"source": "La Vie mode d'emploi (1978) by Georges Perec",
"length": 84,
"id": 120
},
{
"text": "The law is implacable, but the law is unpredictable. No one is supposed to ignore it, but no one can know it.",
"source": "W. ou le Souvenir d'enfance (1975) by Georges Perec",
"length": 110,
"id": 121
},
{
"text": "You have everything to learn, everything that cannot be learned: solitude, indifference, patience, silence.",
"source": "A Sleeping Man by Georges Perec",
"length": 107,
"id": 122
},
{
"text": "You can be God of the dogs, God of the cats, God of the poor, all you need is a leash, some slack, some fortune, but you will never be master of the tree. You will never be able to but want to become a tree in your turn.",
"source": "A Sleeping Man by Georges Perec",
"length": 229,
"id": 123
},
{
"text": "Yea, though I walk through the valley of the shadow of death, I will fear no evil: for thou art with me, thy rod and thy staff, they comfort me.",
"source": "Psalm 23:4 Darby Bible",
"length": 164,
"id": 124
},
{
"text": "Nature has not made each of us like each other, but different in ability, and fit for this or that purpose.",
"source": "Plato's Republic",
"length": 88,
"id": 125
},
{
"text": "None of the human things are worth taking with great seriousness.",
"source": "Plato's Republic",
"length": 65,
"id": 126
},
{
"text": "True philosophers guard against all the passions of the body, resist them and do not give themselves over to them.",
"source": "Phaedo, 82b by Plato",
"length": 107,
"id": 127
},
{
"text": "Some call the body the tomb of the soul where it is presently buried.",
"source": "Cratylus of Plato",
"length": 106,
"id": 128
}
]
}
* Removed the peanut and word killer quote
Translation of the changes:
id 120
Your room is the most beautiful of the deserted islands, and Paris is a desert that nobody ever crossed. You don't need anything else but this calm, this sleep, this silence, this torpor. Let the days begin and let the days end, let time pass, let your mouth close, let the muscles of your neck, your jaw, your chin, relax completely, let only the heaving of your ribcage, the beating of your heart, still testify to your patient survival.
id 118
Plants, for example, which have no hands and no ears, feel things, vibrations, they are more aware than other species.
* Update french.json
* Save speed stats in leaderboard update
Saves a histogram data structure of speeds for buckets rounded to the nearest 10.
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* API endpoint to get public speed stats
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Add APE class for public stats (WIP)
I created an APE class for accessing public stats. Also stubbed getting and showing the public speed stats on the about page. Haven't implemented the histogram yet though.
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Draw histogram for global speed stats
On about page
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Update histogram colors on theme change
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Fixed out-of-order data in speed histogram
Data was not sorted correctly, which resulted in an incorrect histogram being drawn.
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Public speed stats PR fixes
Small fixes based on PR feedback:
- changed _req to req
- removed unnecessary client version header
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Add endpoint for typing stats
New endpoint to retrieve the public typing stats such as global count of tests completed.
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Renamed public-stats to public
Except in cases where it would cause an identifier named `public` as this is forbidden in strict mode.
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Add stats section to about page
In this commit:
- add a section above about called stats
- display typing stats in three columns
- underneath show the histogram of speeds on english time 60
- make chart responsive
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Add unit test for Public DAL
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* updated styling
* only requesting data once per session
* going one column on narrow screens
* added option to specify number of decimal poitns
* just showing million instead of abbreviating
updated structure
updated styling
Signed-off-by: Brian Evans <ebrian101@gmail.com>
Co-authored-by: Miodec <jack@monkeytype.com>
* New language: english doubleletter -> A 200-word list only including words that have the same letter used consecutively.
* english doubleletter error, comma syntax fixed!
* english doubleletter -> english_doubleletter
* Add English quote
* Add more English quote
* Add more English quotes from Eighty Six
* Fix quote length
* Add more quotes
* Remove some quotes
* Remove more quotes