logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

__capabilities.md (6568B)


  1. # Documentation Capabilities
  2. This page lays out the capabilities used by the QMK Firmware documentation, in order to aid future transitions to other page generators. Focuses mainly on things other than normal Markdown, as it's assumed that markdown generators should still function accordingly.
  3. ## Overall capabilities
  4. Unrelated to styling, high-level tech.
  5. * Title anchors -- `:id=some-anchor-name`, used for direct linking to sections
  6. * Links to anchors:
  7. * Style 1: [early initialization](platformdev_chibios_earlyinit.md?id=board-init)
  8. * Style 2: [early initialization](platformdev_chibios_earlyinit.md#board-init)
  9. * Links to anchors on the same page, i.e. [Emoji](#emoji)
  10. * Specifying CNAME for root domain -- `docs.qmk.fm`
  11. * Moved pages, see `index.html`
  12. * Text search
  13. * Footnotes [like this][1]
  14. <!-- Comments should not show up -->
  15. <!-- Nor should
  16. multiline
  17. comments with
  18. newlines show up -->
  19. ### Dividing lines
  20. ---
  21. <hr>
  22. <hr/>
  23. ### Images
  24. ![QMK Color Wheel with HSV Values](https://i.imgur.com/vkYVo66.jpg)
  25. ![QMK Light](./public/badge-community-light.svg)
  26. ![QMK Dark](./public/badge-community-dark.svg)
  27. <img src="./public/color-wheel.svg" alt="HSV Color Wheel" width="250"/>
  28. ### Lists
  29. Newlines with `<br>`:
  30. Line one<br>
  31. Line two<br/>
  32. Line three
  33. Nested dotted:
  34. * The PR is complete and ready to merge
  35. * GitHub checks for the PR are green whenever possible
  36. * A "red" check may be disregarded by maintainers if the items flagged are unrelated to the change proposed in the PR
  37. * Modifications to existing files should not need to add license headers to pass lint, for instance.
  38. * If it's not directly related to your PR's functionality, prefer avoiding making a change.
  39. Nested dashed:
  40. - The PR is complete and ready to merge
  41. - GitHub checks for the PR are green whenever possible
  42. - A "red" check may be disregarded by maintainers if the items flagged are unrelated to the change proposed in the PR
  43. - Modifications to existing files should not need to add license headers to pass lint, for instance.
  44. - If it's not directly related to your PR's functionality, prefer avoiding making a change.
  45. Nested numbered:
  46. 1. The PR is complete and ready to merge
  47. 1. GitHub checks for the PR are green whenever possible
  48. 1. A "red" check may be disregarded by maintainers if the items flagged are unrelated to the change proposed in the PR
  49. 1. Modifications to existing files should not need to add license headers to pass lint, for instance.
  50. 1. If it's not directly related to your PR's functionality, prefer avoiding making a change.
  51. Nested mixed:
  52. 1. Add it to the schema in `data/schemas/keyboards.jsonschema`
  53. 1. Add a mapping in `data/maps`
  54. 1. (optional and discouraged) Add code to extract/generate it to:
  55. * `lib/python/qmk/info.py`
  56. * `lib/python/qmk/cli/generate/config_h.py`
  57. * `lib/python/qmk/cli/generate/rules_mk.py`
  58. ### Emoji {#emoji}
  59. #### Direct:
  60. πŸ‘πŸŽ‰ First off, thanks for taking the time to read this and contribute! πŸŽ‰πŸ‘
  61. #### As colon-name-colon:
  62. :heavy_check_mark: : works and was tested
  63. :o: : does not apply
  64. :x: : not supported by MCU
  65. ### XML Entities
  66. [`clueboard`](https://github.com/qmk/qmk_firmware/tree/master/keyboards/clueboard) &larr; This is the organization folder, there's no `rules.mk` file
  67. 1&ndash;4
  68. Command+<code>&#96;</code>
  69. ## Styling
  70. ### CSS-ish
  71. <b style="font-size:150%">This is 150% of normal sizing, and bold!</b>
  72. ### Tables
  73. | Column A | Column B |
  74. |----------|----------|
  75. | Left | Right |
  76. ### Indented sections
  77. > Indent without any sort of marker
  78. ?> Query, this?
  79. !> Notification, damnit!
  80. ::: info
  81. This is an info box.
  82. :::
  83. ::: tip
  84. This is a tip.
  85. :::
  86. ::: warning
  87. This is a warning.
  88. :::
  89. ::: danger
  90. This is a dangerous warning.
  91. :::
  92. ::: details
  93. This is a details block.
  94. :::
  95. ### Keyboard keys
  96. <kbd>,</kbd>
  97. <kbd>Right Alt</kbd>+<kbd>Right Shift</kbd>
  98. 1. Click <kbd>File</kbd> > <kbd>New</kbd> > <kbd>Makefile Project with Existing Code</kbd>
  99. 1. Click <kbd><kbd>File</kbd> > <kbd>Preferences ></kbd> > <kbd>Settings</kbd> </kbd>
  100. 1. Hit Ctrl-<code>&#96;</code> (Grave) to bring up the terminal or go to <kbd><kbd>View</kbd> > <kbd>Terminal</kbd></kbd> (command `workbench.action.terminal.toggleTerminal`). A new terminal will be opened if there isnβ€˜t one already.
  101. This should start the terminal in the workspace's folder (so the `qmk_firmware` folder), and then you can compile your keyboard.
  102. ### Code Blocks
  103. Inline code with tag: <code>test</code>
  104. Inline code with backticks: `test`
  105. This is preformatted
  106. Indented by 4 spaces
  107. The letters lined up
  108. ```c
  109. int c_code(void) {
  110. return -1;
  111. }
  112. ```
  113. ```makefile
  114. ifeq ($(BUILD),)
  115. CHUNDER_REQUIRED = yes
  116. endif
  117. ```
  118. ```python
  119. from pathlib import Path
  120. p = Path('/path/to/qmk_firmware')
  121. ```
  122. ```json
  123. {
  124. "a": "b",
  125. "c": 4,
  126. "d": {
  127. "e": [
  128. 0, 1, 2, 3
  129. ]
  130. }
  131. }
  132. ```
  133. ```diff
  134. #undef RGBLIGHT_LED_COUNT
  135. +#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
  136. +#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL
  137. #define RGBLIGHT_LED_COUNT 12
  138. #define RGBLIGHT_HUE_STEP 8
  139. #define RGBLIGHT_SAT_STEP 8
  140. ```
  141. Indented code as part of a list:
  142. * [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI)
  143. * [Teensy Loader](https://www.pjrc.com/teensy/loader.html)
  144. * [Teensy Loader Command Line](https://www.pjrc.com/teensy/loader_cli.html) / `:teensy` target in QMK (recommended command line)
  145. ```
  146. teensy_loader_cli -v -mmcu=<mcu> <filename>
  147. ```
  148. ### Sub/Superscript
  149. <sub>This is subscripted, apparently.</sub>
  150. <sup>This is superscripted, apparently.</sup>
  151. I<sup>2</sup>C
  152. T<sub>0H</sub>, T<sub>0L</sub>
  153. ### Tabs
  154. Tabs are based on section headers, with `**` enclosing the tab title.
  155. <!-- tabs:start -->
  156. #### ** Tab one **
  157. Content one
  158. <!-- tabs:start -->
  159. ##### ** Nested one **
  160. Nested content one
  161. ##### ** Nested two **
  162. Nested content two
  163. <!-- tabs:end -->
  164. #### ** Tab two **
  165. Content two
  166. #### ** Tab three **
  167. Content three
  168. <!-- tabs:end -->
  169. ::::tabs
  170. === tab a
  171. a content 2
  172. === tab b
  173. b content 2
  174. === tab c
  175. :::tabs
  176. == nested tab a
  177. nested a content 2
  178. == nested tab b
  179. nested b content 2
  180. :::
  181. ::::
  182. ## Details sections
  183. Expandable:
  184. <details>
  185. <summary>Some summary text that shows up before expanding</summary>
  186. !> Embedded notification!
  187. This is some inner content.
  188. </details>
  189. ## Embed
  190. [example embed](__capabilities_inc.md ':include')
  191. <!--@include: ./__capabilities_inc.md-->
  192. [1]: https://en.wikipedia.org/wiki/Eclipse_(software)