docs: def gallery_section(images, title):
      """Create detail section with gallery.
  
      Args:
          title (str): Title to be displayed for detail section.
          images: stream of marv image files
  
      Returns
          One detail section.
      """
      # pull all images
      imgs = []
      while True:
          img = yield marv.pull(images)
          if img is None:
              break
          imgs.append({'src': img.relpath})
      if not imgs:
          return
  
      # create gallery widget and section containing it
      widget = {'title': images.title, 'gallery': {'images': imgs}}
      section = {'title': title, 'widgets': [widget]}
      yield marv.push(section)