docs: def construct_headline(need_data, app):
      """
      Constructs the node-structure for the headline/title container
      :param need_data: need_info container
      :return: node
      """
      # need title calculation
      title_type = '{}: '.format(need_data["type_name"])
      title_headline = need_data["title"]
      title_id = "{}".format(need_data["id"])
      title_spacer = " "
  
      # need title
      node_type = nodes.inline(title_type, title_type, classes=["needs-type"])
      node_title = nodes.inline(title_headline, title_headline, classes=["needs-title"])
  
      nodes_id = nodes.inline(classes=["needs-id"])
  
      nodes_id_text = nodes.Text(title_id, title_id)
      id_ref = make_refnode(app.builder,
                            fromdocname=need_data['docname'],
                            todocname=need_data['docname'],
                            targetid=need_data['id'],
                            child=nodes_id_text.deepcopy(),
                            title=title_id)
      nodes_id += id_ref
  
      node_spacer = nodes.inline(title_spacer, title_spacer, classes=["needs-spacer"])
  
      headline_line = nodes.line(classes=["headline"])
      headline_line.append(node_type)
      headline_line.append(node_spacer)
      headline_line.append(node_title)
      headline_line.append(node_spacer)
      headline_line.append(nodes_id)
  
      return headline_line