Skip to content

Lute ​

TIP

Lute 是由 go 语言项目 88250/lute 通过 GopherJS 转换为 JavaScript 代码生成的。其在思源中通过引入 js 文件的方式直接挂载到全局对象下,所以在siyuan项目中只有 TypeScript 类定义(declare),没有实际的源代码。

下面是根据给定的 TypeScript 类定义生成的说明文档模板:

属性 ​

PropertyTypeDescription
WalkStopnumber#TODO
WalkSkipChildrennumber#TODO
WalkContinuenumber#TODO
Versionstring#TODO
Caretstring#TODO

静态方法: New ​

  • 函数签名

    ts
    public static New(): Lute;
  • 描述

    New 创建一个新的 Lute 引擎。

    默认启用的解析选项:

    • GFM 支持
    • 脚注
    • 标题自定义 ID
    • Emoji 别名替换,比如 ❤️ 替换为 ❤️
    • YAML Front Matter

    默认启用的渲染选项:

    • 软换行转硬换行
    • 代码块语法高亮
    • 中西文间插入空格
    • 修正术语拼写
    • 标题自定义 ID

静态方法: EChartsMindmapStr ​

  • 函数签名

    ts
    public static EChartsMindmapStr(text: string): string;
  • 描述

    #TODO

静态方法: NewNodeID ​

  • 函数签名

    ts
    public static NewNodeID(): string;
  • 描述

    #TODO

静态方法: Sanitize ​

  • 函数签名

    ts
    public static Sanitize(html: string): string;
  • 描述

    #TODO

静态方法: EscapeHTMLStr ​

  • 函数签名

    ts
    public static EscapeHTMLStr(str: string): string;
  • 描述

    #TODO

静态方法: UnEscapeHTMLStr ​

  • 函数签名

    ts
    public static UnEscapeHTMLStr(str: string): string;
  • 描述

    #TODO

静态方法: GetHeadingID ​

  • 函数签名

    ts
    public static GetHeadingID(node: ILuteNode): string;
  • 描述

    #TODO

静态方法: BlockDOM2Content ​

  • 函数签名

    ts
    public static BlockDOM2Content(html: string): string;
  • 描述

    #TODO

构造函数 ​

  • 函数签名

    ts
    private constructor();
  • 描述

    #TODO

方法: BlockDOM2Content ​

  • 函数签名

    ts
    public BlockDOM2Content(text: string): string;
  • 描述

    #TODO

方法: BlockDOM2EscapeMarkerContent ​

  • 函数签名

    ts
    public BlockDOM2EscapeMarkerContent(text: string): string;
  • 描述

    #TODO

方法: SetTextMark ​

  • 函数签名

    ts
    public SetTextMark(enable: boolean): void;
  • 描述

    #TODO

方法: SetHeadingID ​

  • 函数签名

    ts
    public SetHeadingID(enable: boolean): void;
  • 描述

    #TODO

方法: SetProtyleMarkNetImg ​

  • 函数签名

    ts
    public SetProtyleMarkNetImg(enable: boolean): void;
  • 描述

    #TODO

方法: SetSpellcheck ​

  • 函数签名

    ts
    public SetSpellcheck(enable: boolean): void;
  • 描述

    #TODO

方法: SetFileAnnotationRef ​

  • 函数签名

    ts
    public SetFileAnnotationRef(enable: boolean): void;
  • 描述

    #TODO

方法: SetSetext ​

  • 函数签名

    ts
    public SetSetext(enable: boolean): void;
  • 描述

    #TODO

方法: SetYamlFrontMatter ​

  • 函数签名

    ts
    public SetYamlFrontMatter(enable: boolean): void;
  • 描述

    #TODO

方法: SetChineseParagraphBeginningSpace ​

  • 函数签名

    ts
    public SetChineseParagraphBeginningSpace(enable: boolean): void;
  • 描述

    #TODO

方法: SetRenderListStyle ​

  • 函数签名

    ts
    public SetRenderListStyle(enable: boolean): void;
  • 描述

    #TODO

方法: SetImgPathAllowSpace ​

  • 函数签名

    ts
    public SetImgPathAllowSpace(enable: boolean): void;
  • 描述

    #TODO

方法: SetKramdownIAL ​

  • 函数签名

    ts
    public SetKramdownIAL(enable: boolean): void;
  • 描述

    #TODO

方法: BlockDOM2Md ​

  • 函数签名

    ts
    public BlockDOM2Md(html: string): string;
  • 描述

    #TODO

方法: BlockDOM2StdMd ​

  • 函数签名

    ts
    public BlockDOM2StdMd(html: string): string;
  • 描述

    #TODO

方法: SetGitConflict ​

  • 函数签名

    ts
    public SetGitConflict(enable: boolean): void;
  • 描述

    #TODO

方法: SetSuperBlock ​

  • 函数签名

    ts
    public SetSuperBlock(enable: boolean): void;
  • 描述

    #TODO

方法: SetTag ​

  • 函数签名

    ts
    public SetTag(enable: boolean): void;
  • 描述

    #TODO

方法: SetMark ​

  • 函数签名

    ts
    public SetMark(enable: boolean): void;
  • 描述

    #TODO

方法: SetSub ​

  • 函数签名

    ts
    public SetSub(enable: boolean): void;
  • 描述

    #TODO

方法: SetSup ​

  • 函数签名

    ts
    public SetSup(enable: boolean): void;
  • 描述

    #TODO

方法: SetBlockRef ​

  • 函数签名

    ts
    public SetBlockRef(enable: boolean): void;
  • 描述

    #TODO

方法: SetSanitize ​

  • 函数签名

    ts
    public SetSanitize(enable: boolean): void;
  • 描述

    SetSanitize 设置为 true 时表示对输出进行 XSS 过滤。该方法定义在lute.go文件中。

    WARNING

    根据官方描述,Lute 目前的实现存在一些漏洞,请不要依赖它来防御 XSS 攻击。

方法: SetHeadingAnchor ​

  • 函数签名

    ts
    public SetHeadingAnchor(enable: boolean): void;
  • 描述

    #TODO

方法: SetImageLazyLoading ​

  • 函数签名

    ts
    public SetImageLazyLoading(imagePath: string): void;
  • 描述

    #TODO

方法: SetInlineMathAllowDigitAfterOpenMarker ​

  • 函数签名

    ts
    public SetInlineMathAllowDigitAfterOpenMarker(enable: boolean): void;
  • 描述

    #TODO

方法: SetToC ​

  • 函数签名

    ts
    public SetToC(enable: boolean): void;
  • 描述

    #TODO

方法: SetIndentCodeBlock ​

  • 函数签名

    ts
    public SetIndentCodeBlock(enable: boolean): void;
  • 描述

    #TODO

方法: SetParagraphBeginningSpace ​

  • 函数签名

    ts
    public SetParagraphBeginningSpace(enable: boolean): void;
  • 描述

    #TODO

方法: SetFootnotes ​

  • 函数签名

    ts
    public SetFootnotes(enable: boolean): void;
  • 描述

    #TODO

方法: SetLinkRef ​

  • 函数签名

    ts
    public SetLinkRef(enable: boolean): void;
  • 描述

    #TODO

方法: SetEmojiSite ​

  • 函数签名

    ts
    public SetEmojiSite(emojiSite: string): void;
  • 描述

    #TODO

方法: PutEmojis ​

  • 函数签名

    ts
    public PutEmojis(emojis: IObject): void;
  • 描述

    #TODO

方法: SpinBlockDOM ​

  • 函数签名

    ts
    public SpinBlockDOM(html: string): string;
  • 描述

    用于转换和修正块,该方法返回值为思源块 html 文本,参数html可以是原来的块 html 文本,也可以是 Markdown 文本,因为其工作流程为:参数html转换为 Markdown 文本,转换为抽象语法树,生成返回值。

    从调用情况看,该方法多用于在以下情况下生成正确的块 html 文本:通过/菜单新建块、在编辑器中输入 Markdown 标记文本(如在行首输入#)、在编辑器中输入回车等。

方法: Md2BlockDOM ​

  • 函数签名

    ts
    public Md2BlockDOM(html: string): string;
  • 描述

    #TODO

方法: SetProtyleWYSIWYG ​

  • 函数签名

    ts
    public SetProtyleWYSIWYG(wysiwyg: boolean): void;
  • 描述

    #TODO

方法: MarkdownStr ​

  • 函数签名

    ts
    public MarkdownStr(name: string, md: string): string;
  • 描述

    #TODO

方法: IsValidLinkDest ​

  • 函数签名

    ts
    public IsValidLinkDest(text: string): boolean;
  • 描述

    IsValidLinkDest 判断 text 是否为合法的链接地址。

方法: BlockDOM2InlineBlockDOM ​

  • 函数签名

    ts
    public BlockDOM2InlineBlockDOM(html: string): string;
  • 描述

    #TODO

方法: BlockDOM2HTML ​

  • 函数签名

    ts
    public BlockDOM2HTML(html: string): string;
  • 描述

    #TODO