docs: def _generate_notebook_header(notebook_object, notebook_type, notebook_title="Notebook Title",
                                tags="tags", difficulty_stars=1,
                                notebook_description="Notebook Description"):
      """
      Internal function that is used for generation of the generic notebooks header.
  
      ----------
      Parameters
      ----------
      notebook_object : notebook object
          Object of "notebook" class where the header will be created.
  
      notebook_type : str
          Notebook type: - "Main_Files_Signal_Samples"
                         - "Main_Files_By_Category"
                         - "Main_Files_By_Difficulty"
                         - "Main_Files_By_Tag"
                         - "Acquire"
                         - "Open"
                         - "Visualise"
                         - "Process"
                         - "Detect"
                         - "Extract"
                         - "Train_and_Classify"
                         - "Explain"
  
      notebook_title : None or str
          The Notebook title should only be defined when 'notebook_type' is:
         - "Acquire"
         - "Open"
         - "Visualise"
         - "Process"
         - "Detect"
         - "Extract"
         - "Train_and_Classify"
         - "Explain"
  
      tags : str
          Sequence of tags that characterize the Notebook.
  
      difficulty_stars : int
          This input defines the difficulty level of the Notebook instructions.
  
      notebook_description : str
          An introductory text to present the Notebook and involve the reader.
  
      """
  
      # ============================= Creation of Header ====================================
      header_temp = HEADER_ALL_CATEGORIES.replace("header_image_color_i", "header_image_color_" +
                                                  str(NOTEBOOK_KEYS[notebook_type]))
      header_temp = header_temp.replace("header_image_i", "header_image_" +
                                        str(NOTEBOOK_KEYS[notebook_type]))
      header_temp = header_temp.replace("Notebook Title", notebook_title)
      notebook_object["cells"].append(nb.v4.new_markdown_cell(header_temp, **{"metadata": {"tags": ["intro_info_title"]}}))
  
      # =============== Inclusion of the div with "Difficulty" and "Tags" ===================
      tags_and_diff = HEADER_TAGS.replace('<td class="shield_right" id="tags">tags</td>',
                                          '<td class="shield_right" id="tags">' + "&#9729;".join(tags)
                                          + '</td>')
      for star in range(1, 6):
          if star <= difficulty_stars:
              tags_and_diff = tags_and_diff.replace("fa fa-star " + str(star), "fa fa-star "
                                                                               "checked")
          else:
              tags_and_diff = tags_and_diff.replace("fa fa-star " + str(star), "fa fa-star")
  
      notebook_object["cells"].append(nb.v4.new_markdown_cell(tags_and_diff,
                                                              **{"metadata": {"tags": ["intro_info_tags"]}}))
  
      # ================= Insertion of the div reserved to the Notebook Description ==================
      notebook_object["cells"].append(nb.v4.new_markdown_cell(notebook_description,
                                                              **{"metadata":
                                                                  {"tags": ["test"]}}))
      notebook_object["cells"].append(nb.v4.new_markdown_cell(SEPARATOR))
  
      # ======================= Insertion of a blank Markdown and Code cell ==========================
      notebook_object["cells"].append(nb.v4.new_markdown_cell(MD_EXAMPLES))
      notebook_object["cells"].append(nb.v4.new_code_cell(CODE_EXAMPLES))