这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

API 目录

模块

名称描述
AnnotationType提供了可在模板设计文件中.pymd使用的注释的枚举类型。

名称描述
Position用于定位在原始模板字符串中的位置。
TemplateBasePymaidol 模板的后台类,是所有 Pymaidol 模板类的基类。
TemplateRenderer将模板字符串渲染为字符串的类。

1 - AnnotationType 模块

概述

AnnotationType 模块提供了可在模板设计文件中.pymd使用的注释的枚举类型。

模块:pymaidol

导入

from pymaidol import AnnotationType

名称描述
AnnotationTypeEnum 枚举AnnotationTypeEnum 枚举是所有注释种类枚举类的基类。内部无枚举值,只用于被继承。
SingleLineAnnotationTypeEnum 枚举包含了可在模板设计文件中.pymd使用的单行注释的类型。
MultiLineAnnotationTypeEnum 枚举包含了可在模板设计文件中.pymd使用的多行注释的类型。

静态变量

名称类型描述
FULL_ANNOTATION_TYPElist[AnnotationTypeEnum]包含了所有注释种类枚举类的枚举值的列表。

1.1 - AnnotationTypeEnum 枚举

概述

AnnotationTypeEnum 枚举是所有注释种类枚举类的基类。内部无枚举值,只用于被继承。

模块:pymaidol.AnnotationType

继承自:enum.Enum

导入

from pymaidol import AnnotationTypeEnum

from pymaidol.AnnotationType import AnnotationTypeEnum

1.2 - MultiLineAnnotationTypeEnum 枚举

概述

包含了可在模板设计文件中.pymd使用的多行注释的类型。

模块:pymaidol.AnnotationType

继承自:pymaidol.AnnotationType.AnnotationTypeEnum

导入

from pymaidol import MultiLineAnnotationTypeEnum

from pymaidol.AnnotationType import MultiLineAnnotationTypeEnum

枚举项

名称描述
Python’''Python 的多行注释,即以 ''' 开头和结尾的注释。
C/*C 的多行注释,即以 /\* 开头和 */ 结尾的注释。
HTML<!–HTML 的多行注释,即以 <!-- 开头和 --> 结尾的注释。

1.3 - SingleLineAnnotationTypeEnum 枚举

概述

包含了可在模板设计文件中.pymd使用的单行注释的类型。

模块:pymaidol.AnnotationType

继承自:pymaidol.AnnotationType.AnnotationTypeEnum

导入

from pymaidol import SingleLineAnnotationTypeEnum

from pymaidol.AnnotationType import SingleLineAnnotationTypeEnum

枚举项

名称描述
Python#Python 的单行注释,即以 # 开头的注释。
C//C 的单行注释,即以 // 开头的注释。

另请参阅

AnnotationTypeEnum 枚举

2 - Position 类

概述

Position 类用于定位在原始模板字符串中的位置。

Position 的对象里的属性是只读的,初始化之后不允许被修改。

注意:当 Position 类用于结束位置时,是包括该位置的字符的。比如:如果 start.total = 20end.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 对象,且其所有属性与原对象相同。

3 - TemplateBase 类

概述

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 中无论是否包含它,都将被视为禁用该注释类型。

templatetemplate_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

templatetemplate_file_path 都为 None 时,TemplateBase 类及其子类将试图读取在与其同一目录下、与其同名的模板文件 .pymd。如果两个都不为空,则优先使用 template

返回值 (None)

无。

Render(inject_kwargs) (final)

给与数据并渲染模板字符串。

参数

  • inject_kwargs (dict, Optional): 用于渲染模板字符串的外部注入变量。默认为 None。注入的变量将会作为局部变量。

返回值 (str)

渲染后的字符串。

4 - TemplateRenderer 类

概述

将模板字符串渲染为字符串的类。

模块: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: 渲染后的字符串。