# Submitting a keymap to keymapdb.com Here are the steps to follow in order to submit a new keymap to keymapdb.com. A GitHub account will be required. 1. Fork this repository 2. Clone your fork 3. Navigate to the `/src/posts/keymaps` directory (`cd keymapdb/src/posts/keymaps`). 4. Create a new file with the `.md` extension, named after your username. All hyphens, "-", present in your username must be replaced with an underscore, "\_" (this substitution is not necessary in the "author" field, it is only necessary in the file name). For example, if my username is "week-end", I would create a file called `week_end.md` and write `author: week-end` inside.

In the rare case if you've made two or more *considerably different* keymaps (e.g. a main, daily driver, dactyl keymap and an experimental 7-key one-handed Macedonian keymap), you can disambiguate the file names of your keymaps by appending an extra chunk of identifiable information after your username and a hyphen, like so: `-.md`. The extra chunk should preferably use `snake_case` over `kebab-case`.
Examples: `week_end.md` and `week_end-one_handed.md` or `week_end-dactyl.md` and `week_end-chorded_macedonian.md`. 5. Copy-paste the following template: ```yaml --- author: baseLayouts: # [QWERTY, Colemak, Dvorak, ...] firmwares: # [QMK, ZMK, KMonad] hasHomeRowMods: # true or false hasLetterOnThumb: # true or false hasRotaryEncoder: # true or false isAutoShiftEnabled: # true or false isComboEnabled: # true or false isSplit: # true or false isTapDanceEnabled: # true or false keybindings: # [Vim, Emacs, Kakoune, Graphics/CAD, TWM, Spreadsheets, Gaming] keyboard: # Kyria or Corne or Dactyl Manuform 5x6 or ... keyCount: keymapImage: keymapUrl: languages: # [English, Spanish, ...] layerCount: OS: # [Windows, MacOS, Linux, Android] stagger: # row or columnar or ortholinear summary: # Short summary of max. 60 words title: writeup: # not mandatory --- ``` 6. Look up the [database fields reference](db_fields_reference.md) document to figure out how to fill in the blanks / replace the comments after the colons. 7. Make sure that the leading `---` is the first line in the file. 8. Make sure to leave a single space after each colon. In other words, it should look like `key: value`. `key:value` is not correct. 9. Save and git commit the file 10. Open a merge/pull request to https://github.com/precondition/keymapdb that targets the `main` branch. 11. Wait