<commit_before>Feature: Markdown headers

  Write headers in markdown. Six levels (from `h1` to `h6`) of headers are
  available.

  You can write header in two way, by calling a header function or using
  `String` extension.

  Headers are written using _classical_ style like `# H1` or `### H3`
  instead of underlined versions.

  Scenario: Headers functions
    When I execute the following koios code:
      """
      Koios::Doc.write {[
        h1('H1'),
        h2('H2'),
        h3('H3'),
        h4('H4'),
        h5('H5'),
        h6('H6')
      ]}
      """
    Then the markdown output is:
      """

      # H1

      ## H2

      ### H3

      #### H4

      ##### H5

      ###### H6

      """

  Scenario: Headers join strings
    When I execute the following koios code:
      """
      Koios::Doc.write {[
        h3('This', ' is', ' a', ' h3', ' header')
      ]}
      """
    Then the markdown output is:
      """

      ### This is a h3 header

      """<commit_msg>Add string extension header example<commit_after>Feature: Markdown headers

  Write headers in markdown. Six levels (from `h1` to `h6`) of headers are
  available.

  You can write header in two way, by calling a header function or using
  `String` extension.

  Headers are written using _classical_ style like `# H1` or `### H3`
  instead of underlined versions.

  Scenario: Headers functions
    When I execute the following koios code:
      """
      Koios::Doc.write {[
        h1('H1'),
        h2('H2'),
        h3('H3'),
        h4('H4'),
        h5('H5'),
        h6('H6')
      ]}
      """
    Then the markdown output is:
      """

      # H1

      ## H2

      ### H3

      #### H4

      ##### H5

      ###### H6

      """

  Scenario: Headers join strings
    When I execute the following koios code:
      """
      Koios::Doc.write {[
        h3('This', ' is', ' a', ' h3', ' header')
      ]}
      """
    Then the markdown output is:
      """

      ### This is a h3 header

      """

  Scenario: String extensions
    When I execute the following koios code:
      """
      Koios::Doc.write {[
        'H1'.h1,
        'H2'.h2,
        'H3'.h3,
        'H4'.h4,
        'H5'.h5,
        'H6'.h6
      ]}
      """
    Then the markdown output is:
      """

      # H1

      ## H2

      ### H3

      #### H4

      ##### H5

      ###### H6

      """
{'fraction_non_alphanumeric': 0.144, 'fraction_numerical': 0.02863157894736842, 'mean_word_length': 1.6817155756207676, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3915618', 'n_tokens_mistral': 803, 'n_tokens_neox': 757, 'n_words': 236}