code: def gen_ascii_docs(src='fastai'):
      
      os.chdir(Path(__file__).absolute().parent)
      with working_directory('..'):
          path = Path(src)
          if path.is_dir():
              file_paths = list(path.glob('**/*.py'))
          else:
              file_paths = [path]
  
      pat = re.compile('^(?!__init__).*.py\Z')
      for file_path in file_paths:
          if pat.match(file_path.name):
              file_path.parent.mkdir(parents=True, exist_ok=True)
              with working_directory('..'):
                  tmpl_str = parse_module(file_path)
  
              (file_path.parent/(file_path.name.rsplit('.',1)[0] + '.adoc.tmpl')).write_text(tmpl_str)
              (file_path.parent/(file_path.name.rsplit('.',1)[0] + '.adoc')).write_text(re.sub(r"{{(.*?)}}", parse_tmpl, tmpl_str, flags=re.DOTALL))
      if path.is_dir():
          subprocess.call(['asciidoctor', str(path) + '/**/*.adoc'])
      else:
          subprocess.call(['asciidoctor', str(path).rsplit('.',1)[0] + '.adoc'])
docs: Generate documentation for fastai library in HTML (asciidoctor required)
      :param str src: The absolute/relative path of source file/dir