docs: def new_post(GITDIRECTORY=CONFIG['output_to'], kind=KINDS['writing']):  # pragma: no coverage # noqa
      """
      This function should create a template for a new post with a title
      read from the user input.
      Most other fields should be defaults.
      TODO: update this function
      """
  
      title = input("Give the title of the post: ")
      while ':' in title:
          title = input("Give the title of the post (':' not allowed): ")
  
      author = CONFIG['author']
      date = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d')
      tags = input("Give the tags, separated by ', ':")
      published = 'yes'
      chronological = 'yes'
      summary = ("summary: Type your summary here.")
  
      # make file name
      fname = os.path.join(os.getcwd(), 'content', kind['name_plural'],
                           datetime.datetime.strftime(datetime.datetime.now(),
                                                      '%Y'),
                           date + '-' + title.replace(' ', '-') + '.markdown')
      # first post every year need to create a new directory
      if not os.path.exists(os.path.dirname(fname)):
          os.makedirs(os.path.dirname(fname))
  
      with open(fname, 'w') as npost:
          npost.write('---\n')
          npost.write('title: %s\n' % title)
          npost.write('author: %s\n' % author)
          npost.write('published: %s\n' % date)
          npost.write('tags: %s\n' % tags)
          npost.write('public: %s\n' % published)
          npost.write('chronological: %s\n' % chronological)
          npost.write('kind: %s\n' % kind['name'])
          npost.write('%s\n' % summary)
          npost.write('---\n')
  
      os.system('%s %s' % (CONFIG['editor'], fname))