ITADN
nix-community/noogle · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Noogle

Website GitHub top language GitHub Workflow Status

Noogle 是一款简单的 Nix API 搜索引擎。它能让您搜索 Nix 函数。

当前功能

  • 专为初学者设计的 Nix 及相关函数搜索功能。
    • 以最佳可读性呈现文档注释。
    • 针对英文及 Nix 函数名进行了优化搜索。
  • 类型签名进行过滤。
    • 会解析并解释函数类型。
  • Noogle 还知晓那些尚未被正式记录的内容。
    • builtins 的类型(包括 builtins.derivation)。
    • 可通过向 Noogle 提交 markdown 内容来扩展其功能。
    • 始终显示基于 Nixpkgs 主分支的最新文档。
  • 生成预渲染的静态 HTML,可供其他搜索引擎索引。
  • 基于 Wasm 的高效搜索功能。

优质功能

  • 能检测(大多数)libbuiltins 函数的别名。
  • 通过在 nixpkgs.lib 中记录别名,即可覆盖 builtins 的文档内容。这样一来就无需再修改并重新构建 cpp nix 了。
  • nixnixpkgs 的内容会每日更新。所有文档更改都将在次日反映出来。

所有的索引操作均通过 pasta 模块完成。欢迎提交 Pull Request!

更多数据——例如内置函数的类型——可在 salt 中获取。

贡献

我们非常欢迎大家的贡献,只需提交 Pull Request 或 Issue 即可。索引数据可以非常轻松地添加到 ./pasta/src/eval.nix 中。

注意:索引数据必须能够被计算!

构建此页面

nix build .#ui

该页面用于生成静态 HTML 页面,每个 API 函数对应一个页面。

它会自动为 Google 或 Bing 等其他搜索引擎添加元标签。

页面内的搜索功能通过 pagefind] 实现,该功能仅存在于正式发布版本中。

开发

nix develop

该命令会根据dream2nix创建包含所有所需依赖项的node_modules目录。