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

4.6 KiB
Raw Blame History

title description
Просмотр документов Дерево объектов, поиск по имени и типу и просмотр свойств из терминала.

Просмотр документов

CLI позволяет изучать документы дизайна без запуска редактора. Те же команды работают с открытым настольным приложением, если не указывать файл.

::: tip Установка

npm install -g @open-pencil/cli
# или
bun add -g @open-pencil/cli

:::

Общие сведения

Количество страниц и объектов, используемые шрифты и размер файла:

openpencil info design.fig

Дерево объектов

openpencil tree design.fig

Поиск объектов

По типу:

openpencil find design.fig --type TEXT

По имени:

openpencil find design.fig --name "Button"

Параметры можно использовать одновременно.

Запросы XPath

Селекторы XPath находят объекты по типу, атрибутам и положению в дереве:

openpencil query design.fig "//FRAME"

По типу

openpencil query design.fig "//TEXT"                    # Все текстовые объекты
openpencil query design.fig "//COMPONENT"               # Все компоненты
openpencil query design.fig "//INSTANCE"                # Все экземпляры

По атрибутам

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]"         # Объекты с неполной прозрачностью

По имени и содержимому

openpencil query design.fig "//TEXT[contains(@name, 'Button')]"
openpencil query design.fig "//TEXT[contains(@text, 'Hello')]"

По иерархии

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

Свойства объекта

openpencil node design.fig --id 1:23

Страницы и переменные

openpencil pages design.fig
openpencil variables design.fig

Работа с открытым приложением

Если настольное приложение запущено, не указывайте путь к файлу. CLI подключится по RPC к открытому документу:

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, не полагаясь на видимую активную вкладку или страницу.

Проверка качества

Проверка имён, компоновки, структуры и доступности:

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 или другой программе:

openpencil tree design.fig --json | jq '.[] | .name'