markji.editor package

class markji.editor.FontBuilder(content: str)[源代码]

基类:object

字体构建器

参数:

content (str) -- 内容

from markji.editor import FontBuilder, FontColor, FontBackgroundColor, FontScript

FontBuilder("Hello, World!").bold().color(FontColor.RED).background(
    FontBackgroundColor.YELLOW
).script(FontScript.UP).build()
background(color: FontBackgroundColor | str)[源代码]

背景颜色

参数:

color (FontBackgroundColor | str) -- 颜色

返回:

自身

返回类型:

FontBuilder

bold()[源代码]

加粗

返回:

自身

返回类型:

FontBuilder

build() str[源代码]

构建

返回:

包装后的内容

返回类型:

str

color(color: FontColor | str)[源代码]

字体颜色

参数:

color (FontColor | str) -- 颜色

返回:

自身

返回类型:

FontBuilder

italics()[源代码]

斜体

返回:

自身

返回类型:

FontBuilder

script(script: FontScript)[源代码]

右上角标

参数:

script (FontScript) -- 角标上下位置

返回:

自身

返回类型:

FontBuilder

underline()[源代码]

下划线

返回:

自身

返回类型:

FontBuilder

class markji.editor.FontColor(value)[源代码]

基类:StrEnum

Enum 字体颜色

  • RED: 红色

  • ORANGE: 橙色

  • YELLOW: 黄色

  • GREEN: 绿色

  • BLUE: 蓝色

  • PURPLE: 紫色

  • GRAY: 灰色

RED = '!d16056'
ORANGE = '!dc7705'
YELLOW = '!eb9e27'
GREEN = '!36b59d'
BLUE = '!275bd1'
PURPLE = '!5c2fa6'
GRAY = '!90959b'
class markji.editor.FontBackgroundColor(value)[源代码]

基类:StrEnum

Enum 背景颜色

  • RED: 红色

  • ORANGE: 橙色

  • YELLOW: 黄色

  • GREEN: 绿色

  • BLUE: 蓝色

  • PURPLE: 紫色

  • GRAY: 灰色

RED = '!!fbc0bc'
ORANGE = '!!fedcb6'
YELLOW = '!!fff895'
GREEN = '!!c5f1c0'
BLUE = '!!cfdeff'
PURPLE = '!!dbc9fb'
GRAY = '!!e5e6ea'
class markji.editor.FontScript(value)[源代码]

基类:StrEnum

Enum 字体角标位置

  • UP: 上角标

  • DOWN: 下角标

UP = 'up'
DOWN = 'down'
class markji.editor.ParagraphBuilder(content: str | FontBuilder | ClozeBuilder | AudioBuilder | ReferenceBuilder)[源代码]

基类:object

段落构建器

参数:

content (str | FontBuilder | ClozeBuilder | AudioBuilder | ReferenceBuilder) -- 内容

纯文字段落

from markji.editor import ParagraphBuilder

ParagraphBuilder("Hello, World!").heading().center().build()

字体段落

from markji.editor import FontBuilder, FontColor, FontBackgroundColor, ParagraphBuilder

font_builder = FontBuilder("Hello, World!").bold().color(FontColor.RED).background(
    FontBackgroundColor.YELLOW
)

ParagraphBuilder(font_builder).heading().center().build()

完形填空段落

from markji.editor import ClozeBuilder, ParagraphBuilder

cloze_builder = ClozeBuilder("Hello, World!", 1)

ParagraphBuilder(cloze_builder).heading().build()

音频段落

from markji.editor import AudioBuilder, ParagraphBuilder

audio = await client.upload_file("example.mp3")

ParagraphBuilder(AudioBuilder(audio.id, "example")).heading().build()

卡片引用段落

from markji.editor import ReferenceBuilder, ParagraphBuilder

cards, _ = await client.search_cards("Internet", self_only=False)

ParagraphBuilder(ReferenceBuilder("Hello, World!", cards[0])).heading().build()
build() str[源代码]

构建

返回:

包装后的内容

返回类型:

str

center()[源代码]

居中

返回:

自身

返回类型:

ParagraphBuilder

heading()[源代码]

标题一

返回:

自身

返回类型:

ParagraphBuilder

list()[源代码]

无序列表

返回:

自身

返回类型:

ParagraphBuilder

class markji.editor.ClozeBuilder(content: str, group: int = 1)[源代码]

基类:object

完形填空构建器

组号必须为大于 0 的整数

参数:

content (str) -- 内容

from markji.editor import ClozeBuilder

ClozeBuilder("Hello, World!", 1).build()
build() str[源代码]

构建

返回:

包装后的内容

返回类型:

str

class markji.editor.ChoiceBuilder(choices: Iterable[ChoiceItem])[源代码]

基类:object

选择题构建器

参数:

choices (Iterable[ChoiceItem]) -- 选项

from markji.editor import ChoiceBuilder, ChoiceItem

choices = [
    ChoiceItem("dog", True),
    ChoiceItem("cat", True),
    ChoiceItem("horse", False),
    ChoiceItem("bird", False),
]

ChoiceBuilder(choices).build()
build() str[源代码]

构建

返回:

包装后的内容

返回类型:

str

fixed()[源代码]

固定

返回:

自身

返回类型:

ChoiceBuilder

multiple()[源代码]

多选

当选项列表中有多个选项被选中时,自动切换为多选,不需要调用此方法

此方法仅用于将单选题显示为多选题

返回:

自身

返回类型:

ChoiceBuilder

class markji.editor.ChoiceItem(content: str, chosen: bool)[源代码]

基类:object

选择题选项

必须另起一行

参数:
  • content (str) -- 内容

  • chosen (bool) -- 是否选取

class markji.editor.FormulaBuilder(content: str)[源代码]

基类:object

公式构建器

使用LaTex语法构建公式

参数:

content (str) -- 内容

from markji.editor import FormulaBuilder

FormulaBuilder("E=mc^{2}").build()
build() str[源代码]

构建

返回:

包装后的内容

返回类型:

str

class markji.editor.ReferenceBuilder(content: str, card: CardResult | Card | CardRootID | str | None = None)[源代码]

基类:object

卡片引用构建器

参数:
from markji.editor import ReferenceBuilder

cards, _ = await client.search_cards("Internet", self_only=False)

ReferenceBuilder("Hello, World!", cards[0]).build()
build() str[源代码]

构建

返回:

包装后的内容

返回类型:

str

class markji.editor.ImageBuilder(file_id: FileID | str)[源代码]

基类:object

图片构建器

参数:

file_id (FileID | str) -- 文件ID

from markji.editor import ImageBuilder

image = await client.upload_file("example.jpeg")

ImageBuilder(image.id).build()

增加遮罩

from markji.editor import ImageBuilder
from markji.types import MaskItem

mask_data = [
    MaskItem(0, 0, 128, 128, 1),
    MaskItem(200, 200, 256, 256, 2),
]

mask = await client.set_mask(mask_data)

image = await client.upload_file("example.jpeg")

ImageBuilder(image.id).mask(mask.id).build()
build() str[源代码]

构建

返回:

包装后的内容

返回类型:

str

mask(mask_id: FileID | str)[源代码]

遮罩

参数:

mask_id (FileID | str) -- 遮罩ID

返回:

self

返回类型:

ImageBuilder

class markji.editor.AudioBuilder(file_id: FileID | str, content: str | None = None)[源代码]

基类:object

音频构建器

参数:
  • file_id (FileID | str) -- 文件ID

  • content (str | None) -- 内容

本地音频

from markji.editor import AudioBuilder

audio = await client.upload_file("example.mp3")

AudioBuilder(audio.id).build()

语音生成

from markji.editor import AudioBuilder
from markji.types import LanguageCode

word = "example"
audio = await client.tts(word, LanguageCode.EN_US)

AudioBuilder(audio.id, word).build()
build() str[源代码]

构建

返回:

包装后的内容

返回类型:

str

markji.editor.AnswerLine = '---'

答案分割线

Submodules

markji.editor.choice module

class markji.editor.choice.ChoiceItem(content: str, chosen: bool)[源代码]

基类:object

选择题选项

必须另起一行

参数:
  • content (str) -- 内容

  • chosen (bool) -- 是否选取

class markji.editor.choice.ChoiceBuilder(choices: Iterable[ChoiceItem])[源代码]

基类:object

选择题构建器

参数:

choices (Iterable[ChoiceItem]) -- 选项

from markji.editor import ChoiceBuilder, ChoiceItem

choices = [
    ChoiceItem("dog", True),
    ChoiceItem("cat", True),
    ChoiceItem("horse", False),
    ChoiceItem("bird", False),
]

ChoiceBuilder(choices).build()
multiple()[源代码]

多选

当选项列表中有多个选项被选中时,自动切换为多选,不需要调用此方法

此方法仅用于将单选题显示为多选题

返回:

自身

返回类型:

ChoiceBuilder

fixed()[源代码]

固定

返回:

自身

返回类型:

ChoiceBuilder

build() str[源代码]

构建

返回:

包装后的内容

返回类型:

str

markji.editor.cloze module

class markji.editor.cloze.ClozeBuilder(content: str, group: int = 1)[源代码]

基类:object

完形填空构建器

组号必须为大于 0 的整数

参数:

content (str) -- 内容

from markji.editor import ClozeBuilder

ClozeBuilder("Hello, World!", 1).build()
build() str[源代码]

构建

返回:

包装后的内容

返回类型:

str

markji.editor.font module

class markji.editor.font.FontColor(value)[源代码]

基类:StrEnum

Enum 字体颜色

  • RED: 红色

  • ORANGE: 橙色

  • YELLOW: 黄色

  • GREEN: 绿色

  • BLUE: 蓝色

  • PURPLE: 紫色

  • GRAY: 灰色

RED = '!d16056'
ORANGE = '!dc7705'
YELLOW = '!eb9e27'
GREEN = '!36b59d'
BLUE = '!275bd1'
PURPLE = '!5c2fa6'
GRAY = '!90959b'
class markji.editor.font.FontBackgroundColor(value)[源代码]

基类:StrEnum

Enum 背景颜色

  • RED: 红色

  • ORANGE: 橙色

  • YELLOW: 黄色

  • GREEN: 绿色

  • BLUE: 蓝色

  • PURPLE: 紫色

  • GRAY: 灰色

RED = '!!fbc0bc'
ORANGE = '!!fedcb6'
YELLOW = '!!fff895'
GREEN = '!!c5f1c0'
BLUE = '!!cfdeff'
PURPLE = '!!dbc9fb'
GRAY = '!!e5e6ea'
class markji.editor.font.FontScript(value)[源代码]

基类:StrEnum

Enum 字体角标位置

  • UP: 上角标

  • DOWN: 下角标

UP = 'up'
DOWN = 'down'
class markji.editor.font.FontBuilder(content: str)[源代码]

基类:object

字体构建器

参数:

content (str) -- 内容

from markji.editor import FontBuilder, FontColor, FontBackgroundColor, FontScript

FontBuilder("Hello, World!").bold().color(FontColor.RED).background(
    FontBackgroundColor.YELLOW
).script(FontScript.UP).build()
bold()[源代码]

加粗

返回:

自身

返回类型:

FontBuilder

color(color: FontColor | str)[源代码]

字体颜色

参数:

color (FontColor | str) -- 颜色

返回:

自身

返回类型:

FontBuilder

background(color: FontBackgroundColor | str)[源代码]

背景颜色

参数:

color (FontBackgroundColor | str) -- 颜色

返回:

自身

返回类型:

FontBuilder

italics()[源代码]

斜体

返回:

自身

返回类型:

FontBuilder

underline()[源代码]

下划线

返回:

自身

返回类型:

FontBuilder

script(script: FontScript)[源代码]

右上角标

参数:

script (FontScript) -- 角标上下位置

返回:

自身

返回类型:

FontBuilder

build() str[源代码]

构建

返回:

包装后的内容

返回类型:

str

markji.editor.formula module

class markji.editor.formula.FormulaBuilder(content: str)[源代码]

基类:object

公式构建器

使用LaTex语法构建公式

参数:

content (str) -- 内容

from markji.editor import FormulaBuilder

FormulaBuilder("E=mc^{2}").build()
build() str[源代码]

构建

返回:

包装后的内容

返回类型:

str

markji.editor.media module

class markji.editor.media.ImageBuilder(file_id: FileID | str)[源代码]

基类:object

图片构建器

参数:

file_id (FileID | str) -- 文件ID

from markji.editor import ImageBuilder

image = await client.upload_file("example.jpeg")

ImageBuilder(image.id).build()

增加遮罩

from markji.editor import ImageBuilder
from markji.types import MaskItem

mask_data = [
    MaskItem(0, 0, 128, 128, 1),
    MaskItem(200, 200, 256, 256, 2),
]

mask = await client.set_mask(mask_data)

image = await client.upload_file("example.jpeg")

ImageBuilder(image.id).mask(mask.id).build()
mask(mask_id: FileID | str)[源代码]

遮罩

参数:

mask_id (FileID | str) -- 遮罩ID

返回:

self

返回类型:

ImageBuilder

build() str[源代码]

构建

返回:

包装后的内容

返回类型:

str

class markji.editor.media.AudioBuilder(file_id: FileID | str, content: str | None = None)[源代码]

基类:object

音频构建器

参数:
  • file_id (FileID | str) -- 文件ID

  • content (str | None) -- 内容

本地音频

from markji.editor import AudioBuilder

audio = await client.upload_file("example.mp3")

AudioBuilder(audio.id).build()

语音生成

from markji.editor import AudioBuilder
from markji.types import LanguageCode

word = "example"
audio = await client.tts(word, LanguageCode.EN_US)

AudioBuilder(audio.id, word).build()
build() str[源代码]

构建

返回:

包装后的内容

返回类型:

str

markji.editor.paragraph module

class markji.editor.paragraph.ParagraphBuilder(content: str | FontBuilder | ClozeBuilder | AudioBuilder | ReferenceBuilder)[源代码]

基类:object

段落构建器

参数:

content (str | FontBuilder | ClozeBuilder | AudioBuilder | ReferenceBuilder) -- 内容

纯文字段落

from markji.editor import ParagraphBuilder

ParagraphBuilder("Hello, World!").heading().center().build()

字体段落

from markji.editor import FontBuilder, FontColor, FontBackgroundColor, ParagraphBuilder

font_builder = FontBuilder("Hello, World!").bold().color(FontColor.RED).background(
    FontBackgroundColor.YELLOW
)

ParagraphBuilder(font_builder).heading().center().build()

完形填空段落

from markji.editor import ClozeBuilder, ParagraphBuilder

cloze_builder = ClozeBuilder("Hello, World!", 1)

ParagraphBuilder(cloze_builder).heading().build()

音频段落

from markji.editor import AudioBuilder, ParagraphBuilder

audio = await client.upload_file("example.mp3")

ParagraphBuilder(AudioBuilder(audio.id, "example")).heading().build()

卡片引用段落

from markji.editor import ReferenceBuilder, ParagraphBuilder

cards, _ = await client.search_cards("Internet", self_only=False)

ParagraphBuilder(ReferenceBuilder("Hello, World!", cards[0])).heading().build()
heading()[源代码]

标题一

返回:

自身

返回类型:

ParagraphBuilder

center()[源代码]

居中

返回:

自身

返回类型:

ParagraphBuilder

list()[源代码]

无序列表

返回:

自身

返回类型:

ParagraphBuilder

build() str[源代码]

构建

返回:

包装后的内容

返回类型:

str

markji.editor.reference module

class markji.editor.reference.ReferenceBuilder(content: str, card: CardResult | Card | CardRootID | str | None = None)[源代码]

基类:object

卡片引用构建器

参数:
from markji.editor import ReferenceBuilder

cards, _ = await client.search_cards("Internet", self_only=False)

ReferenceBuilder("Hello, World!", cards[0]).build()
build() str[源代码]

构建

返回:

包装后的内容

返回类型:

str