code: def add_note(
              self,
              note):
          
          self.refresh
          note = note.strip()
  
          newNote = self._get_object(
              regex=re.compile(
                  r'((?<=\n)|(?<=^))(?P<title>\S(?<!-)((?!(: +@|: *\n|: *$)).)*)\s*?(\n|$)(?P<tagString>&&&)?(?P<content>&&&)?', re.UNICODE),
              objectType="note",
              content=note
          )
  
          # ADD DIRECTLY TO CONTENT IF THE PROJECT IS BEING ADDED SPECIFICALLY TO
          # THIS OBJECT
          oldContent = self.to_string(indentLevel=1)
          newContent = self.to_string(
              indentLevel=1)
  
          if self.parent:
              self.parent._update_document_tree(
                  oldContent=oldContent,
                  newContent=newContent
              )
  
          self.notes = newNote + self.notes
          self.content = self.content.replace(self.to_string(indentLevel=0, title=False), self.to_string(
              indentLevel=0, title=False))
  
          doc = self
          while doc.parent:
              doc = doc.parent
          doc.refresh
  
          return newNote[0]
docs: *Add a note to this taskpaper object*
  
          **Key Arguments:**
              - ``note`` -- the note (string)
  
          **Return:**
              - None
  
          **Usage:**
  
              To add a note to a document, project or task object:
  
              .. code-block:: python
  
                  newNote = doc.add_note(And another note with a link http://www.thespacedoctor.co.uk")