mooncake_impact_factor

mooncake_impact_factor 按生态对 MoonBit 注册表中各个包的依赖程度为它们排名。它根据依赖方、近期依赖方、下载量和发布日期为每个包评分,为分数加上等级和势头类别标签,并让你在一个 Web 应用中搜索和筛选结果;该应用既可以基于 SQLite 在本地运行,也可以作为静态站点运行。

本手册描述模块 Luna-Flow/mooncake-impact-factor 的 0.1.2 版本。

包

该 MoonBit 模块包含三个包。每个包都有 API 参考、教程和设计说明。

包用途页面
score影响力分数、等级标签、势头标签和分数快照。API · 教程 · 设计
cli一个根据 JSON 文件计算分数快照的 JavaScript 命令,供 Python 索引构建器使用。API · 教程 · 设计
static_search静态模式下浏览器搜索的版本标记和文本规范化。API · 教程 · 设计

仓库的其余部分不是 MoonBit:scripts/ 中的 Python 索引构建器和静态导出器,以及 app/、frontend/src/ 和 lib/ 中的 Next.js 应用。架构指南展示了它们如何组合在一起。

指南

  • 入门:构建数据库、运行 Web 应用并查询其 HTTP API。
  • 架构:从注册表到浏览器的数据管道,以及哪个文件负责哪条规则。
  • 约定:本仓库特有的文档规则。

阅读路径

我想看排名。 按照入门构建数据库并打开 Web 应用,然后阅读 score 教程理解这些数字的含义。

我想在 MoonBit 中使用分数。 从 score 教程开始,并把 score API 放在手边。调用方不是 MoonBit 时,请参阅 cli 教程。

我想修改模型或搜索。 阅读 score 设计了解公式的推导及其不变量,阅读 static_search 设计了解浏览器索引及其排序,阅读架构指南了解信号如何统计。仓库的 CONTRIBUTING.md 列出了需要运行的检查。

安装

moon add Luna-Flow/mooncake-impact-factor@0.1.2

然后在 moon.pkg 中导入所需的包,例如 "Luna-Flow/mooncake-impact-factor/score"。score 可为所有目标构建;cli 和 static_search 只能为 JavaScript 目标构建。

工具链

  • moonc 0.10 或更高版本的 MoonBit。该模块使用 moon.mod 和 moon.pkg 清单格式。
  • Node.js 20.16、22.3 或更高版本,用于运行 cli 和 Web 应用。
  • Python 3,用于索引构建器和静态导出器。

范围

排名来自注册表索引的本地副本,以及可选的来自 mooncakes.io 的下载量。它们不是 MoonBit 生态的权威排名,并且每当用更新的快照重建数据库时都会变化。