Как стать автором
Обновить

Habr Flavored Markdown

При написании публикаций и комментариев на сайте можно использовать HTML или Markdown на выбор. Важно заметить, что мы поддерживаем «Habr Flavored Markdown» (сокращенно HFM) — он расширяет традиционный Markdown несколькими существенными отличиями.

Да, если вы не знакомы с Markdown, стоит взглянуть на основы Markdown-разметки.

Отличия от традиционного Markdown

Поддержка множественного подчеркивания в словах

Там где Markdown трансформирует текст, обрамленный символом подчеркивания (_), в курсив, HFM игнорирует подчеркивания:

  • wow_great_stuff;

  • do_this_and_do_that_and_another_thing.

Это позволяет писать исходный код, содержащий подчеркивания в именах. Для добавления курсива следует использовать звездочки (*).

Автолинкинг

HFM автоматически конвертирует URL-адреса в активные ссылки. Исключением являются ссылки внутри кода.

http://example.com

становится

http://example.com

Зачеркивание

HFM добавляет в синтаксис поддержку зачеркивания текста, чего нет в традиционном Markdown.

~~Mistaken text.~~

становится

Mistaken text.

Огороженные блоки кода

Традиционный Markdown преобразовывает текст, отбитый 4 пробелами на каждой строке, в блоки кода. HFM также поддерживает огороженные блоки кода. Для этого просто оберните блок кода ``` — отбивать каждую строку 4 пробелами не понадобится.

  ```
  function test() {
    console.log("notice the blank line before this function?");
  }
  ```

становится

  function test() {
    console.log("notice the blank line before this function?");
  }

Подсветка синтаксиса

Чтобы подсветить синтаксис, можно использовать огороженные блоки кода, дополненные названием языка. Например, чтобы подсветить синтаксис Ruby:

  ```ruby
    require 'redcarpet'
    markdown = Redcarpet.new("Hello World!")
    puts markdown.to_html
  ```

Мы поддерживаем синтаксис языков: C#, C++, CSS, Caché ObjectScript, Diff, HTML, XML, Java, Javascript, PHP, Perl, Python, Ruby, SQL, 1С, ActionScript, Apache, Axapta, CMake, CoffeeScript, DOS, Delphi, Django, Erlang, Erlang REPL, GLSL, Go, Haskell, Lisp, Lua, MEL, Markdown, Matlab, Nginx, Objective C, Rust, Scala, Smalltalk, TeX, VBScript, VHDL, Vala. Список будет постепенно дополняться.

Таблицы

Таблицы можно создавать одним из двух способов. Вот так:

  First Header | Second Header
  ------------ | -------------
  Content Cell | Content Cell
  Content Cell | Content Cell

First Header

Second Header

Content Cell

Content Cell

Content Cell

Content Cell

Или добавив дополнительные границы по бокам:

  | First Header  | Second Header |
  | ------------- | ------------- |
  | Content Cell  | Content Cell  |
  | Content Cell  | Content Cell  |

First Header

Second Header

Content Cell

Content Cell

Content Cell

Content Cell

Имейте ввиду, что количество тире в строке разделения заголовка и количество символов в теле таблицы могут не соответствовать друг другу:

  | Name | Description |
  | ------------- | ----------- |
  | Help | Display the help window.|
  | Close | Closes a window. |

Name

Description

Help

Display the help window.

Close

Closes a window.

В ячейках таблицы можно использовать ссылки, жирный текст, курсив или зачёркивание:

  | Name | Description |
  | ------------- | ----------- |
  | Help | ~~Display the~~ help window.|
  | Close | _Closes_ a window. |

Name

Description

Help

Display the help window.

Close

Closes a window.

Чтобы использовать Markdown, не забудьте активировать соответствующую галочку: она находится прямо под полем для ввода комментария.