---
title: Options
---
## Options

The behaviour of kramdown can be adjusted via the available options.

Options can be specified in multiple ways:

On the command line
: The `kramdown` binary allows setting any option by using command line switches.

  For example, the following command will disable automatic header ID generation and defines the
  first footnote number as 5:

  ~~~
  $ kramdown --no-auto-ids --footnote-nr 5
  ~~~

  As you can see all underscores in option names have to be replaced with dashes. The built-in help
  of the binary as well as the man-page show all available options.

Within a kramdown document
: By using the special extension syntax, it is possible to set options within a document.

  Using the above example, the options would be set like this within a document:

  ~~~
  {::options auto_ids="false" footnote_nr="5" syntax_highlighter_opts="\{line_numbers: true\}" /}
  ~~~

Using Ruby code

: If you are using kramdown as a library, you can pass any options as second parameter to the
  `Kramdown::Document.new` method.

  Again, using the above example you would initalize the kramdown document class as follows:

  ~~~ ruby
  Kramdown::Document.new(source_text, \{auto_ids: false, footnote_nr: 5})
  ~~~


## Available Options

Below is a list of all currently available options. Have a look at the documentation of a converter
or parser to see directly which options they support!

{options: {items: all}}
