Haml | HTML Pre-processor

As its name suggests the pre-processor is the first stage of the whole compiling process it includes removing the comments, expanding the macros, the inclusion of the headers, etc.
Haml Logo
In HTML and CSS when it comes to writing it, It is a bit crucial as we have to do the same job again and again like closing the tab and repeating the same attribute for the same element and it will lead to inefficiency. To overcome these problems there exists the Pre-processors. So, The Pre-processors in HTML are nothing but the same as that in other languages, it takes the input in the form of data and it converts in other types of data. In the case of markups like HTML and CSS, the popular preprocessor includes Haml and Sass.

HTML preprocessor can also be understood as it is a program that helps the developer to generate the HTML syntax from the syntax of the preprocessor. It will add some unique features which do not present in the pure HTML syntax. As preprocessors are the programs they are always processed in some languages hence the Haml processed in HTML and Sass.

HAML Pre-processor: Haml stands for HTML Abstraction Markup Language created by Hampton Catlin and the only objective behind to create it is to make the markup beautiful. It is basically a Ruby-based pre-processor and required Ruby to be installed in your local machine for the Mac OS, Ruby comes preinstalled while for windows user can install it from here. To install the Haml follow the below commands.

  • For installing the HAML:
    gem install haml
  • For converting the HAML to HTML:
    haml index.haml index.html
  • Note: Command should be run inside the same directory where the index file resides.

    Examples:

    • Code for the header in Haml Pre-Processor:
      filter_none

      edit
      close

      play_arrow

      link
      brightness_4
      code

      %body
          %center
              %header
                  %h1GeeksforGeeks
              %section
                  %bA Computer Science Portal for Geeks

      chevron_right

      
      

    • HAML code code converted in HTML:
      filter_none

      edit
      close

      play_arrow

      link
      brightness_4
      code

      <body>
          <center>
              <header>
                  <h1>GeeksforGeeks</h1>
              </header>
              <section>
                  <b>A Computer Science Portal for Geeks</b>
              </section>
          </center>
      </body>

      chevron_right

      
      

    • Output : The output of the above HTML or the HAML code.

    Note: The Haml code will reduce the code readability for the HTML code but code reduced syntactically and also by line.

    full-stack-img




    My Personal Notes arrow_drop_up

    Check out this Author's contributed articles.

    If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

    Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.