mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-09-11 00:57:01 +08:00
commit
a4134c3949
13 changed files with 2806 additions and 1242 deletions
|
@ -70,7 +70,7 @@ $(`${popup} .inputs .check input`).change(() => {
|
|||
|
||||
$(`${popup} textarea`).keypress((e) => {
|
||||
if (e.code === "Enter" && e.ctrlKey) {
|
||||
$(`${popup} .button`).click();
|
||||
$(`${popup} .button.apply`).click();
|
||||
}
|
||||
});
|
||||
|
||||
|
|
270
src/sass/media-queries.scss
Normal file
270
src/sass/media-queries.scss
Normal file
|
@ -0,0 +1,270 @@
|
|||
|
||||
@media only screen and (max-width: 1050px) {
|
||||
#centerContent {
|
||||
.pageSettings .section.themes .buttons,
|
||||
.pageSettings .section.language .buttons,
|
||||
.pageSettings .section.layout .buttons,
|
||||
.pageSettings .section.keymapLayout .buttons,
|
||||
.pageSettings .section.keymapLegendStyle .buttons,
|
||||
.pageSettings .section.fontFamily .buttons,
|
||||
.pageSettings .section.funbox .buttons,
|
||||
.pageSettings .section.keymapStyle .buttons,
|
||||
.pageSettings .section.languageGroups .buttons
|
||||
{
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
#result .morestats {
|
||||
gap: 1rem;
|
||||
grid-template-rows: 1fr 1fr;
|
||||
}
|
||||
}
|
||||
#supportMe {
|
||||
width: 90vw !important;
|
||||
.buttons {
|
||||
.button {
|
||||
.icon {
|
||||
font-size: 3rem !important;
|
||||
line-height: 3rem !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 800px) {
|
||||
.settingsGroup.quickNav{
|
||||
display: none;
|
||||
}
|
||||
#centerContent {
|
||||
#top {
|
||||
grid-template-areas:
|
||||
"logo config"
|
||||
"menu config";
|
||||
grid-template-columns: auto auto;
|
||||
.logo {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#menu {
|
||||
gap: 0.5rem;
|
||||
font-size: 0.8rem;
|
||||
line-height: 0.8rem;
|
||||
|
||||
.icon-button {
|
||||
padding: 0.25rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
#bottom{
|
||||
.leftright{
|
||||
.left{
|
||||
gap: 0.25rem 1rem;
|
||||
display: grid;
|
||||
grid-template-rows: 1fr 1fr;
|
||||
grid-auto-flow: column;
|
||||
}
|
||||
.right{
|
||||
display: grid;
|
||||
grid-template-rows: 1fr 1fr;
|
||||
gap: 0.25rem 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.pageAbout .section .supporters, .pageAbout .section .contributors{
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
|
||||
}
|
||||
|
||||
.pageSettings .section.customBackgroundFilter {
|
||||
.groups {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.saveContainer {
|
||||
grid-column: -1/-2;
|
||||
}
|
||||
}
|
||||
|
||||
#commandLine,
|
||||
#commandLineInput {
|
||||
width: 600px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 650px) {
|
||||
.pageSettings .section {
|
||||
grid-template-columns: 1fr;
|
||||
grid-template-areas:
|
||||
"title title"
|
||||
"text text"
|
||||
"buttons buttons";
|
||||
|
||||
& > .text {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
#result {
|
||||
.buttons {
|
||||
grid-template-rows: 1fr 1fr;
|
||||
#nextTestButton {
|
||||
grid-column: 1/5;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#supportMe {
|
||||
width: 80vw !important;
|
||||
.buttons {
|
||||
grid-template-columns: none !important;
|
||||
.button {
|
||||
grid-template-columns: auto auto;
|
||||
align-items: center;
|
||||
.icon {
|
||||
font-size: 2rem !important;
|
||||
line-height: 2rem !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#centerContent {
|
||||
.pageSettings .section.themes .buttons,
|
||||
.pageSettings .section.language .buttons,
|
||||
.pageSettings .section.layout .buttons,
|
||||
.pageSettings .section.keymapLayout .buttons,
|
||||
.pageSettings .section.keymapLegendStyle .buttons,
|
||||
.pageSettings .section.fontFamily .buttons,
|
||||
.pageSettings .section.funbox .buttons,
|
||||
.pageSettings .section.keymapStyle .buttons,
|
||||
.pageSettings .section.languageGroups .buttons {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
.pageAbout .section .supporters, .pageAbout .section .contributors{
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
#top .logo .bottom{
|
||||
margin-top: 0;
|
||||
}
|
||||
#middle {
|
||||
#result {
|
||||
grid-template-areas:
|
||||
"stats stats"
|
||||
"chart chart"
|
||||
"morestats morestats";
|
||||
.stats {
|
||||
grid-template-areas: "wpm acc";
|
||||
gap: 4rem;
|
||||
}
|
||||
.stats.morestats {
|
||||
grid-template-rows: 1fr 1fr 1fr;
|
||||
gap: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
#commandLine,
|
||||
#commandLineInput {
|
||||
width: 500px !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media only screen and (max-width: 500px) {
|
||||
|
||||
.pageAbout .section .supporters, .pageAbout .section .contributors{
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
|
||||
#top {
|
||||
align-items: self-end;
|
||||
.logo {
|
||||
.bottom {
|
||||
font-size: 1.75rem;
|
||||
line-height: 1.75rem;
|
||||
margin-top: 0;
|
||||
}
|
||||
.top {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
#menu {
|
||||
.icon-button {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
#bottom{
|
||||
.leftright{
|
||||
.left{
|
||||
gap: 0.25rem 1rem;
|
||||
display: grid;
|
||||
grid-template-rows: 1fr 1fr 1fr;
|
||||
grid-auto-flow: column;
|
||||
}
|
||||
.right{
|
||||
display: grid;
|
||||
grid-template-rows: 1fr 1fr 1fr;
|
||||
gap: 0.25rem 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
#centerContent {
|
||||
padding: 1rem;
|
||||
}
|
||||
#result {
|
||||
.buttons {
|
||||
grid-template-rows: 1fr 1fr 1fr;
|
||||
#nextTestButton {
|
||||
grid-column: 1/3;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
#commandLine,
|
||||
#commandLineInput {
|
||||
width: 400px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 400px) {
|
||||
|
||||
#top .logo .bottom{
|
||||
font-size: 1.5rem;
|
||||
line-height: 1.5rem;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
#top .config {
|
||||
grid-gap: .25rem;
|
||||
.group .buttons{
|
||||
font-size: .65rem;
|
||||
line-height: .65rem;
|
||||
}
|
||||
}
|
||||
|
||||
#bottom{
|
||||
font-size: .65rem;
|
||||
}
|
||||
|
||||
#commandLine,
|
||||
#commandLineInput {
|
||||
width: 300px !important;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media (hover: none) and (pointer: coarse) {
|
||||
#commandLineMobileButton {
|
||||
display: block;
|
||||
}
|
||||
}
|
|
@ -659,6 +659,7 @@ a:hover {
|
|||
padding: 5rem 0;
|
||||
|
||||
#wordFilterPopup {
|
||||
color: var(--sub-color);
|
||||
background: var(--bg-color);
|
||||
border-radius: var(--roundness);
|
||||
padding: 2rem;
|
||||
|
@ -1775,20 +1776,22 @@ key {
|
|||
|
||||
.leftright {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
grid-template-columns: auto auto;
|
||||
gap: 1rem;
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.left {
|
||||
text-align: left;
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
}
|
||||
.right {
|
||||
text-align: right;
|
||||
// display: flex;
|
||||
// gap: 1rem;
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
// align-items: center;
|
||||
// justify-content: flex-end;
|
||||
justify-content: flex-end;
|
||||
.current-theme {
|
||||
transition: 0.25s;
|
||||
text-decoration: none;
|
||||
|
@ -2329,6 +2332,7 @@ key {
|
|||
line-height: 1rem;
|
||||
transition: 0.125s;
|
||||
justify-content: center;
|
||||
user-select: none;
|
||||
|
||||
.fas {
|
||||
margin-right: 0.5rem;
|
||||
|
@ -2643,14 +2647,28 @@ key {
|
|||
display: grid;
|
||||
gap: 2rem;
|
||||
|
||||
.created{
|
||||
text-align: center;
|
||||
color: var(--sub-color);
|
||||
a{
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.section {
|
||||
display: grid;
|
||||
gap: 0.5rem;
|
||||
gap: 0.25rem;
|
||||
|
||||
.supporters {
|
||||
.title{
|
||||
font-size: 2rem;
|
||||
line-height: 2rem;
|
||||
color: var(--sub-color);
|
||||
margin: 1rem 0;
|
||||
}
|
||||
|
||||
.supporters, .contributors {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr;
|
||||
justify-items: center;
|
||||
gap: 0.25rem;
|
||||
color: var(--text-color);
|
||||
}
|
||||
|
@ -3551,183 +3569,6 @@ key {
|
|||
transition: 0.25s;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1050px) {
|
||||
#centerContent {
|
||||
.pageSettings .section.themes .buttons,
|
||||
.pageSettings .section.language .buttons,
|
||||
.pageSettings .section.layout .buttons,
|
||||
.pageSettings .section.keymapLayout .buttons,
|
||||
.pageSettings .section.keymapLegendStyle .buttons,
|
||||
.pageSettings .section.fontFamily .buttons,
|
||||
.pageSettings .section.funbox .buttons,
|
||||
.pageSettings .section.keymapStyle .buttons {
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
#result .morestats {
|
||||
gap: 1rem;
|
||||
grid-template-rows: 1fr 1fr;
|
||||
}
|
||||
}
|
||||
#supportMe {
|
||||
width: 90vw !important;
|
||||
.buttons {
|
||||
.button {
|
||||
.icon {
|
||||
font-size: 3rem !important;
|
||||
line-height: 3rem !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 800px) {
|
||||
#centerContent {
|
||||
#top {
|
||||
grid-template-areas:
|
||||
"logo config"
|
||||
"menu config";
|
||||
.logo {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#menu {
|
||||
gap: 0.5rem;
|
||||
font-size: 0.8rem;
|
||||
line-height: 0.8rem;
|
||||
|
||||
.icon-button {
|
||||
padding: 0.25rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.pageSettings .section.customBackgroundFilter {
|
||||
.groups {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.saveContainer {
|
||||
grid-column: -1/-2;
|
||||
}
|
||||
}
|
||||
|
||||
#commandLine,
|
||||
#commandLineInput {
|
||||
width: 500px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 650px) {
|
||||
.pageSettings .section {
|
||||
grid-template-columns: 1fr;
|
||||
grid-template-areas:
|
||||
"title title"
|
||||
"text text"
|
||||
"buttons buttons";
|
||||
|
||||
& > .text {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
#result {
|
||||
.buttons {
|
||||
grid-template-rows: 1fr 1fr;
|
||||
#nextTestButton {
|
||||
grid-column: 1/5;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#supportMe {
|
||||
width: 80vw !important;
|
||||
.buttons {
|
||||
grid-template-columns: none !important;
|
||||
.button {
|
||||
grid-template-columns: auto auto;
|
||||
align-items: center;
|
||||
.icon {
|
||||
font-size: 2rem !important;
|
||||
line-height: 2rem !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#commandLine,
|
||||
#commandLineInput {
|
||||
width: 400px !important;
|
||||
}
|
||||
|
||||
#centerContent {
|
||||
.pageSettings .section.themes .buttons,
|
||||
.pageSettings .section.language .buttons,
|
||||
.pageSettings .section.layout .buttons,
|
||||
.pageSettings .section.keymapLayout .buttons,
|
||||
.pageSettings .section.keymapLegendStyle .buttons,
|
||||
.pageSettings .section.fontFamily .buttons,
|
||||
.pageSettings .section.funbox .buttons,
|
||||
.pageSettings .section.keymapStyle .buttons {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
#middle {
|
||||
#result {
|
||||
grid-template-areas:
|
||||
"stats stats"
|
||||
"chart chart"
|
||||
"morestats morestats";
|
||||
.stats {
|
||||
grid-template-areas: "wpm acc";
|
||||
gap: 4rem;
|
||||
}
|
||||
.stats.morestats {
|
||||
grid-template-rows: 1fr 1fr 1fr;
|
||||
gap: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 500px) {
|
||||
#top {
|
||||
.logo {
|
||||
.bottom {
|
||||
font-size: 1.75rem;
|
||||
line-height: 1.75rem;
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
.top {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
#menu {
|
||||
.icon-button {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
#centerContent {
|
||||
padding: 1rem;
|
||||
}
|
||||
#result {
|
||||
.buttons {
|
||||
grid-template-rows: 1fr 1fr 1fr;
|
||||
#nextTestButton {
|
||||
grid-column: 1/3;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.keymap {
|
||||
display: grid;
|
||||
|
@ -3915,11 +3756,10 @@ key {
|
|||
// }
|
||||
}
|
||||
|
||||
// .matrix {
|
||||
// display: flex;
|
||||
// justify-content: left;
|
||||
// margin-left: 4.51rem;
|
||||
// }
|
||||
#nitropay_ad_left,
|
||||
#nitropay_ad_right {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.keymap {
|
||||
&.matrix {
|
||||
|
@ -4033,34 +3873,3 @@ key {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: none) and (pointer: coarse) {
|
||||
#commandLineMobileButton {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
#nitropay_ad_left,
|
||||
#nitropay_ad_right {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
// .adcontainer{
|
||||
// position: relative;
|
||||
// &>div{
|
||||
// top: 0px;
|
||||
// left: 0px;
|
||||
// position: absolute;
|
||||
// }
|
||||
// .bg{
|
||||
// background: var(--bg-color);
|
||||
// color: var(--sub-color);
|
||||
// display: grid;
|
||||
// align-items: center;
|
||||
// justify-content: center;
|
||||
// height: 100%;
|
||||
// width: 100%;
|
||||
// font-size: .75rem;
|
||||
// user-select: none;
|
||||
// }
|
||||
// }
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
/>
|
||||
<link rel="stylesheet" href="css/balloon.css" />
|
||||
<link rel="stylesheet" href="css/style.css" />
|
||||
<link rel="stylesheet" href="css/media-queries.css" />
|
||||
<link rel="stylesheet" href="themes/serika_dark.css" id="currentTheme" />
|
||||
<link rel="stylesheet" href="" id="funBoxTheme" />
|
||||
<link id="favicon" rel="shortcut icon" href="images/fav.png" />
|
||||
|
@ -1473,8 +1474,12 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="page pageAbout hidden">
|
||||
<div class="created">
|
||||
Created with love by Miodec. <a href="#supporters_title">Supported</a> and <a href="#contributors_title">expanded</a> by many awesome people. Launched on 15th of May, 2020.
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1>about</h1>
|
||||
<div class="title">about</div>
|
||||
<!-- <h1>about</h1> -->
|
||||
<p>
|
||||
Monkeytype is a minimalistic typing test, featuring many test
|
||||
modes, an account system to save your typing speed history and
|
||||
|
@ -1499,7 +1504,7 @@
|
|||
<key>enter</key>
|
||||
(or just
|
||||
<key>tab</key>
|
||||
if you have (
|
||||
if you have
|
||||
<a href="settings">quick tab mode enabled</a>
|
||||
) to restart the typing test. Open the command line by pressing
|
||||
<key>esc</key>
|
||||
|
@ -1567,12 +1572,12 @@
|
|||
</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1>credits</h1>
|
||||
<div class="title">credits</div>
|
||||
<p>
|
||||
<a href="https://www.reddit.com/user/montydrei" target="_blank">
|
||||
montydrei
|
||||
Montydrei
|
||||
</a>
|
||||
- name suggestion
|
||||
for the name suggestion
|
||||
</p>
|
||||
<p>
|
||||
<a
|
||||
|
@ -1584,6 +1589,9 @@
|
|||
who provided valuable feedback on the original reddit post for
|
||||
the prototype of this website
|
||||
</p>
|
||||
<p>
|
||||
<a href="#supporters_title">Supporters</a> who helped financially by donating, enabling optional ads or buying merch
|
||||
</p>
|
||||
<p>
|
||||
<a
|
||||
href="https://github.com/Miodec/monkeytype/graphs/contributors"
|
||||
|
@ -1591,11 +1599,11 @@
|
|||
Contributors
|
||||
</a>
|
||||
on GitHub that have helped with implementing various features,
|
||||
adding themes and more.
|
||||
adding themes and more
|
||||
</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1>supporters</h1>
|
||||
<h1 id="supporters_title">supporters</h1>
|
||||
<div class="supporters">
|
||||
<div>Not Gate</div>
|
||||
<div>Corey</div>
|
||||
|
@ -1676,6 +1684,166 @@
|
|||
<div>Michael</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1 id="contributors_title">contributors</h1>
|
||||
<div class="contributors">
|
||||
<div>typerqeo</div>
|
||||
<div>bhomie</div>
|
||||
<div>corey-b</div>
|
||||
<div>UnrealApex</div>
|
||||
<div>willerbee</div>
|
||||
<div>dmartin-tech</div>
|
||||
<div>SeerLite</div>
|
||||
<div>FakeDazon</div>
|
||||
<div>a1usha</div>
|
||||
<div>Brachyurus</div>
|
||||
<div>0x8b</div>
|
||||
<div>seaerchin</div>
|
||||
<div>ryan-harrington</div>
|
||||
<div>Smithster</div>
|
||||
<div>Marco-Pagani</div>
|
||||
<div>CrumblyLiquid</div>
|
||||
<div>Jack92829</div>
|
||||
<div>xZa-k</div>
|
||||
<div>avi123nash</div>
|
||||
<div>bataak</div>
|
||||
<div>Saint-dev</div>
|
||||
<div>ThatOneCalculator</div>
|
||||
<div>mwahlig</div>
|
||||
<div>zachy-ho</div>
|
||||
<div>aviegdown</div>
|
||||
<div>ramnathk</div>
|
||||
<div>GFruit</div>
|
||||
<div>Killer8Hyper</div>
|
||||
<div>MaticSulc</div>
|
||||
<div>joshuamango</div>
|
||||
<div>Ahmad-A0</div>
|
||||
<div>christophersarmiento</div>
|
||||
<div>71xn</div>
|
||||
<div>jacekdobrowolski</div>
|
||||
<div>leduyquang753</div>
|
||||
<div>Maclogger</div>
|
||||
<div>iwa</div>
|
||||
<div>TayIorRobinson</div>
|
||||
<div>vuong-buihv</div>
|
||||
<div>barthakstege</div>
|
||||
<div>l4ssc</div>
|
||||
<div>throwawaywords</div>
|
||||
<div>Jonny-exe</div>
|
||||
<div>OctahedronV2</div>
|
||||
<div>iitsalex</div>
|
||||
<div>RealCyGuy</div>
|
||||
<div>Inirdin</div>
|
||||
<div>jkjrmlg</div>
|
||||
<div>kunal-rp</div>
|
||||
<div>KungPaoChick</div>
|
||||
<div>MakerJake01</div>
|
||||
<div>MysteriousLog6</div>
|
||||
<div>Octarine-Phaneron</div>
|
||||
<div>tawtis</div>
|
||||
<div>Vitaman02</div>
|
||||
<div>BarePotato</div>
|
||||
<div>alegottu</div>
|
||||
<div>s1mple-Lemon</div>
|
||||
<div>Alenygam</div>
|
||||
<div>fuwn</div>
|
||||
<div>minerscale</div>
|
||||
<div>aditya1rawat</div>
|
||||
<div>ammarptn</div>
|
||||
<div>ariebh</div>
|
||||
<div>bsamseth</div>
|
||||
<div>bool3max</div>
|
||||
<div>dCubelic</div>
|
||||
<div>elswenson</div>
|
||||
<div>FabianSt305</div>
|
||||
<div>Fraserbc</div>
|
||||
<div>shinze</div>
|
||||
<div>gkeep</div>
|
||||
<div>JosueLeovani</div>
|
||||
<div>dtuukkanen</div>
|
||||
<div>lucas-fern</div>
|
||||
<div>Magical-Penguin</div>
|
||||
<div>mendelmaleh</div>
|
||||
<div>NoCrypt</div>
|
||||
<div>nullaf</div>
|
||||
<div>chireia</div>
|
||||
<div>sohamb117</div>
|
||||
<div>stevep99</div>
|
||||
<div>mintlodica</div>
|
||||
<div>miyukowo</div>
|
||||
<div>g-harel</div>
|
||||
<div>kiriDevs</div>
|
||||
<div>krsntn</div>
|
||||
<div>baulml</div>
|
||||
<div>ryevertigo</div>
|
||||
<div>Fowl95</div>
|
||||
<div>SoulNinja-dev</div>
|
||||
<div>AfonsoVReis</div>
|
||||
<div>popey456963</div>
|
||||
<div>AlirezaTheBruh</div>
|
||||
<div>anhduck14</div>
|
||||
<div>cBachoo</div>
|
||||
<div>beckxie</div>
|
||||
<div>thescripted</div>
|
||||
<div>CarinaChenot</div>
|
||||
<div>Bregoliii</div>
|
||||
<div>Cosmeeeen</div>
|
||||
<div>danhogan</div>
|
||||
<div>danii</div>
|
||||
<div>David-Mordechai</div>
|
||||
<div>EmNudge</div>
|
||||
<div>kwfk</div>
|
||||
<div>gavinmn</div>
|
||||
<div>GioSDA</div>
|
||||
<div>GuyClicking</div>
|
||||
<div>HayataSama</div>
|
||||
<div>zaxophone</div>
|
||||
<div>Mollerz</div>
|
||||
<div>jeremygautama</div>
|
||||
<div>cincodenada</div>
|
||||
<div>JonesSagabaen</div>
|
||||
<div>kadenscott</div>
|
||||
<div>GMKanat</div>
|
||||
<div>lukew3</div>
|
||||
<div>narze</div>
|
||||
<div>Meimersdorfer</div>
|
||||
<div>mia-cx</div>
|
||||
<div>nikzzzz</div>
|
||||
<div>OldMope</div>
|
||||
<div>Oskar283</div>
|
||||
<div>paulhchoi</div>
|
||||
<div>pserey</div>
|
||||
<div>pjrelex</div>
|
||||
<div>18praneeth</div>
|
||||
<div>RebonackAl</div>
|
||||
<div>rhesamu</div>
|
||||
<div>samyak039</div>
|
||||
<div>sergiathanzo</div>
|
||||
<div>phrohdoh</div>
|
||||
<div>BlueGone</div>
|
||||
<div>tsara27</div>
|
||||
<div>vansul</div>
|
||||
<div>zekth</div>
|
||||
<div>voroskoi</div>
|
||||
<div>andrewtran1995</div>
|
||||
<div>angularorbit</div>
|
||||
<div>aoaaceai</div>
|
||||
<div>bilfri</div>
|
||||
<div>gwenzek</div>
|
||||
<div>iokiou</div>
|
||||
<div>kikuKeii</div>
|
||||
<div>kokaloo</div>
|
||||
<div>nextZed</div>
|
||||
<div>redarguireda</div>
|
||||
<div>sudoerena</div>
|
||||
<div>thuanpham2311</div>
|
||||
<div>Rougemoot</div>
|
||||
<div>wRadion</div>
|
||||
<div>yaazkal</div>
|
||||
<div>zigotica</div>
|
||||
<div>cinoss</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="page pageSettings hidden">
|
||||
<div class="scrollToTopButton">
|
||||
|
@ -3872,36 +4040,31 @@
|
|||
</div>
|
||||
<div class="leftright">
|
||||
<div class="left">
|
||||
<div>
|
||||
<i class="far fa-fw fa-heart"></i>
|
||||
Crafted by Miodec
|
||||
</div>
|
||||
<div>
|
||||
<i class="fas fa-fw fa-code"></i>
|
||||
Contribute on
|
||||
<a href="https://github.com/Miodec/monkeytype" target="_blank">
|
||||
GitHub
|
||||
</a>
|
||||
</div>
|
||||
<div>
|
||||
<i class="fab fa-fw fa-discord"></i>
|
||||
Join the
|
||||
<a href="https://www.discord.gg/monkeytype" class="discordLink">
|
||||
Discord server
|
||||
<a href="https://www.discord.gg/monkeytype" target="_blank" class="discordLink">
|
||||
Discord
|
||||
</a>
|
||||
</div>
|
||||
<div>
|
||||
<i class="fab fa-fw fa-twitter"></i>
|
||||
<a href="https://twitter.com/monkeytypegame" target="_blank">
|
||||
Twitter
|
||||
</a>
|
||||
</div>
|
||||
<div>
|
||||
<i class="fas fa-fw fa-donate"></i>
|
||||
<span id="supportMeButton">Support this project</span>
|
||||
<!-- <a href="https://www.patreon.com/monkeytype">Patreon</a>
|
||||
, via
|
||||
<a href="https://www.paypal.me/jackbartnik" target="_blank">
|
||||
PayPal
|
||||
</a>
|
||||
or by
|
||||
<a href="https://monkeytype.store" target="_blank">
|
||||
buying merch
|
||||
</a> -->
|
||||
<span id="supportMeButton">Donate</span>
|
||||
</div>
|
||||
<div>
|
||||
<i class="fas fa-user-shield"></i>
|
||||
<a href="privacy-policy.html" target="_blank">Privacy Policy</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
|
@ -3919,10 +4082,6 @@
|
|||
<i class="fas fa-code-branch"></i>
|
||||
<span class="version">version</span>
|
||||
</div>
|
||||
<div>
|
||||
<i class="fas fa-user-shield"></i>
|
||||
<a href="privacy-policy.html">Privacy Policy</a>
|
||||
</div>
|
||||
<!-- <div>
|
||||
<i class="fas fa-file"></i>
|
||||
Terms & Conditions
|
||||
|
|
|
@ -146,6 +146,10 @@
|
|||
{
|
||||
"name": "maori",
|
||||
"languages": ["maori_1k"]
|
||||
},
|
||||
{
|
||||
"name": "catalan",
|
||||
"languages": ["catalan", "catalan_1k"]
|
||||
},
|
||||
{
|
||||
"name": "code",
|
||||
|
|
|
@ -68,6 +68,8 @@
|
|||
,"yoruba_1k"
|
||||
,"swahili_1k"
|
||||
,"maori_1k"
|
||||
,"catalan"
|
||||
,"catalan_1k"
|
||||
,"lojban_gismu"
|
||||
,"lojban_cmavo"
|
||||
,"lithuanian"
|
||||
|
|
206
static/languages/catalan.json
Normal file
206
static/languages/catalan.json
Normal file
|
@ -0,0 +1,206 @@
|
|||
{
|
||||
"name": "catalan",
|
||||
"leftToRight": true,
|
||||
"words": [
|
||||
"de",
|
||||
"la",
|
||||
"i",
|
||||
"el",
|
||||
"a",
|
||||
"l'",
|
||||
"en",
|
||||
"que",
|
||||
"d'",
|
||||
"va",
|
||||
"del",
|
||||
"per",
|
||||
"les",
|
||||
"els",
|
||||
"un",
|
||||
"amb",
|
||||
"es",
|
||||
"al",
|
||||
"una",
|
||||
"és",
|
||||
"com",
|
||||
"dels",
|
||||
"més",
|
||||
"ser",
|
||||
"seu",
|
||||
"van",
|
||||
"o",
|
||||
"no",
|
||||
"s'",
|
||||
"seva",
|
||||
"fou",
|
||||
"entre",
|
||||
"també",
|
||||
"però",
|
||||
"als",
|
||||
"després",
|
||||
"ha",
|
||||
"aquest",
|
||||
"fins",
|
||||
"any",
|
||||
"són",
|
||||
"hi",
|
||||
"pel",
|
||||
"aquesta",
|
||||
"durant",
|
||||
"on",
|
||||
"era",
|
||||
"part",
|
||||
"altres",
|
||||
"anys",
|
||||
"gran",
|
||||
"ciutat",
|
||||
"cap",
|
||||
"des",
|
||||
"seus",
|
||||
"tot",
|
||||
"estat",
|
||||
"qual",
|
||||
"segle",
|
||||
"sobre",
|
||||
"quan",
|
||||
"guerra",
|
||||
"ja",
|
||||
"havia",
|
||||
"molt",
|
||||
"rei",
|
||||
"dos",
|
||||
"primer",
|
||||
"nom",
|
||||
"fer",
|
||||
"se",
|
||||
"així",
|
||||
"li",
|
||||
"sant",
|
||||
"encara",
|
||||
"pels",
|
||||
"primera",
|
||||
"seves",
|
||||
"contra",
|
||||
"té",
|
||||
"partit",
|
||||
"està",
|
||||
"mateix",
|
||||
"forma",
|
||||
"pot",
|
||||
"nord",
|
||||
"tres",
|
||||
"temps",
|
||||
"fill",
|
||||
"han",
|
||||
"només",
|
||||
"dues",
|
||||
"si",
|
||||
"sota",
|
||||
"general",
|
||||
"lloc",
|
||||
"això",
|
||||
"Barcelona",
|
||||
"alguns",
|
||||
"govern",
|
||||
"poder",
|
||||
"uns",
|
||||
"aquests",
|
||||
"mort",
|
||||
"nou",
|
||||
"sud",
|
||||
"tots",
|
||||
"fet",
|
||||
"sense",
|
||||
"França",
|
||||
"grup",
|
||||
"tant",
|
||||
"terme",
|
||||
"fa",
|
||||
"tenir",
|
||||
"segons",
|
||||
"món",
|
||||
"regne",
|
||||
"exèrcit",
|
||||
"segona",
|
||||
"abans",
|
||||
"mentre",
|
||||
"quals",
|
||||
"aquestes",
|
||||
"família",
|
||||
"Catalunya",
|
||||
"país",
|
||||
"eren",
|
||||
"poden",
|
||||
"diferents",
|
||||
"nova",
|
||||
"molts",
|
||||
"església",
|
||||
"major",
|
||||
"club",
|
||||
"manera",
|
||||
"estats",
|
||||
"diversos",
|
||||
"grans",
|
||||
"què",
|
||||
"arribar",
|
||||
"troba",
|
||||
"població",
|
||||
"sistema",
|
||||
"poble",
|
||||
"foren",
|
||||
"època",
|
||||
"haver",
|
||||
"cada",
|
||||
"eleccions",
|
||||
"diverses",
|
||||
"obra",
|
||||
"partir",
|
||||
"tipus",
|
||||
"riu",
|
||||
"vida",
|
||||
"dia",
|
||||
"quatre",
|
||||
"poc",
|
||||
"regió",
|
||||
"exemple",
|
||||
"batalla",
|
||||
"altre",
|
||||
"Espanya",
|
||||
"Joan",
|
||||
"actualment",
|
||||
"tenen",
|
||||
"dins",
|
||||
"llavors",
|
||||
"centre",
|
||||
"algunes",
|
||||
"important",
|
||||
"altra",
|
||||
"terra",
|
||||
"antic",
|
||||
"tenia",
|
||||
"zona",
|
||||
"obres",
|
||||
"estava",
|
||||
"pare",
|
||||
"qui",
|
||||
"ara",
|
||||
"havien",
|
||||
"començar",
|
||||
"història",
|
||||
"morir",
|
||||
"nacional",
|
||||
"final",
|
||||
"música",
|
||||
"majoria",
|
||||
"Europa",
|
||||
"posteriorment",
|
||||
"alemanya",
|
||||
"principal",
|
||||
"finalment",
|
||||
"passar",
|
||||
"punt",
|
||||
"territori",
|
||||
"illa",
|
||||
"unió",
|
||||
]
|
||||
}
|
1006
static/languages/catalan_1k.json
Normal file
1006
static/languages/catalan_1k.json
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -30,6 +30,24 @@
|
|||
"source": "Basic React.js Example",
|
||||
"length": 111,
|
||||
"id": 4
|
||||
},
|
||||
{
|
||||
"text": "const arrayToHtmlList = (arr, listID) =>\\n\\t(el => (\\n\\t\\t(el = document.querySelector('#' + listID)),\\n\\t\\t(el.innerHTML += arr.map(item => `<li>${item}</li>`).join(''))\\n\\t))();",
|
||||
"source": "GitHub Gist - fatosmorina/array_to_html.js",
|
||||
"length": 179,
|
||||
"id": 5
|
||||
},
|
||||
{
|
||||
"text": "subdivide(quadrant) {\\n\\tswitch (quadrant) {\\n\\t\\tcase 'ne':\\n\\t\\t\\treturn new Rectangle(this.x + this.w / 4, this.y - this.h / 4, this.w / 2, this.h / 2);\\n\\t\\tcase 'nw':\\n\\t\\t\\treturn new Rectangle(this.x - this.w / 4, this.y - this.h / 4, this.w / 2, this.h / 2);\\n\\t\\tcase 'se':\\n\\t\\t\\treturn new Rectangle(this.x + this.w / 4, this.y + this.h / 4, this.w / 2, this.h / 2);\\n\\t\\tcase 'sw':\\n\\t\\treturn new Rectangle(this.x - this.w / 4, this.y + this.h / 4, this.w / 2, this.h / 2);\\n\\t}\\n}",
|
||||
"source": "Github - CodingTrain/QuadTree",
|
||||
"length": 494,
|
||||
"id": 6
|
||||
},
|
||||
{
|
||||
"text": "canvas.parent('rgb-Canvas');\\nlet colors = [];\\nlet labels = [];\\nfor (let record of data.entries) {\\n\\tlet col = [record.r / 255, record.g / 255, record.b / 255];\\n\\tcolors.push(col);\\n\\tlabels.push(labelList.indexOf(record.label));\\n}",
|
||||
"source": "GitHub - CodingTrain/ColorClassifer-TensorFlow.js",
|
||||
"length": 236,
|
||||
"id": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
47
static/quotes/code_python.json
Normal file
47
static/quotes/code_python.json
Normal file
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"language": "code_python",
|
||||
"groups": [
|
||||
[0, 100],
|
||||
[101, 300],
|
||||
[301, 600],
|
||||
[601, 9999]
|
||||
],
|
||||
"quotes": [
|
||||
{
|
||||
"text": "class Person:\\n\\tdef __init__(self, name, age):\\n\\t\\tself.name = name\\n\\t\\tself.age = age",
|
||||
"source": "w3schools - Python Classes/Objects",
|
||||
"id": 1,
|
||||
"length": 89
|
||||
},
|
||||
{
|
||||
"text": "def my_function(food):\\n\\tfor x in food:\\n\\t\\tprint(x)\\n\\nfruits = [\"apple\", \"banana\", \"cherry\"]\\nmy_function(fruits)",
|
||||
"source": "w3schools - Python functions",
|
||||
"id": 2,
|
||||
"length": 117
|
||||
},
|
||||
{
|
||||
"text": "f = open(\"demofile.txt\", \"r\")\\nprint(f.readline())\\nf.close()",
|
||||
"source": "w3schools - Python Read File",
|
||||
"id": 3,
|
||||
"length": 61
|
||||
},
|
||||
{
|
||||
"text": "def solveSudoku(sudoku, i=0, j=0):\\n\\ti, j = findNextCellToFill(sudoku)\\n\\tif i == -1:\\n\\t\\treturn True\\n\\tfor e in range(1, 10):\\n\\t\\tif isValid(sudoku, i, j, e):\\n\\t\\t\\tsudoku[i][j] = e\\n\\t\\t\\tif solveSudoku(sudoku, i, j):\\n\\t\\t\\t\\treturn True\\n\\t\\t\\tsudoku[i][j] = 0\\n\\treturn False",
|
||||
"source": "GitHub - hastagAB/Awesome-Python-Scripts - sudoku solver by ayedaemon",
|
||||
"id": 4,
|
||||
"length": 285
|
||||
},
|
||||
{
|
||||
"text": "def bruteforce(charset, maxlength):\\n\\treturn (''.join(candidate)\\n\\t\\tfor candidate in itertools.chain.from_iterable(itertools.product(charset, repeat=i)\\n\\t\\tfor i in range(1, maxlength + 1)))\\ndef extractFile(arFile, attempt):\\n\\ttry:\\n\\t\\tarFile.extractall(pwd=attempt)\\n\\t\\tprint \"Password found! password is %s\"%attempt\\n\\t\\texit(0)\\n\\texcept Exception,e:\\n\\t\\tpass\\n\\tif datetime.datetime.now().second%20==0:\\n\\t\\tprint 'At %s'%attempt",
|
||||
"source": "GitHub - GauthamGoli/rar-Password-Cracker",
|
||||
"id": 5,
|
||||
"length": 444
|
||||
},
|
||||
{
|
||||
"text": "soup = BeautifulSoup(html, features='lxml')\\nprint(soup.h1)\\nprint(line_break, soup.p)\\n\\nall_href = soup.find_all('a')\\nall_href = [l['href'] for l in all_href]\\nprint(line_break, all_href)",
|
||||
"source": "GitHub - MorvanZhou/easy-scraping-tutorial",
|
||||
"id": 6,
|
||||
"length": 178
|
||||
}
|
||||
]
|
||||
}
|
|
@ -32610,7 +32610,7 @@
|
|||
"id": 5485
|
||||
},
|
||||
{
|
||||
"text": "Hello. It's me, Choromatsu. I'm currently in Egypt. I heard that pieces of shit were more popular, so I tried being one, and... I was arrested. I'm scared. I didn't want to be held prisoner by anything anymore, so I left Japan, and now I'm literally a prisoner. Life's pretty funny isn't it? But some good things came out of this. I don't have time to think about anything other than eating, going to the bathroom, and sleeping, so I don't let the little things get me down. There's no envy, no self-loathing, and no hope. And because there's no hope, I'm in a lovely state where there's also no despair. I don't know how much happier I am being a prisoner physically versus being one mentally, but the fact that I'm thinking this way might be a sign that I'm still a prisoner.I shouldn't feel trapped, but I do, but I also feel trapped by the fact that I don't feel trapped over feeling trapped. What the hell am I even saying? I feel like I might go insane. Anyway I'm going to try to live life without being held prisoner by anyone.",
|
||||
"text": "Hello. It's me, Choromatsu. I'm currently in Egypt. I heard that pieces of shit were more popular, so I tried being one, and... I was arrested. I'm scared. I didn't want to be held prisoner by anything anymore, so I left Japan, and now I'm literally a prisoner. Life's pretty funny isn't it? But some good things came out of this. I don't have time to think about anything other than eating, going to the bathroom, and sleeping, so I don't let the little things get me down. There's no envy, no self-loathing, and no hope. And because there's no hope, I'm in a lovely state where there's also no despair. I don't know how much happier I am being a prisoner physically versus being one mentally, but the fact that I'm thinking this way might be a sign that I'm still a prisoner. I shouldn't feel trapped, but I do, but I also feel trapped by the fact that I don't feel trapped over feeling trapped. What the hell am I even saying? I feel like I might go insane. Anyway I'm going to try to live life without being held prisoner by anyone.",
|
||||
"source": "Osomatsu-san 3rd Season",
|
||||
"length": 1036,
|
||||
"id": null
|
||||
|
|
|
@ -120,6 +120,48 @@
|
|||
"source": "Max Boublil \"J'aime les moches\"",
|
||||
"length": 178,
|
||||
"id": 19
|
||||
},
|
||||
{
|
||||
"text": "La principale critique vient du fait que l’arrangement AZERTY provient du QWERTY, lui-même optimisé pour pallier les contraintes mécaniques des premières machines à écrire et non pas pour la langue anglaise. L’origine de l’AZERTY est plutôt sombre mais il est clair qu’il n’a pas été pensé pour la langue française.",
|
||||
"source": "Wikipedia - AZERTY",
|
||||
"length": 315,
|
||||
"id": 19
|
||||
},
|
||||
{
|
||||
"text": "Les savants ont calculé que les chances d'exister d'un phénomène aussi manifestement absurde sont de une sur un million. Mais les magiciens, eux, ont calculé que les chances uniques sur un million se réalisent neuf fois sur dix.",
|
||||
"source": "Terry Pratchett - Mortimer (les Annales du Disque-monde)",
|
||||
"length": 228,
|
||||
"id": 20
|
||||
},
|
||||
{
|
||||
"text": "On vous l’a sûrement déjà dit, il faut apprendre à bien choisir ses lectures. Mal les choisir peut nuire gravement à la santé. Un exemple. Vous vous baladez en montagne et, tout en marchant, vous lisez les œuvres complètes d’Hérodote au lieu de lire : ATTENTION, RAVIN. Vous n’irez pas au bout de cette lecture. Vous n’avez pas fait le bon choix.",
|
||||
"source": "Lemony Snicket - Les Désastreuses aventures des orphelins Baudelaire, tome 7",
|
||||
"length": 346,
|
||||
"id": 21
|
||||
},
|
||||
{
|
||||
"text": "Si tu savais le temps que fait une minute, écoute le son de mon coeur quand il explose comme une cocotte minute.",
|
||||
"source": "Stupeflip - Nan?..Si?",
|
||||
"length": 112,
|
||||
"id": 22
|
||||
},
|
||||
{
|
||||
"text": "Ce qui est élevé est destiné à être aplani... Ce qui est dense deviendra fluide... L'entropie fait son œuvre et, en définitive, toute chose tend vers l'uniformisation. C'est une loi inévitable et irréversible d'équilibre. L'homme croit toujours pouvoir inverser ce fleuve cosmique. Mais il n'est qu'un fétu de paille emporté par les flots.",
|
||||
"source": "Katsuhiro Otomo - Akira, tome 4",
|
||||
"length": 339,
|
||||
"id": 23
|
||||
},
|
||||
{
|
||||
"text": "Les Bacillidae forment une famille d'insectes phasmoptères de l'infra-ordre des Areolatae, de la super-famille des Bacilloidea, caractérisés par un thorax dont le dernier tergite n'est pas soudé avec le premier segment abdominal.",
|
||||
"source": "Wikipedia - Bacillidae",
|
||||
"length": 229,
|
||||
"id": 24
|
||||
},
|
||||
{
|
||||
"text": "Le Gouvernement français a demandé à l’ennemi à quelles conditions honorables un cessez-le-feu était possible. Il a déclaré que, si ces conditions étaient contraires à l’honneur, la dignité et l’indépendance de la France, la lutte devait continuer.",
|
||||
"source": "Charles de Gaulle - Appel du 18 Juin",
|
||||
"length": 248,
|
||||
"id": 25
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue