Pull to refresh

The most important thing on the website is content. The posts can be created by users with full accounts and positive karma (for several hubs the limits for karma may differ).

All publications should be posted in accordance with the provided flows/hubs and publication types.

Creating a post

The process of creating a post is quite simple:

  • сlick the «Add post» button on the right side of the website header;

  • select a hub suitable for the topic (or several hubs);

  • if your publication is a tutorial, a lesson, or how-to, check the «Tutorial» checkbox, this will help visually identify it among others;

  • give a clear title to the post, fill in the body of the post, use HTML or markdown to format the text;

  • do not forget to specify tags;

  • add a poll in the end if you want;

  • using the «Preview» button you can check what you have done (possibly some tag is not closed somewhere or a picture is missing);

  • if everything is OK, click the green button «Publish»;

  • if you want to make any changes to the post, use the pencil icon to the right of its title, this will allow you to edit it or move it to drafts.

Drafts are visible to the author only (it is indicated by the lock icon to the left of the title).


An article is supposed to be an original content created personally by the author. Reviews, digests, tutorials, educational content, reports — all these are articles.


If you want to post a translation of someone else’s article don’t forget to change the publication type to «Translation». The creation algorithm is the same as for a post, but you will see two additional fields: «Author of the original» (here you should specify the name of the author of the original text) and «Link to the original» (URL of the original page).


News are valued for its freshness. News are succinct reports of recent or current events. There is no place for personal opinion — facts and only facts. A piece of news should give answers for six main questions: who, what, where, when, why and how. The first paragraph should give a reader the answers for the first four questions. And only then — why and how all this happened.

The signs of good and bad content

Good post:

  • contains original content;

  • easy to read, split into paragraphs and generally well formatted; images are uploaded to Habrastorage;

  • written with proper language;

  • does not have «bad post’s» features.

Bad post:

  • has a flashy title like «Shock! VIDEO! YOUR MAC IS FULL OF VIRUSES!»;

  • overflowed with grammatical and spelling mistakes;

  • contains images from unstable photo hostings;

  • is a copy of the information from other resources;

  • is a complaint for something;

  • contains referral links;

  • contains prohibited content;

  • is an ad of your or your friend’s project, service, application, website, etc.

Allowed HTML tags

When writing posts and comments, you can use the following HTML and nonHTML tags:





Headings of different levels.

<h1>First level heading</h1>...<h4>Fourth level heading</h4>


To insert an image please specify the full path to the image in the src. You can align the image with the align attribute.

<img src="" alt="image alt" align="left" />


Link insert, the href attribute specifies the desired Internet address or anchor for navigation within the page.

<a href="http://your_link_path.ru">Link text</a>


The anchor tag. The anchor itself looks like this:


The anchor link looks like this:

<a href="#Example">Link text</a>


Highlighting an important text is done out with a boldface. It is also possible to use an alternative tag <b></b>



Highlighting important text on the page is done with italics. It is also possible to use an alternative tag <i></i>



The text between these tags will be displayed as strikeout. It is also possible to use an alternative tag <s></s>

<strike>Strikethrough text</strike>


The text between these tags will be displayed as underlined.

<u>Underlined text</u>


Tag to insert a horizontal line.



Use this tag to highlight quotes.

<blockquote>Quote text</blockquote>


Set of tags for creating a table. The <td> tag indicates a table cell, the <th> tag is a cell in the header, <tr> is the row of the table. All the contents of the table should be placed in the <table> tag.

    <th>Column 1</th>
    <th>Column 2</th>
     <th>Column 3</th>
    <td>Cell 1</td>
    <td>Cell 2</td>
    <td>Cell 3</td>
    <td>Cell 1</td>
    <td>Cell 2</td>
    <td>Cell 3</td>


The text enclosed in the <sup> tag is displayed as a superscript, <sub> tag is displayed as a subscript.

<sup>superscript</sup>, <sub>subscript</sub>


The <abbr> tag is an abbreviation, in the attribute title="" specify its decoding. Use the <acronym> tag for acronyms.

<abbr title="Explanation of the abbreviation">ABBR</abbr>
<acronym title="Explanation of the acronym">Acronym</acronym>


The text in the <pre> tag is not formatted automatically.

<pre>Unformatted text</pre>


Text placed in the <nobr> tag is wrapped at the page; For forced text wrapping, use the <br/> tag; for accurate alignment of images, use the attribute clear="all|left||right" in the tag <br />.

<nobr>Text without hyphenations</nobr>, <br clear="all|left||right" />


Unnumbered list; each element of the list is specified by the <li> tag, put a set of list items in the <ul> tag.

  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>


Numbered list; each element of the list is specified by the <li> tag, put a set of list items in the <ol> tag.

  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>

Habr special tags




It is used only in the texts of posts, it hides a part of the text that follows the tag (a button with the text "Read more" appears). To change the text on the button, use the attribute text="..."

<cut/>, <cut text="Your text"/>


Highlights the source code. To support the correct syntax, use the attribute lang=""

<source lang="javascript">Source code</source>


Insert content from other resources. Supported resources: gist.github.comSoundcloud.comSlideshare.netScribd.com and other.



Insert spoiler (expandable information block). To change the title of the spoiler, use the attribute title="…"

<spoiler title="Spoiler header">Spoiler content</spoiler>


Displays the user name in the text and sends the user a notification that he was mentioned in the publication / comments. You can use the @username construct, where username is the user's name.


Adding formulas

You can also add mathematical formulas to your publications using the LaTeX markup language.

To draw formulas on a page, we use the MathJax library.

To add a formula, click on the Σ icon in the toolbar. In the resulting modal window, select the type of the formula: the string or the block.

  • A string formula is used to insert a formula into a paragraph of text

  • Block formula is used to insert a formula with a new line

After composing the formula, click on the button «Add formula» and it appears in the post text.

Author Support Program

ASP abbreviation on Habr stands for the Author Support Program. In addition to recognition, authors can receive a monetary reward for quality publications — that’s obvious!

Users with at least one of the badges: «Author», «Star», «Legend» and «Old-timer» can participate in the program. And then, all you need is just to post interesting content.

Publications frequency limits

Users with full-fledged accounts without any prior moderation can post content that correspond to the core Habr topics and do not violate the rules of the community. However, there are several frequency restrictions:

  • if a user has created 3 posts within 24 hours, it will be possible to publish the next post not earlier than 24 hours after the the last one;

  • regardless of the karma state, you can not post it in a hub «I’m advertising» more than 2 publications in a row.


You can easily report a typo to the author by selecting a part of the text and pressing CTRL+Enter or CMD+Enter. You will see a form with a selected quote and a field for your comments. After you click «Send» message will be sent to the author and also will be visible in your conversations.

Only registered users can send messages. You can select any part of the text on the post page, but the quote will include only the first 220 characters. Maximum length of the comment is 500 characters. The most important thing on the website is content. The posts can be created by users with full accounts and positive karma (for several hubs the limits for karma may differ).