自动解析 python 文档字符串并将它们转换为 markdown!
项目描述
docs2md
自动解析 python 文档字符串并将它们转换为 markdown!
安装
pip install你可以走了!
https://pypi.org/project/docs2md/
指示
只需从命令行运行docs2md.py即可与 ol' main 函数进行交互。
注意:程序使用 f-strings,因此3.6需要 python 或更高版本。
假设您将有一个像这样的文件夹结构:
.
├── foo.py
├── blahbla
│ ├── __init__.py
│ └── blahblah.py
├── LICENSE
└── README.md
运行python3 -m docs2md.py .将产生以下结果:
.
├── docs
│ ├── foo.md
│ └── blahbla
│ ├── __init__.md
│ └── blahblah.md
├── foo.py
├── blahbla
│ ├── __init__.py
│ └── blahblah.py
├── LICENSE
└── README.md
命令行参数如下:
positional arguments:
f File or directory to parse!
optional arguments:
-h, --help show this help message and exit
-d [DOCS_DIR], --docs-dir [DOCS_DIR]
Documentation directory in which your .md files will
be saved. Defaults to [cwd]/docs
-p, --just-print Prints the results instead of creating a whole file!
-s [SAVE_IMPORT], --save-import [SAVE_IMPORT]
Whether you'll want to save the imports to another
file. Simply place the path of the txt file you'll
want to save your imports to
--test Runs doctest!
无论如何,这是如何工作的?
如果输入是一个目录,doc2md.py将 glob 查找 python 文件的所有文件,然后查找 docstrings。
注意:该程序还将包括__init__主文件和主文件,因为这些文件可能包括关键声明。
该yield_docstrings函数将使用 python 的抽象语法树模块来查找以下节点附近的文档字符串:
- 函数定义:
def foo()...
- 异步函数定义:
def async foo()...
- 类定义:
class foo:...
- 模块:
"""docstrings at the start of a file"""
并根据它们自动生成一个简单的降价。随意阅读这个 repo 的 docs 文件夹,它是使用这个工具自然创建的。
该程序还将寻找以下节点:
- 进口于
- 进口
并提到一个python文件从这个或那个模块导入的事实。
(这对于跟踪依赖关系很有用,您可以使用 -s 标志单独保存它们)
截至撰写本文时,该程序尚未包含全局变量或数据。尽管我倾向于将它们包含在未来的更新中。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
docs2md-1.0.1.tar.gz
(6.8 kB
查看哈希)
内置分布
docs2md-1.0.1-py3-none-any.whl
(19.5 kB
查看哈希)