Recently I've seen a lot of code being formatted as quote. This is not how it should be done.

All code should be formatted with one of two styles.

  1. If it is just 1 line, with other text around it, use the ` ` formatting, like this:

    Hello. This is code and continued sentence.

  2. If it is one line, but on its own, it should have 4 spaces before it:

    Hello. This is code
    

    To save adding the 4 spaces to each line manually, highlight your block of code and click the { } button on the editing toolbar.

  3. If it is multi line, use the 4 spaces before each line:

    Hello.
    This is code
    

    To save adding the 4 spaces to each line manually, highlight your block of code and click the { } button on the editing toolbar.

  4. If it's multi line and in a list, indent the code 8 spaces:

    • Hello
    • This is a list

      Hello
      This is code.
      

How not to do it.

  1. Accent (``) formatting on a multi-line code block:

    Hello. This is badly formatted code

  2. Quote format (even if you append the 2 spaces):

    Hello. This is badly formatted code

  3. 2 line breaks between each line:

    Hello.
    
    This is badly formatted code
    
  4. No formatting. Seriously, this is so hard to read. Compare this with this:

    Hello. This is badly formatted code

  5. HTML tags (<code>)

    Hello. This is badly formatted code

    HTML tags (<pre>). It looks okay, but is less nice to edit.

    Hello.
    This is badly formatted code
    
  6. Using speech marks

    "Hello. This is badly formatted code"

Reminder:

All code should be between ` characters (grave accent, often found below the ESC key), or have 4 spaces at the start of the question.

`Only format inline code with this syntax`
    Format multiline code with this syntax
  • 14
    Meta notice is nice but how many users do you think will comply :P – Thomas Ward Jun 11 '15 at 12:17
  • 1
    @ThomasW. few :( I'm linking it in the comments whenever I see it. – Tim Jun 11 '15 at 12:38
  • 3
    I'm not sure about your first rule there. If your code is on its own (eg not inline) it should use the 4-space indentation it's to be formatted as a block. Only use inline code for inline code. – Oli Jun 11 '15 at 13:41
  • 12
    Why not directly link the markdown instructions: askubuntu.com/editing-help – s3lph Jun 11 '15 at 14:04
  • @the_Seppi I thought it was a little confusing, and this is specifically to say not to use quote formatting. – Tim Jun 11 '15 at 14:25
  • I am missing: "1 long line more than fits on screen – Rinzwind Jun 11 '15 at 14:44
  • See also meta.askubuntu.com/questions/13592/… – Carl H Jun 12 '15 at 7:24
  • 2
    You know you can select a block of code / text and use the formatting buttons at the top ? – Panther Jun 12 '15 at 14:10
  • 3
    On the editor, highlight the entire code excerpt you want to format and click the button marked {}. If it's a multi-line excerpt this will automatically add the four spaces at the start of every line for you. MUCH more convenient than adding the spaces yourself, if your code excerpt is more than a couple of lines. – thomasrutter Jun 16 '15 at 2:31
  • 1
    About the grave accents, use the four spaces in front of the line if grave accents are part of your code. I really do like what you wrote here, and I learned something new today! :) – Terrance Jun 16 '15 at 13:31
  • Thanks for the suggestions. There are a few bugs with your suggestions and the parsing of markdown, however. For example, try having a four-space-indented block following a list, or vica-versa. – earthmeLon Jun 16 '15 at 19:07
  • @ThomasW. (and Tim) probably users that read Meta format it properly anyway... – Wilf Jun 18 '15 at 19:12
  • @Wilf indeed, that's probably the case. – Thomas Ward Jun 18 '15 at 19:41
  • When I used askUbuntu for the first few posts I was missing that kind of info. Maybe there is a way to put a link to that into the profile page of new users? – CatMan May 13 at 22:13
  • @CatMan This information is visible in the sidebar when you ask a question. It is not as clear when you post an answer. Wherever we put the link, 99% of new users won't read it, unfortunately. – Tim May 13 at 22:15

There is one special case where <pre> may be desirable instead of 4 spaces:

This is the important part of the program

Notice that I can use <strong></strong> within the block of code when I use <pre>. However, if I try to do that with the 4-space indent, all I get is:

This is the <strong>important</strong> part of the program

If you put a code block after a list, the code block isn't formatted properly:

  • bullet

    code block

You can resolve this by indenting the code block 8 spaces, which nests it under the bullet:

  • bullet

    code block
    

Or put something invisible between them, like an HTML comment <!-- comment --> or a Markdown comment <% comment %>, which doesn't nest it:

  • bullet
code block

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .