openpencil/packages/docs/ru/programmable/cli/inspecting.md
Danila Poyarkov 904f3ca390
fix: use official Homebrew cask installation guidance (#712)
* fix: use official Homebrew cask installation guidance

* docs: guide localized pages through the old Homebrew tap

The translated getting-started pages documented the official cask but not
the migration from the archived tap, so readers of those pages had no
uninstall step for the old formula.
2026-09-17 13:36:17 +03:00

141 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Просмотр документов
description: Дерево объектов, поиск по имени и типу и просмотр свойств из терминала.
---
# Просмотр документов
CLI позволяет изучать документы дизайна без запуска редактора. Те же команды работают с открытым настольным приложением, если не указывать файл.
::: tip Установка
```sh
npm install -g @open-pencil/cli
# или
bun add -g @open-pencil/cli
```
:::
## Общие сведения
Количество страниц и объектов, используемые шрифты и размер файла:
```sh
openpencil info design.fig
```
## Дерево объектов
```sh
openpencil tree design.fig
```
## Поиск объектов
По типу:
```sh
openpencil find design.fig --type TEXT
```
По имени:
```sh
openpencil find design.fig --name "Button"
```
Параметры можно использовать одновременно.
## Запросы XPath
Селекторы XPath находят объекты по типу, атрибутам и положению в дереве:
```sh
openpencil query design.fig "//FRAME"
```
### По типу
```sh
openpencil query design.fig "//TEXT" # Все текстовые объекты
openpencil query design.fig "//COMPONENT" # Все компоненты
openpencil query design.fig "//INSTANCE" # Все экземпляры
```
### По атрибутам
```sh
openpencil query design.fig "//FRAME[@width < 300]" # Фреймы уже 300 пикселей
openpencil query design.fig "//*[@cornerRadius > 0]" # Объекты со скруглёнными углами
openpencil query design.fig "//*[@visible = false]" # Скрытые объекты
openpencil query design.fig "//TEXT[@fontSize >= 24]" # Крупный текст
openpencil query design.fig "//*[@opacity < 1]" # Объекты с неполной прозрачностью
```
### По имени и содержимому
```sh
openpencil query design.fig "//TEXT[contains(@name, 'Button')]"
openpencil query design.fig "//TEXT[contains(@text, 'Hello')]"
```
### По иерархии
```sh
openpencil query design.fig "//SECTION//TEXT" # Текст внутри секций
openpencil query design.fig "//FRAME/TEXT" # Непосредственные текстовые потомки фреймов
openpencil query design.fig "//COMPONENT_SET//INSTANCE" # Экземпляры внутри наборов компонентов
```
### Доступные атрибуты
`name`, `width`, `height`, `x`, `y`, `visible`, `opacity`, `cornerRadius`, `fontSize`, `fontFamily`, `fontWeight`, `layoutMode`, `itemSpacing`, `paddingTop`, `paddingRight`, `paddingBottom`, `paddingLeft`, `strokeWeight`, `rotation`, `locked`, `blendMode`, `text`, `lineHeight`, `letterSpacing`
## Свойства объекта
```sh
openpencil node design.fig --id 1:23
```
## Страницы и переменные
```sh
openpencil pages design.fig
openpencil variables design.fig
```
## Работа с открытым приложением
Если настольное приложение запущено, не указывайте путь к файлу. CLI подключится по RPC к открытому документу:
```sh
openpencil documents
openpencil tree
openpencil tree --document-id tab-123 --page-id 0:1
openpencil eval --document-id tab-123 --page-id 0:1 -c "..."
```
Для автоматизированных процессов сначала вызовите `openpencil documents --json`, а затем явно передавайте `--document-id` и `--page-id`, не полагаясь на видимую активную вкладку или страницу.
## Проверка качества
Проверка имён, компоновки, структуры и доступности:
```sh
openpencil lint design.fig
openpencil lint design.pen --preset strict
openpencil lint design.fig --rule color-contrast
openpencil lint design.fig --list-rules
```
Добавьте `--json`, если результат будет обрабатывать другая программа.
## Вывод JSON
Все команды поддерживают `--json`. Результат можно передать `jq`, проверке CI или другой программе:
```sh
openpencil tree design.fig --json | jq '.[] | .name'
```