模块
名称 | 描述 |
---|---|
AnnotationType | 提供了可在模板设计文件中.pymd 使用的注释的枚举类型。 |
类
名称 | 描述 |
---|---|
Position | 用于定位在原始模板字符串中的位置。 |
TemplateBase | Pymaidol 模板的后台类,是所有 Pymaidol 模板类的基类。 |
TemplateRenderer | 将模板字符串渲染为字符串的类。 |
名称 | 描述 |
---|---|
AnnotationType | 提供了可在模板设计文件中.pymd 使用的注释的枚举类型。 |
名称 | 描述 |
---|---|
Position | 用于定位在原始模板字符串中的位置。 |
TemplateBase | Pymaidol 模板的后台类,是所有 Pymaidol 模板类的基类。 |
TemplateRenderer | 将模板字符串渲染为字符串的类。 |
AnnotationType
模块提供了可在模板设计文件中.pymd
使用的注释的枚举类型。
模块:pymaidol
from pymaidol import AnnotationType
名称 | 描述 |
---|---|
AnnotationTypeEnum 枚举 | AnnotationTypeEnum 枚举是所有注释种类枚举类的基类。内部无枚举值,只用于被继承。 |
SingleLineAnnotationTypeEnum 枚举 | 包含了可在模板设计文件中.pymd 使用的单行注释的类型。 |
MultiLineAnnotationTypeEnum 枚举 | 包含了可在模板设计文件中.pymd 使用的多行注释的类型。 |
名称 | 类型 | 描述 |
---|---|---|
FULL_ANNOTATION_TYPE | list[AnnotationTypeEnum] | 包含了所有注释种类枚举类的枚举值的列表。 |
AnnotationTypeEnum
枚举是所有注释种类枚举类的基类。内部无枚举值,只用于被继承。
继承自:enum.Enum
from pymaidol import AnnotationTypeEnum
或
from pymaidol.AnnotationType import AnnotationTypeEnum
包含了可在模板设计文件中.pymd
使用的多行注释的类型。
继承自:pymaidol.AnnotationType.AnnotationTypeEnum
from pymaidol import MultiLineAnnotationTypeEnum
或
from pymaidol.AnnotationType import MultiLineAnnotationTypeEnum
名称 | 值 | 描述 |
---|---|---|
Python | ’'' | Python 的多行注释,即以 ''' 开头和结尾的注释。 |
C | /* | C 的多行注释,即以 /\* 开头和 */ 结尾的注释。 |
HTML | <!– | HTML 的多行注释,即以 <!-- 开头和 --> 结尾的注释。 |
包含了可在模板设计文件中.pymd
使用的单行注释的类型。
继承自:pymaidol.AnnotationType.AnnotationTypeEnum
from pymaidol import SingleLineAnnotationTypeEnum
或
from pymaidol.AnnotationType import SingleLineAnnotationTypeEnum
名称 | 值 | 描述 |
---|---|---|
Python | # | Python 的单行注释,即以 # 开头的注释。 |
C | // | C 的单行注释,即以 // 开头的注释。 |
Position
类用于定位在原始模板字符串中的位置。
Position
的对象里的属性是只读的,初始化之后不允许被修改。
注意:当 Position
类用于结束位置时,是包括该位置的字符的。比如:如果 start.total = 20
, end.total = 30
,那么对原模板字符串的切片应该为 template[20:31]
。
模块:pymaidol.Positions
from pymaidol import Position
或
from pymaidol.Positions import Position
Position(line_index, char_index, total)
line_index
(int): 行索引。从 0 开始。char_index
(int): 当前行的字符索引。从 0 开始。total
(int): 字符索引。从 0 开始。line_index
(int,readonly)行索引。从 0 开始。
char_index
(int,readonly)当前行的字符索引。从 0 开始。
total
(int,readonly)字符索引。从 0 开始。
full_description
(str,readonly)完整的、人类可读的位置描述。
Position.Default()
@ classmethod
新建并返回一个默认的 Position
对象,其所有属性均为 0。
无。
Position
)默认的 Position
对象。
Copy()
复制并返回一个新的 Position
对象。
无。
Position
)新的 Position
对象,且其所有属性与原对象相同。
TemplateBase
类是 Pymaidol 模板的后台类,是所有 Pymaidol 模板类的基类。是不可实例化的抽象类,需要被继承使用。
模块:pymaidol.TemplateBase
继承自:abc.ABC
from pymaidol import TemplateBase
或
from pymaidol.TemplateBase import TemplateBase
TemplateBase(template, template_file_path, supported_annotation_types, disable_annotation_types)
(virtual)template
(str, optional): 模板字符串。默认为 None
。template_file_path
(str, optional): 模板文件路径。默认为 None
。supported_annotation_types
(list[AnnotationTypeEnum], optional): 支持的注释类型列表。默认为所有注释类型(Python、C的单行与多行注释、HTML注释)。disable_annotation_types
(list[AnnotationTypeEnum], optional): 禁用的注释类型列表,使这些注释出现在渲染后的文本中。默认为空。禁用的优先级高于支持。例如,如果 disable_annotation_types
中包含 AnnotationTypeEnum.SingleLineAnnotationTypeEnum.Python
(python 单行注释),则 supported_annotation_types
中无论是否包含它,都将被视为禁用该注释类型。当 template
与 template_file_path
都为 None
时,TemplateBase
类及其子类将试图读取在与其同一目录下、与其同名的模板文件 .pymd
。如果两个都不为空,则优先使用 template
。
rendered
(str,readonly)渲染后的字符串。如果自初始化或调用 HotReload()
方法以来没有调用过 Render()
方法,则为 None
。
template
(str,readonly)模板字符串。
HotReload(template, template_file_path)
(final)重新加载模板。
template
(str, optional): 模板字符串。默认为 None
。template_file_path
(str, optional): 模板文件路径。默认为 None
。当 template
与 template_file_path
都为 None
时,TemplateBase
类及其子类将试图读取在与其同一目录下、与其同名的模板文件 .pymd
。如果两个都不为空,则优先使用 template
。
None
)无。
Render(inject_kwargs)
(final)给与数据并渲染模板字符串。
inject_kwargs
(dict, Optional): 用于渲染模板字符串的外部注入变量。默认为 None
。注入的变量将会作为局部变量。str
)渲染后的字符串。
将模板字符串渲染为字符串的类。
模块:pymaidol.TemplateRenderer
from pymaidol import TemplateRenderer
或
from pymaidol.TemplateRenderer import TemplateRenderer
TemplateRenderer(template, supported_annotation_types)
template
(str): 模板字符串。supported_annotation_types
(list[AnnotationTypeEnum], optional): 支持的注释类型列表。默认为所有注释类型(Python、C的单行与多行注释、HTML注释)。template
(str,readonly)模板字符串。
TemplateRenderer.ReadFromFile(template_file_path, supported_annotation_types)
(classmethod)给定模板文件路径,返回一个 TemplateRenderer
对象。
template_file_path
(str): 模板文件路径。supported_annotation_types
(list[AnnotationTypeEnum]): 支持的注释类型列表。TemplateRenderer
: TemplateRenderer
对象。
Render(local_vars, global_vars)
(final)给与数据并渲染模板字符串。
local_vars
(dict): 用于渲染模板字符串的局部变量。global_vars
(dict,可选): 用于渲染模板字符串的全局变量。默认为 None
。str
: 渲染后的字符串。