mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-20 00:45:54 +03:00
docs(mxl): разделить справочник DSL и описать новые ключи
Справочник был одним файлом на 273 строки, а полная таблица свойств стиля его бы удвоила. Разделён по частоте обращения, как в meta-compile: в инструкции маршрутная таблица «что нужно → какой файл». reference/dsl-spec.md — верхний уровень, области, строки, ячейки reference/styles.md — шрифты, стили, цвет, рамка, колонки reference/format-properties.md — полный перечень свойств стиля Описаны columnStyles и новая запись стиля: ключ = имя свойства как в выгрузке, рамка пятью ключами, цвет в четырёх формах. Прежние align/valign/wrap работают и дальше, но в описании их нет — иначе у модели появляется развилка. Ограничения переписаны по факту: цвета, скрытие, отступ, посторонние рамки и стили линий больше не теряются; зато честно названо то, что теряется до сих пор — оформление строки помимо высоты. Пример из спеки скомпилирован и проверен валидатором. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
3c7f7345bb
commit
08503c72e9
@@ -43,19 +43,26 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/mxl-compile.ps1" -J
|
||||
|
||||
## JSON-схема DSL
|
||||
|
||||
Ниже — компактная структура и ключевые правила, достаточные для типового макета. Полные таблицы полей (все свойства шрифтов, стилей, ячеек), развёрнутый пример и ограничения формата — в **`reference/dsl-spec.md`**; нужны не всегда, читать по необходимости.
|
||||
Ниже — компактная структура и ключевые правила, достаточные для типового макета. Подробности читать по необходимости:
|
||||
|
||||
| Что нужно | Файл |
|
||||
|---|---|
|
||||
| Полные таблицы полей, развёрнутый пример, ограничения формата | `reference/dsl-spec.md` |
|
||||
| Шрифты, стили, цвета, рамки, колоночные раскладки и стили колонок | `reference/styles.md` |
|
||||
| Полный перечень свойств стиля — все 44 | `reference/format-properties.md` |
|
||||
|
||||
Краткая структура:
|
||||
|
||||
```
|
||||
{ columns, page, defaultWidth, columnWidths,
|
||||
{ columns, page, defaultWidth, columnWidths, columnStyles,
|
||||
fonts: { name: { face, size, bold, italic, underline, strikeout } },
|
||||
styles: { name: { font, align, valign, border, borderWidth, wrap, format } },
|
||||
styles: { name: { font, horizontalAlignment, verticalAlignment, textPlacement,
|
||||
backColor, textColor, border, borderColor, format, hidden } },
|
||||
areas: [{ name, columnSet, rows: [{ height, rowStyle, cells: [
|
||||
{ col, span, rowspan, style, param, detail, text, template }
|
||||
]}]}],
|
||||
namedAreas: [{ name, rows, cols }],
|
||||
columnSets: { name: { columns, columnWidths } }
|
||||
columnSets: { name: { columns, columnWidths, columnStyles } }
|
||||
}
|
||||
```
|
||||
|
||||
@@ -64,6 +71,8 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/mxl-compile.ps1" -J
|
||||
- `name` у области в `areas` необязателен: область без имени — просто кусок сетки, именованной она не станет
|
||||
- `namedAreas` — области, которые не описываются диапазоном подряд идущих строк: полоса колонок, прямоугольник, ячейка. Тип не указывается, он следует из того, какие оси заданы
|
||||
- `columnSet` у области — ссылка на раскладку из `columnSets`, когда группе строк нужны свои ширины колонок; без него действует документная раскладка
|
||||
- Ключ стиля — имя свойства как в выгрузке; `columnStyles` вешает стиль на колонку так же, как `style` на ячейку
|
||||
- Рамка — `border` (все стороны) или `leftBorder`/`topBorder`/`rightBorder`/`bottomBorder`; значение `"Solid"` либо `{ style, width }`
|
||||
- `rowStyle` — автозаполнение пустот стилем (рамки по всей ширине)
|
||||
- `empty` в строке — шорткат для N подряд пустых строк (`{ "empty": 3 }` = три `{}`)
|
||||
- Строку можно писать массивом ячеек — позиция из порядка, `col` не нужен: `"текст"`, `"{Имя}"` — параметр, `">"` — продолжить ячейку слева, `"|"` — сверху, `null` — пропуск колонки
|
||||
|
||||
Reference in New Issue
Block a user