--- title: Code Blocks description: Style for code blocks in documentation keywords: - hasura - style - code blocks slug: code-blocks --- # Code Blocks * All code blocks should be indented 2 spaces by default. * Order fields for greater understanding. * Remove parts of code if necessary in order to provide the greatest clarity to the user. * Use only mandatory fields to keep examples concise. * Use MDX [code block highlighting](https://docusaurus.io/docs/markdown-features/code-blocks#line-highlighting) to draw the user's attention to which lines the user should focus on. * Show incorrect methods and common errors to improve the user's understanding but make sure they are very well highlighted as incorrect. * Use single quotes instead of double quotes except where necessary eg: JSON * Arrays in code should be split onto multiple lines, unless there is only one member of the array. * When specifying code for the Hasura API, you can use either `curl` or an `http` block depending on whichever is clearer for the user. ### HTTP * All HTTP headers must begin with `First-Letter-Capitalized-Like-This`. * HTTP blocks should run without changes if they are pasted into Postman, for example. ### Javascript * Use semicolons `;` at the end of statements. * Use single quotes instead of double quotes. ### JSON * Indent 2 spaces. * Do not include comments in JSON ### Shell * Specify `bash` as code type for shell commands. * Try to break separate commands into separate code blocks or else chain commands with `&&` or break into multi-line with `\`. * Shell commands can include comments _before_ the command prefixed with `#`. * If you would like to include output of the command, add it in a new block with `text` type. ### YAML * YAML should always be indented by 2 spaces as per the spec. * Include only the relevant part of the code if it provides more clarity to the user. Indicate ommitted lines with `...`