def replace_link_wrap()

in scripts/merge_by_toc.py [0:0]


def replace_link_wrap(chapter, name):
    def replace_link(match):
        full = match.group(0)  # 获取完整的匹配
        link_name = match.group(1)  # 获取链接名称
        link = match.group(2)  # 获取链接地址
        frag = match.group(3)  # 获取链接片段
        if link.startswith('http'):  # 如果是HTTP链接
            return full  # 返回完整匹配
        elif link.endswith('.md') or '.md#' in link:  # 如果是Markdown文件链接
            if not frag:  # 如果没有片段
                link = link[1:]  # 去掉开头的斜杠
                for fpath in file_link_name:  # 遍历文件链接名称
                    if link == fpath:  # 如果链接匹配
                        frag = '#' + file_link_name[fpath]  # 添加片段
            return '[%s](%s)' % (link_name, frag)  # 返回替换后的链接
        elif link.endswith('.png') or link.endswith('.jpeg') or link.endswith('.svg') or link.endswith('.gif') or link.endswith('.jpg'):  # 如果是图片链接
            img_link = re.sub(r'[\.\/]*images\/', 'static/images/', link, count=0, flags=0)  # 替换图片路径
            return '[%s](%s)' % (link_name, img_link)  # 返回替换后的图片链接
        else:
            return full  # 返回完整匹配

    return hyper_link_pattern.sub(replace_link, chapter)  # 替换章节中的链接