[%# this source code form is subject to the terms of the mozilla public # license, v. 2.0. if a copy of the mpl was not distributed with this # file, you can obtain one at http://mozilla.org/mpl/2.0/. # # this source code form is "incompatible with secondary licenses", as # defined by the mozilla public license, v. 2.0. #%] [% INCLUDE global/header.html.tmpl title = "Markdown Syntax Guide" bodyclasses = ['narrow_page'] %]

What is Markdown?

Markdown is a simple text formatting language that enables you to write your [%+ terms.comments %] in plain-text and have them generated as HTML. Markdown in [%+ terms.Bugzilla %] supports the following structures:

Headers

You have two options for making headers. First, you may use any number of equal signs (for first-level header) or dashes (for second-level headers).

      
        This is an H1 header
        ====================

        This is an H2 header
        --------------------
      
    

Second, you can use hash signs at the beginning of the line to specify the level of the header from 1 to 6.

      
        # This is the largest header (H1 level)
        ### This is a small header (H3 level)
        ###### This is the smallest header (H6 level)
     
   

Blockquotes

Use a closing angle bracket (>) at the beginning of the line to indicate a line as quoted.

      
        > Some text to be quoted.
      
    

Emphasis

Single underscores or asterisks will make the text italic. Double underscores or asterisks will make the text bold.

      
        _This text will become italic_
        *This text also will become italic*

        __But this one will be bold__
        **And this one as well**
      
    

Turns into

      This text will become italic
      This text also will become italic
      
But this one will be bold And this one as well

Use different signs to combine them nestedly in order to avoid ambiguity:

      
        _This [% terms.bug %] **must** be resolved ASAP._
      
    

Note: [% terms.Bugzilla %] will skip emphasizing words that have the form of multiple_underscore_in_a_word. This measure is taken to not emphasize words that are possible programming variables. If your word has this form and you still want it to become emphasized/bold, you must use single/double asterisks (*) instead of underscores (_).

Lists

Markdown supports both unordered and ordered lists.

Unordered Lists

Use asterisks (*), pluses (+) or hyphens (-) to mark the items of an unordered list.

        
          + First item
          + Second item
          + Third item
        
      

Ordered Lists

Use a number followed by a period to denote an item of an ordered list.

        
          1. Item one
          4. Item two
          3. Item three
        
      

Note: Your numbers have no effect on the rendered item numbers and the rendered numbers are automatically generated. Your numbers are only used to specify the items of an ordered list.

A list item can have nested lists recursively:

        
          1. Item one
          4. Item two
          3. Item three
            * First sub-item
            * Second sub-item
          5. Item four
        
      

Code

To make a part of your text to get generated as a piece of code, use one or more backticks (`) and close that part with the same number of backticks.

      Please see the manual for `printf` function.
    

If you want to make some lines of code, you need to use 3 or more backticks at the beginning of a line followed by your code lines and concluded by 3 or more backticks.

      
        See my function:
        ```
        int sum(int x, int y) {
          return x + y;
        }
        ```
      
    

You can also use a tab or [% constants.MARKDOWN_TAB_WIDTH FILTER html %] or more spaces at the beginning of each line of your code to make the whole block look as a code block. Please take care that you might make your lines as code blocks by inadvertently indenting them.

Strikethroughs

Surround your text between a pair of two tildes to have your text crossed out.

      
        Module ~~Foo~~ is deprecated.
      
    

Literal URLs and Email addresses get linkified automatically. Besides that, you can define links with link texts and titles. You may define your links either as inline or as a reference. To define a link as inline, put your link text in square bracket immediately followed by a pair of parentheses which containts the URL that you want your link to point to and an optional link title surrounded by quotes.

      
        This is [Bugzilla](http://www.bugzilla.org "View Bugzilla Homepage")
        [% terms.bug %] tracking system.
        This [example link](http://www.example.com) does not have title.
      
    

To define your links in a reference style, define your links any where in your [% terms.comment %] with the following format:

      
        [bz]: http://www.bugzilla.org "Bugzilla Homepage"
        [mz]: http://www.mozilla.org (Mozilla Homepage)
      
    

That is, define a unique ID for each link in square brackets with their corresponding URL and optional title in quotes or parentheses. Then, point to those links simply by writing your link text in square brackets followed by the ID in another pair of square brackets.

      
        [Bugzilla][bz] is open-sourced server software designed to help groups
        manage software development. [Mozilla][mz] uses [Bugzilla][bz] to track
        issues with Firefox and other projects.
      
    

[% PROCESS global/footer.html.tmpl %]