code: def get_pages(self, include_draft=False):
          
  
          def pages_generator(pages_root_path):
              for file_path in traverse_directory(pages_root_path,
                                                  yield_dir=False):
                  rel_path = os.path.relpath(file_path, pages_root_path)
                  rel_path, ext = os.path.splitext(rel_path)
                  if not ext or ext == '.' or get_standard_format_name(
                          ext[1:]) is None:
                      continue  # pragma: no cover
  
                  if rel_path.endswith(os.path.sep + 'index'):
                      rel_path = rel_path[:-len('index')]
                  else:
                      rel_path += '.html'
                  page = self.get_page(rel_path.replace(os.path.sep, '/'),
                                       include_draft=include_draft)
                  if page is not None:
                      yield page
  
          pages_path = os.path.join(current_app.instance_path, 'pages')
          return list(pages_generator(pages_path))
docs: Get all custom pages
          (supported formats, excluding other files like '.js', '.css', '.html').
  
          :param include_draft: return draft page or not
          :return: an iterable of Page objects