You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/CONTRIBUTING.md
+2-4Lines changed: 2 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,8 +27,7 @@ Below is a set of general guidelines for different types of changes.
27
27
28
28
### Pull Request Naming Guidelines
29
29
30
-
We use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for our pull request titles (and commit messages on the master branch) and also include the author name at the end inside parenthesis. Please follow the guidelines below when naming pull requests.
31
-
30
+
We use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for our pull request titles (and commit messages on the master branch) and also include the author name at the end inside parenthesis. Please follow the guidelines below when naming pull requests.
32
31
33
32
For types, we use the following:
34
33
@@ -62,7 +61,7 @@ Before submitting a theme make sure...
62
61
- your theme has been added to the `_list` file and the `textColor` property is the theme's main color
63
62
- your theme is clear and readable with both `flip test colors` and `colorful mode` enabled and disabled
64
63
65
-
If you want to contribute themes but don't know how, check [THEMES.md](/docs/THEMES.md)
64
+
If you want to contribute themes but don't know how, check [THEMES.md](/docs/THEMES.md)
66
65
67
66
### Language Guidelines
68
67
@@ -84,7 +83,6 @@ If you want to contribute languages but don't know how, check [LANGUAGES.md](/do
84
83
- For quotes not in English, please include translations of quotes in the description of your pull request. This assists in the verification process to ensure the integrity of the quotes.
85
84
- Remember to name your pull request properly. For example, if you are adding new quotes for the language `French`, your pull request should be named `impr(quotes): add French quotes`.
86
85
87
-
88
86
If you want to contribute quotes but don't know how, check [QUOTES.md](/docs/QUOTES.md)
Copy file name to clipboardExpand all lines: docs/CONTRIBUTING_ADVANCED.md
+9-14Lines changed: 9 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,9 +25,8 @@ This contribution guide is for cases in which you need to test the functionality
25
25
26
26
### Git
27
27
28
-
29
28
> [!WARNING]
30
-
> **If you are on Windows, run `git config --global core.autocrlf false` before cloning this repo to prevent CRLF errors.**
29
+
> **If you are on Windows, run `git config --global core.autocrlf false` before cloning this repo to prevent CRLF errors.**
31
30
32
31
Git is optional but we recommend you utilize it. Monkeytype uses the Git source control management (SCM) system for its version control. Assuming you don't have experience typing commands in the command line, we suggest installing [Sourcetree](https://www.sourcetreeapp.com/). You will be able to utilize the power of Git without needing to remember any cryptic commands. Using a Git client such as Sourcetree won't give you access to the full functionality of Git, but provides an easy-to-understand graphical user interface (GUI). Once you have downloaded Sourcetree, run the installer. While installing Sourcetree, keep your eyes peeled for the option to also install Git with Sourcetree. This is the option you will need to look for in order to install Git. **Make sure to click yes in the installer to install Git with Sourcetree.**
33
32
@@ -51,26 +50,22 @@ The account system will not let you create an account without a Firebase project
51
50
52
51
1. Create a Firebase account if you already haven't done so.
53
52
1.[Create a new Firebase project.](https://console.firebase.google.com/u/0/)
54
-
55
53
- The project name doesn't matter, but the name `monkeytype` would be preferred.
56
54
- Google Analytics is not necessary.
57
55
58
56
1. Enable Firebase Authentication
59
-
60
57
- In the Firebase console, go to `Build > Authentication > Sign-in method`
61
58
- Click on `Email/Password`, enable it, and save
62
59
- Click on `Google`, add a support email, and save
63
60
64
61
1. Generate a Firebase Admin private key (optional, only needed if you want to work on the backend)
65
-
66
62
- In your Firebase console, go to Project Settings > Service Accounts
67
63
- Click "Generate New Private Key"
68
64
- Save as `serviceAccountKey.json` inside the `backend/src/credentials/` directory.
69
65
70
66
1. Run `pnpm add -g firebase-tools` to install the Firebase Command Line Interface.
71
67
1. Run `firebase login` on your terminal to log in to the same Google account you just used to create the project.
72
68
1. Within the `frontend` directory, duplicate `.firebaserc_example`, rename the new file to `.firebaserc` and change the project name to the firebase project id you just created.
73
-
74
69
- Run `firebase projects:list` to find your firebase project ID.
75
70
- If `.firebaserc_example` does not exist after cloning, create your own with:
76
71
@@ -109,8 +104,8 @@ Follow these steps if you want to work on anything involving the database/accoun
| <ol><li>Install [MongoDB Community Edition](https://docs.mongodb.com/manual/administration/install-community/)</li><li>Install [Redis](https://redis.io/docs/latest/operate/oss_and_stack/install/install-stack/)</li><li>Make sure both are running</li></ol> | <ol><li>Install [Docker](http://www.docker.io/gettingstarted/#h_installation) on your machine</li><li>Run `npm run docker-db-only` from the `./backend` directory</li></ol> |
115
110
116
111
3. (Optional) Install [MongoDB-compass](https://www.mongodb.com/try/download/compass?tck=docs_compass). This tool can be used to see and manipulate your database visually.
|`npm run dev-fe`|`cd frontend && npm run docker`|
146
141
147
142
These commands will start a local development website on [port 3000](http://localhost:3000) and a local development server on [port 5005](http://localhost:5005). They will automatically rebuild the website/server when you make changes in the `src/` directory. Use <kbd>Ctrl+C</kbd> to stop them.
Copy file name to clipboardExpand all lines: docs/LANGUAGES.md
+4-6Lines changed: 4 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,21 +29,20 @@ The contents of the file should be as follows:
29
29
```
30
30
31
31
It is recommended that you familiarize yourselves with JSON before adding a language. For the `name` field, put the name of your language. `rightToLeft` indicates how the language is written. If it is written right to left then put `true`, otherwise put `false`.
32
-
`ligatures` A ligature occurs when multiple letters are joined together to form a character [more details](<https://en.wikipedia.org/wiki/Ligature_(writing)>). If there's joining in the words, which is the case in languages like (Arabic, Malayalam, Persian, Sanskrit, Central_Kurdish... etc.), then set the value to `true`, otherwise set it to `false`. For `bcp47` put your languages [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag). If the words you're adding are ordered by frequency (most common words at the top, least at the bottom) set the value of `orderedByFrequency` to `true`, otherwise `false`. Finally, add your list of words to the `words` field.
32
+
`ligatures` A ligature occurs when multiple letters are joined together to form a character [more details](<https://en.wikipedia.org/wiki/Ligature_(writing)>). If there's joining in the words, which is the case in languages like (Arabic, Malayalam, Persian, Sanskrit, Central_Kurdish... etc.), then set the value to `true`, otherwise set it to `false`. For `bcp47` put your languages [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag). If the words you're adding are ordered by frequency (most common words at the top, least at the bottom) set the value of `orderedByFrequency` to `true`, otherwise `false`. Finally, add your list of words to the `words` field.
33
33
34
-
Then, go to `packages/schemas/src/languages.ts` and add your new language name at the _end_ of the `LanguageSchema` enum. Make sure to end the line with a comma. Make sure to add all your language names if you have created multiple word lists of differing lengths in the same language.
34
+
Then, go to `packages/schemas/src/languages.ts` and add your new language name at the _end_ of the `LanguageSchema` enum. Make sure to end the line with a comma. Make sure to add all your language names if you have created multiple word lists of differing lengths in the same language.
35
35
36
36
```typescript
37
37
exportconst LanguageSchema =z.enum([
38
38
"english",
39
39
"english_1k",
40
-
...
41
-
"your_language_name",
40
+
..."your_language_name",
42
41
"your_language_name_10k",
43
42
]);
44
43
```
45
44
46
-
Then, go to `frontend/src/ts/constants/language.ts` and add your new language name to the `LanguageGroups` map. You can either add it to an existing group or add a new one. Make sure to add all your language names if you have created multiple word lists of differing lengths in the same language.
45
+
Then, go to `frontend/src/ts/constants/language.ts` and add your new language name to the `LanguageGroups` map. You can either add it to an existing group or add a new one. Make sure to add all your language names if you have created multiple word lists of differing lengths in the same language.
Copy file name to clipboardExpand all lines: docs/LAYOUTS.md
+13-18Lines changed: 13 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
### **Table of Contents**
2
2
3
3
-[Forking Monkeytype](#forking-monkeytype)
4
-
-[Creating Layouts](#creating-layouts)
4
+
-[Creating Layouts](#creating-layouts)
5
5
-[Committing Layouts](#committing-layouts)
6
6
7
7
### Forking Monkeytype
@@ -79,36 +79,31 @@ The contents of the file should be as follows:
79
79
"row5": [[""]]
80
80
}
81
81
}
82
-
83
-
84
82
```
85
83
86
84
It is recommended that you familiarize yourselves with JSON before adding a layout.
87
85
88
86
`keymapShowTopRow` indicates whether to always show the first row of the layout.
89
-
`type` can be `ansi` or `iso`.
87
+
`type` can be `ansi` or `iso`.
90
88
91
-
In `keys` you need to specify `row1` to `row5`. Add the keys within the row as string-array. The string-array can have up to four character. The character define unshifted, shifted, alt-gr and shifted alt-gr character in this order. For example `["e","E","€"]` defines `e` on regular key press, `E` if `shift` is held and `€` if `alt-gr` is held.
89
+
In `keys` you need to specify `row1` to `row5`. Add the keys within the row as string-array. The string-array can have up to four character. The character define unshifted, shifted, alt-gr and shifted alt-gr character in this order. For example `["e","E","€"]` defines `e` on regular key press, `E` if `shift` is held and `€` if `alt-gr` is held.
92
90
93
-
**Note:**Quote and backslash characters need to be escaped: `\"` and `\\`.
91
+
**Note:** Quote and backslash characters need to be escaped: `\"` and `\\`.
94
92
95
93
For ansi layouts the number of keys need to be exactly thirteen for `row1` and `row2`, eleven for `row3`, ten for `row4` and one or two for `row5`.
96
94
97
-
For iso the number of keys need to be exactly thirteen for `row1`, twelve for `row2` and `row3`, eleven for `row4` and one or two for `row5`.
98
-
95
+
For iso the number of keys need to be exactly thirteen for `row1`, twelve for `row2` and `row3`, eleven for `row4` and one or two for `row5`.
99
96
100
-
101
-
In addition to the layout file you need to add your layout to the `packages/schemas/src/layouts.ts` file. Just append your layout name (without the `.json`) at the __end__ of the `LayoutNameSchema`. Remember to add a comma like this:
97
+
In addition to the layout file you need to add your layout to the `packages/schemas/src/layouts.ts` file. Just append your layout name (without the `.json`) at the **end** of the `LayoutNameSchema`. Remember to add a comma like this:
102
98
103
99
```ts
104
-
exportconst LayoutNameSchema =z.enum([
105
-
"qwerty",
106
-
"dvorak",
107
-
"colemak",
108
-
...
109
-
"your_layout_name",
100
+
exportconst LayoutNameSchema =z.enum([
101
+
"qwerty",
102
+
"dvorak",
103
+
"colemak",
104
+
..."your_layout_name",
110
105
]);
111
-
```
106
+
```
112
107
113
108
### Committing Layouts
114
109
@@ -124,4 +119,4 @@ Make sure your PR title follow the syntax `feat(layout): add <YOUR_LAYOUT> layou
124
119
125
120
## Layout Guidelines
126
121
127
-
Make sure your layout follows the [Layout guidelines](./CONTRIBUTING.md#layout-guidelines).
122
+
Make sure your layout follows the [Layout guidelines](./CONTRIBUTING.md#layout-guidelines).
0 commit comments