koishi-plugin-oni-sync-bot 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/index.js +18 -3
  2. package/package.json +1 -1
package/lib/index.js CHANGED
@@ -47,9 +47,15 @@ var import_mwn = require("mwn");
47
47
  var import_koishi = require("koishi");
48
48
  var import_pinyin_pro = require("pinyin-pro");
49
49
  var CROSS_SITE_LINK_REGEX = /\[\[(en|ru|pt-br):[^\]]*\]\]/g;
50
+ var DEV_TEXT_REGEX = /(?<!\w)Dev:/g;
51
+ var MODULE_NAMESPACE_PREFIX = "Module:Dev/";
50
52
  function clean_page_text(text) {
51
53
  const textWithoutCrossLink = text.replace(CROSS_SITE_LINK_REGEX, "");
52
- return textWithoutCrossLink;
54
+ const textWithReplacedDev = textWithoutCrossLink.replace(
55
+ DEV_TEXT_REGEX,
56
+ MODULE_NAMESPACE_PREFIX
57
+ );
58
+ return textWithReplacedDev;
53
59
  }
54
60
  __name(clean_page_text, "clean_page_text");
55
61
  async function getAndProcessPageContent(site, pageTitle) {
@@ -601,16 +607,24 @@ async function syncSingleModule(oldSite, newSite, moduleTitle, user) {
601
607
  }
602
608
  try {
603
609
  logger.info(`[SyncModule] 🔍 开始获取模块 ${moduleTitle} 的内容`);
610
+ let targetTitle = moduleTitle;
611
+ if (/^Dev:/i.test(moduleTitle)) {
612
+ const subPageName = moduleTitle.replace(/^Dev:/i, "");
613
+ targetTitle = `Module:Dev/${subPageName}`;
614
+ logger.info(
615
+ `[SyncModule] 🔀 检测到 Dev 命名空间,路径映射: ${moduleTitle} -> ${targetTitle}`
616
+ );
617
+ }
604
618
  const [oldContent, newContent] = await Promise.all([
605
619
  getAndProcessPageContent(oldSite, moduleTitle),
606
- getAndProcessPageContent(newSite, moduleTitle)
620
+ getAndProcessPageContent(newSite, targetTitle)
607
621
  ]);
608
622
  if (oldContent === newContent) {
609
623
  logger.info(`[SyncModule] 🟡 模块 ${moduleTitle} 内容未改变,跳过`);
610
624
  return { success: true, reason: "no_change" };
611
625
  }
612
626
  await newSite.save(
613
- moduleTitle,
627
+ targetTitle,
614
628
  oldContent,
615
629
  `由:${user || "同步坤器人手动"} 触发更改,此时同步`
616
630
  );
@@ -651,6 +665,7 @@ async function syncModules(oldSite, newSite) {
651
665
  try {
652
666
  const oldModuleList = await getAllModules(oldSite);
653
667
  const total = oldModuleList.length;
668
+ console.log(oldModuleList);
654
669
  if (total === 0) {
655
670
  logger.info(`[SyncAllModules] 📭 原站点无模块可同步,结束`);
656
671
  return;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "koishi-plugin-oni-sync-bot",
3
3
  "description": "缺氧Wiki站镜像点同步-测试",
4
- "version": "0.0.5",
4
+ "version": "0.0.6",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [