• Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

Module:萌点/doc

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索

这是Module:萌点的文档页面

简介

本模块用于实现Template:萌点的主要功能:将输入的萌点参数按照相应的转换规则,转换为带格式的链接并添加分类。本模块使用的具体对应规则请见Module:萌点/data

此文档主要面向需要对模块本身进行修改的编辑者。若需要增加新的链接/分类对应规则,请于Module:萌点/data处进行修改。

模块结构

依赖模块

  • Module:Arguments - 获取参数
  • Module:萌点/data - 萌点链接/分类转换规则数据
  • Module:Split2 - 用于字符串分割

核心函数

p.trim(x)

  • 用于去除萌点名称末尾的括号内容
    • 使用正则表达式 pattern = "[%s]*[(][^))\n]*[)][%s]*$"
    • 示例: "女王(身份)" → "女王"

p.proc(str1, control, frame)

  • 应用文本格式化控制
  • 支持的格式控制符:
控制符 效果 示例
黑幕/heimu 黑幕效果 文本
del 删除线 文本
加粗/b 加粗 文本

p.proc2(str)

  • 用于确定萌点的链接部分(即“[[A|B]]”中“A”的部分)
  • 处理优先级:
    1. data.link_rules.direct_mapping (直接映射规则)
    2. data.link_rules.suffix_mapping (是否需要添加后缀)
    3. data.link_rules.special_professions (职业类型萌属性单独区分,后加“(萌属性)”)
    4. 若不符合上述规则,默认返回原始字符串

p.proc3(name, rawname, link, frame)

  • 用于生成萌点分类
  • 处理规则:
    1. 检查是否需要添加“需要检查”维护分类(当原始名称包含括号,但不在“免检”范围时)
    2. 特殊规则处理:
      • 能力者类萌点自动添加“者”后缀(但于data.ability_exceptions处排除一些以“能力”结尾的萌属性)
      • 使用data.category_rules.direct_mappingdata.category_rules.suffix_mapping进行匹配
    3. 最终通过ac模板生成分类

p._main(args, frame)

  • 用于主处理逻辑
  • 参数格式:
  • 输入萌点支持三种格式:
    1. 呆毛 → 基本格式
    2. 眼镜,黑幕 → 带格式控制
    3. 黑色过膝袜,黑丝,del → 自定义显示名称+格式
  • 处理流程:
    1. 用逗号/中文逗号分割参数
    2. 应用链接规则(proc2)和格式(proc)
    3. 添加分类(proc3)
    4. 若有多个萌点参数,则用顿号连接

需要注意的是,如果某个参数由三部分组成(即“link, name, control”),那么虽然分类会按照对应规则进行处理,但条目名及链接名不会进行处理。这是由于本模块认为用户在此种情形下希望自行决定链接转换方法,而不是按照已有规则进行转换。