# @dario-loi/polytope 中文文档

规范地址：https://npmcn.com/package/%40dario-loi/polytope/

版本：0\.7\.2
npm 元数据更新时间：2026-10-14T04:12:08.729Z
中文译文更新时间：2026-11-14T07:49:35.308Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40dario-loi/polytope
原文对照：https://npmcn.com/package/%40dario-loi/polytope/?lang=original
项目主页：https://dario-loi.github.io/polytope/
源码仓库：https://github.com/dario-loi/polytope

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.2 MB，110 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.12
- 运行依赖：1 个
- peer 依赖：astro \>=5
- 首次发布：2026-10-11T19:46:43.644Z
- 最新版本发布：2026-10-14T04:12:08.385Z
- 近 30 天下载量：2123（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：16（近 12 个月 16 个）

## 中文简介

Polytope:指使,CSS组件,以及学术网站的Astro组件,纸页和研究演示.

## 安装

```sh
npm install @dario-loi/polytope
```

也可以使用：`pnpm add @dario-loi/polytope`、`yarn add @dario-loi/polytope`、`bun add @dario-loi/polytope`

## README

# 聚管

Polytope是研究者在网络上发布的设计系统:个人学术网站,每篇论文的一页,以及随行的小互动演示. 它作为平地 CSS, Astro 组件,和一个 Python 主题,全部从一个符号文件中编译,所以纸上的数字与主机的页面相匹配.

![The Polytope docs site: a wood-type title on the left and a black panel on the right holding a complex of points, edges, and mustard triangles, with a radius slider below](https://npmcn.com/package/%40dario-loi/polytope/docs/public/img/polytope-getting-started.png)

文件和现场实例: [https://dario-loi.github.io/polytope/ 互联网档案馆的存檔,存档日期2013-12-21](https://dario-loi.github.io/polytope/)

## 看起来像什么

视觉语言取自1961年为IBM设计的数学展览"Charles"和"Ray Eames". 页面为白色墙壁,有黑色展板和重规则. 标题被设定在"Ultra"中,一种脂肪的木质型平板. 你读到的一切都在"利布尔·富兰克林"中,代码在"JetBrains Mono"中. 红色标记一个移动的东西 或你所在的地方,芥末 持有笔记,而tal是链接.

每页都有一个工作模式。 徽为一Vieworis-Rips复合体:随机点会结合到边缘并填入三角形时拖出半径. 文档随从光点增长而打开,主页图案将其作为头图. 概率机,是一款将真正的随机球倒入铃道曲线的Galton板,以"原理"(principles)运行并双倍作为加载指标. 这两作都没有JavaScript,在读者要求减少运动时显示其最终状态.

![The homepage pattern in the dark theme, with a random complex of points, edges, and filled triangles](https://npmcn.com/package/%40dario-loi/polytope/docs/public/img/polytope-homepage-dark.png)

## 包括什么

-   大约30个CSS组件,从按钮和表单到纸头,引用,定理环境,一个出版列表,演示铬,以及用静态Pagefind索引进行站点搜索. 光和暗的主题自动切换.
-   35 印出同样标记的Astro组件,以及 `<Seo>`,它会写入搜索结果的头标签,Google Scholar,并链接预览.
-   作为定制要素的两种工作模式, `<ply-machine>` 财务报告和审定财务报表 `<ply-complex>`和地图集, `<ply-atlas>`:一个CV中位置的地球,该地球会转至您所读的每个条目.
-   一个由8个颜色组成的图表调色板,检查两个主题的色彩视觉缺陷,其中有taplotlib,有图案,Gradio,以及使用它的Streamlit主题.
-   导出 Tailwind v4, Sass, LaTeX (xcolor and a pgfplots cycle list), TypeScript, Figma 令牌插件, 以及 Shiki和 VS 代码的代码主题 .
-   文件网站本身,有四个完整的例子页:一个主页,一个纸页,一个演示,和一个CV.

## 安装

```sh
npm install @dario-loi/polytope
```

然后在您的布局中导入样式表 :

```js
import "@dario-loi/polytope/css";
```

没有构建步骤的页面可以链接主机文件 :

```html
<link rel="stylesheet" href="https://dario-loi.github.io/polytope/kit/polytope.css">
<script type="module" src="https://dario-loi.github.io/polytope/kit/js/all.js"></script>
```

Python主题 在PyPI上:

```sh
pip install "polytope-theme[matplotlib,plotly]"
```

## 使用 Polytope 与 impecable 设备

[无瑕疵](https://github.com/pbakaus/impeccable) 从 `DESIGN.md` 财务报告和审定财务报表 `.impeccable/design.json`Polytope舰只都复制到一个地点:

```sh
npx @dario-loi/polytope            # copies DESIGN.md and .impeccable/design.json into the site
npx @dario-loi/polytope --check    # fails if the copies are older than the installed Polytope
```

在安装了Polytope的工程中,npx运行该副本. 命令不会取代另一个系统的 `DESIGN.md` 除非你通过 `--force`。 。 。 .

没有npm的站点(例如由Python所建的静态站点)可以取取被绑在放行上相同的文件,并在其模板中链接主机样式表:

```sh
curl -fsSLo DESIGN.md https://raw.githubusercontent.com/dario-loi/polytope/v0.7.2/DESIGN.md
mkdir -p .impeccable && curl -fsSLo .impeccable/design.json https://raw.githubusercontent.com/dario-loi/polytope/v0.7.2/.impeccable/design.json
```

无论哪种方式,新页面被构建在 Polytope 内部,设计检查器标记系统以外的任何东西。 运行 `/impeccable init` 一旦网站有了它 `PRODUCT.md`,每次升级 Polytope 时再次复制文件.

## 首页

与 Astro 连接 :

```astro
---
import "@dario-loi/polytope/css";
import { TopBar, Mast, Machine, Note } from "@dario-loi/polytope/astro";
---
<TopBar brand="John Doe" links={[{ label: "Research", href: "/" }]} />
<Mast title="Research" lede="Graph learning and the shapes data comes in.">
  <Machine slot="exhibit" interactive />
</Mast>
<main class="ply-container ply-prose">
  <Note>Results are averaged over five seeds.</Note>
</main>
```

有了matplotlib,所以纸上的数字与页面相匹配:

```python
import matplotlib.pyplot as plt
import polytope_theme as ply

ply.use("light")
fig, ax = plt.subplots()
ax.plot(epochs, accuracy, label="GCN")
fig.savefig("figure.pdf")
```

## Polytope方面的工作

```sh
git clone https://github.com/dario-loi/polytope
cd polytope
npm install              # installs the build dependencies
npm run build            # rebuilds dist/ and the generated Python files; commit the result
npm run docs:dev         # rebuilds the kit and serves the docs locally
npm run check:contrast   # fails if any text pair drops below WCAG AA
npm run check:prose      # fails on any en or em dash in the sources or the built docs
cd python && pytest      # tests for the Python theme
```

设计决定由 `tokens/tokens.json` 样式 `css/src/`。该建筑写了其他一切,包括 `dist/` 和生成的 Python 文件, 因此编辑源代码并运行 `npm run build`并履行它所写的. `dist/` 被故意执行 : 从 GitHub 安装后不运行安装脚本, CI 如果从新建筑漂移则失败 . `DESIGN.md` 将系统记录为已建系统及其背后的规则.

| 路径 | 它所持有的 |
| --- | --- |
| `tokens/tokens.json` | W3C 设计托肯斯格式的每个设计决定 |
| `css/src/` | CSS核心,分级层,带有 `ply-` 前缀 |
| `css/js/` | 工作模型、地图集及其地图数据、网站搜索、复制按钮的小脚本、滚动框、主题切换和窗体控制 |
| `astro/` | Astro 组件 |
| `python/` | 这个 `polytope-theme` 软件包 |
| `scripts/` | 仅使用节点标准库的构建和对比及出道检查 |
| `docs/` | 文献网站 |

## 状态

这是0.5版本。 核心组成部分在文件、工作模型、地图集、研究组成部分、, `<Seo>`,演示铬是实验性的,可能在1.0之前改变。 Docs网站上的更改日志列出了不同版本之间的变化.

## 信贷和许可证

Polytope由东北大学的Dario Loi制作并被Apache许可证2.0发行. 见 `LICENSE` 财务报告和审定财务报表 `NOTICE`。 。 。 .

捆绑的字体保留自己的许可证,在字体文件旁边发运:由Apache许可证2.0下的Astigmatic所发;由SIL开放字体许可证1.1下发运的Libre Franklin和JetBrains Mono. 文件遵循的设计系统的定义来自 [SBB 设计系统](https://digital.sbb.ch/en/design-system/getting-started/intro/)。 。 。 .

## 常见问题

### @dario-loi/polytope 是什么？

Polytope:指使,CSS组件,以及学术网站的Astro组件,纸页和研究演示\.

### 如何安装 @dario-loi/polytope？

在项目目录运行 npm install @dario-loi/polytope，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 polytope-design，可以用 npx polytope-design 直接运行。

### @dario-loi/polytope 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @dario-loi/polytope 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @dario-loi/polytope 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.12。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @dario-loi/polytope 可以商用吗？

@dario-loi/polytope 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @dario-loi/polytope 的下载量有多少？

根据 npm 官方下载统计，@dario-loi/polytope 在 2026/10/12 – 2026/11/10 这 30 天内被下载 2,123 次，日均约 71 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @dario-loi/polytope 还在维护吗？

最新版本 0\.7\.2 发布于 2026/10/14（1 个月前）；至今共发布 16 个版本，其中过去 12 个月发布了 16 个；首次发布于 2026/10/12。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

