Skip to content

Commit 108b068

Browse files
committed
docs: refresh DocC navigation and theming
1 parent 01e7533 commit 108b068

77 files changed

Lines changed: 994 additions & 54 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/rules/troubleshooting.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,7 @@ Common problems and solutions when working with ExFig.
5454
| PKL `swiftuiColorSwift` casing | PKL codegen lowercases: `swiftuiColorSwift`, not `swiftUIColorSwift` -- check with `pkl eval` if unsure |
5555
| Penpot `svgAttrs` decoding | `svgAttrs` contains mixed types (strings + nested dicts) -- use `SVGAttributes` wrapper that extracts string values only, not `[String: String]` |
5656
| iOS icons PKL: `xcassetsPath` | `xcassetsPath` and `target` are required in iOS PKL config even for Penpot; `assetsFolder` is folder name inside xcassets, not absolute path |
57+
| DocC preview white screen | Don't overwrite `docs/index.html` — it's a full SPA. Rebuild with `./bin/mise run docs` |
58+
| DocC `+=` infinite redirect | `--hosting-base-path` adds prefix — omit for local preview, use only for GitHub Pages |
59+
| DocC preview port 8080 | `widget-simulator-service` occupies 8080 on macOS — use port 9090 or kill it |
60+
| DocC icon invisible dark mode | `currentColor` in SVG doesn't work in `<img>` — use `~dark.svg` with `#ffffff` stroke |

CLAUDE.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,13 @@ When changing fields on `ColorsSourceInput` / `IconsSourceInput` / `ImagesSource
371371
`docs/` is DocC OUTPUT (gitignored, for GitHub Pages) — never put source docs there.
372372
When adding new features, mention briefly in README Quick Start AND update relevant DocC articles.
373373

374+
**DocC visual directives:** Articles use `@Metadata` with `@PageImage`, `@PageColor`, `@TitleHeading`.
375+
SVG icons from Lucide (MIT) in `ExFig.docc/Resources/`. Dark variants use `~dark.svg` suffix
376+
with `#ffffff` stroke (light uses `#1d1d1f`). `currentColor` does NOT work in DocC icon SVGs
377+
(`<img>` tag context). `@Links(visualStyle: compactGrid|detailedGrid)` for card-grid navigation.
378+
`theme-settings.json` in docc root for global color/font customization.
379+
Color scheme: Getting Started → blue, iOS → blue, Android → green, Flutter → blue, Advanced → purple, Contributing → orange.
380+
374381
**JSONCodec usage:**
375382

376383
```swift

Sources/ExFigCLI/ExFig.docc/Android/Android.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
Export Figma resources to Android projects with XML resources and Jetpack Compose code.
44

5+
@Metadata {
6+
@PageImage(purpose: icon, source: "android-icon", alt: "Android platform")
7+
@PageColor(green)
8+
@TitleHeading("Platform Guide")
9+
}
10+
511
## Overview
612

713
ExFig exports design resources from Figma to Android projects:
@@ -224,10 +230,12 @@ fun MyScreen() {
224230

225231
### Resources
226232

227-
- <doc:AndroidColors>
228-
- <doc:AndroidIcons>
229-
- <doc:AndroidImages>
230-
- <doc:AndroidTypography>
233+
@Links(visualStyle: compactGrid) {
234+
- <doc:AndroidColors>
235+
- <doc:AndroidIcons>
236+
- <doc:AndroidImages>
237+
- <doc:AndroidTypography>
238+
}
231239

232240
## See Also
233241

Sources/ExFigCLI/ExFig.docc/Android/AndroidColors.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
Export color palettes from Figma to Android XML resources and Jetpack Compose code.
44

5+
@Metadata {
6+
@PageImage(purpose: icon, source: "colors-icon", alt: "Android colors export")
7+
@PageColor(green)
8+
@TitleHeading("Platform Guide")
9+
}
10+
511
## Overview
612

713
ExFig exports colors as:

Sources/ExFigCLI/ExFig.docc/Android/AndroidIcons.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
Export vector icons from Figma to Android VectorDrawable XML resources.
44

5+
@Metadata {
6+
@PageImage(purpose: icon, source: "icons-icon", alt: "Android icons export")
7+
@PageColor(green)
8+
@TitleHeading("Platform Guide")
9+
}
10+
511
## Overview
612

713
ExFig exports icons as:

Sources/ExFigCLI/ExFig.docc/Android/AndroidImages.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
Export raster images from Figma to Android drawable resources in PNG or WebP format.
44

5+
@Metadata {
6+
@PageImage(purpose: icon, source: "images-icon", alt: "Android images export")
7+
@PageColor(green)
8+
@TitleHeading("Platform Guide")
9+
}
10+
511
## Overview
612

713
ExFig exports images as:

Sources/ExFigCLI/ExFig.docc/Android/AndroidTypography.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
Export text styles from Figma to Android XML resources and Jetpack Compose code.
44

5+
@Metadata {
6+
@PageImage(purpose: icon, source: "typography-icon", alt: "Android typography export")
7+
@PageColor(green)
8+
@TitleHeading("Platform Guide")
9+
}
10+
511
## Overview
612

713
ExFig exports typography as:

Sources/ExFigCLI/ExFig.docc/Architecture.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
ExFig v2.0 uses a plugin-based architecture with twelve modules. This document explains the system design and how to extend it.
44

5+
@Metadata {
6+
@PageImage(purpose: icon, source: "architecture-icon", alt: "Architecture overview")
7+
@PageColor(orange)
8+
@TitleHeading("Contributing")
9+
}
10+
511
## Overview
612

713
```

Sources/ExFigCLI/ExFig.docc/BatchProcessing.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
Export all resource types from one or more configs in a single run.
44

5+
@Metadata {
6+
@PageImage(purpose: icon, source: "batch-icon", alt: "Batch processing")
7+
@PageColor(purple)
8+
@TitleHeading("Advanced")
9+
}
10+
511
## Overview
612

713
The `batch` command is the primary way to use ExFig in production. It exports colors, icons, images,

Sources/ExFigCLI/ExFig.docc/CICDIntegration.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
Automate design exports in your continuous integration pipeline.
44

5+
@Metadata {
6+
@PageImage(purpose: icon, source: "cicd-icon", alt: "CI/CD integration")
7+
@PageColor(purple)
8+
@TitleHeading("Advanced")
9+
}
10+
511
## Overview
612

713
ExFig is designed for headless environments. It provides quiet mode, structured JSON reports,

0 commit comments

Comments
 (0)