dogsbay 0.2.0-beta.10 → 0.2.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dogsbay",
3
- "version": "0.2.0-beta.10",
3
+ "version": "0.2.0-beta.11",
4
4
  "description": "CLI for Dogsbay — scaffold, build, and serve documentation sites with markdown / MkDocs / Obsidian / OpenAPI sources",
5
5
  "type": "module",
6
6
  "bin": {
@@ -32,14 +32,14 @@
32
32
  "picocolors": "^1.1.0",
33
33
  "prompts": "^2.4.2",
34
34
  "yaml": "^2.8.3",
35
- "@dogsbay/format-mkdocs": "0.2.0-beta.10",
36
- "@dogsbay/format-astro": "0.2.0-beta.10",
37
- "@dogsbay/format-obsidian": "0.2.0-beta.10",
38
- "@dogsbay/format-mdx": "0.2.0-beta.10",
39
- "@dogsbay/format-starlight": "0.2.0-beta.10",
40
- "@dogsbay/format-dogsbay-md": "0.2.0-beta.10",
41
- "@dogsbay/format-openapi": "0.2.0-beta.10",
42
- "@dogsbay/types": "0.2.0-beta.10"
35
+ "@dogsbay/format-obsidian": "0.2.0-beta.11",
36
+ "@dogsbay/format-astro": "0.2.0-beta.11",
37
+ "@dogsbay/format-mkdocs": "0.2.0-beta.11",
38
+ "@dogsbay/format-mdx": "0.2.0-beta.11",
39
+ "@dogsbay/format-openapi": "0.2.0-beta.11",
40
+ "@dogsbay/format-dogsbay-md": "0.2.0-beta.11",
41
+ "@dogsbay/types": "0.2.0-beta.11",
42
+ "@dogsbay/format-starlight": "0.2.0-beta.11"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/node": "^22.0.0",
@@ -110,25 +110,43 @@ a responsive grid.
110
110
 
111
111
  ```markdown
112
112
  :::cards
113
- - **[Getting started](./getting-started)**
113
+ - **[Getting started](./getting-started)** {icon="rocket"}
114
114
  Three-minute orientation to authoring.
115
115
 
116
- - **[API reference](./api/)**
116
+ - **[API reference](./api/)** {icon="book-open"}
117
117
  Endpoint browser, schemas, code samples.
118
118
 
119
- - **[GitHub](https://github.com/your-org/repo)**
119
+ - **[GitHub](https://github.com/your-org/repo)** {icon="github"}
120
120
  Star, browse, file an issue.
121
121
  :::
122
122
  ```
123
123
 
124
- Each item: `- **[Title](href)**` followed by the description on
125
- the next line, indented two spaces. Optional blank line between
124
+ Each item: `- **[Title](href)**` optionally followed by an
125
+ attribute block (`{icon="..."}`), then the description on the
126
+ next line, indented two spaces. Optional blank line between
126
127
  items improves readability.
127
128
 
128
- **Known limitation**: the `{icon="rocket"}` attribute syntax
129
- documented in some places does NOT currently survive the
130
- parser leaks into descriptions as literal text. Don't use icon
131
- attributes in cards yet. See `plans/openapi-builtin-followups.md`.
129
+ ### Icons on cards
130
+
131
+ `icon` accepts any name from the platform Icon component
132
+ (see `dogsbay:theme-tokens` for the Icon component reference):
133
+
134
+ - **Bare names** default to Lucide:
135
+ `{icon="rocket"}`, `{icon="book-open"}`, `{icon="github"}`.
136
+ Browse the catalog at <https://lucide.dev/icons/>.
137
+ - **`pack:name`** routes to other Iconify packs:
138
+ `{icon="mdi:home"}` (Material Design Icons),
139
+ `{icon="simple-icons:github"}` (brand glyphs),
140
+ `{icon="lucide:book-open"}` (explicit Lucide).
141
+ - **Emoji shortcodes** map to Unicode characters when no
142
+ Iconify pack is given: `{icon="rocket"}` → 🚀,
143
+ `{icon="tada"}` → 🎉. The emoji map wins for bare names that
144
+ match it.
145
+
146
+ When the name doesn't resolve in any pack, the icon slot
147
+ renders nothing (silent fallback) — better than a broken-image
148
+ placeholder, since the title and description still convey the
149
+ card's intent.
132
150
 
133
151
  ## Single card (with attrs or YAML body)
134
152
 
@@ -220,8 +238,14 @@ For inline-level marks, use `:name[text]{attrs}`:
220
238
  ```markdown
221
239
  Press :kbd[Ctrl+C] to copy.
222
240
  This is :badge[New]{tone="success"} content.
241
+ Click :icon[rocket] to launch, or :icon[mdi:home] to go home.
223
242
  ```
224
243
 
244
+ `:icon[name]` accepts the same shorthand as the `{icon=...}`
245
+ attribute on cards — bare names default to Lucide,
246
+ `pack:name` routes to other Iconify packs, emoji shortcodes
247
+ render as Unicode. See "Icons on cards" above.
248
+
225
249
  ## Frontmatter
226
250
 
227
251
  Every page should start with YAML frontmatter delimited by `---`:
@@ -250,4 +274,8 @@ fields.
250
274
  — they're different syntactic structures.
251
275
  - ❌ Writing card descriptions on the same line as the title —
252
276
  must be on the next line, indented two spaces.
253
- - ❌ `{icon="..."}` on cards known parser gap, doesn't render.
277
+ - ❌ Using a non-existent icon name. The icon slot fails
278
+ silently when the name doesn't resolve, so a typo leaves the
279
+ card looking wrong without any error. Verify Lucide names
280
+ against <https://lucide.dev/icons/> or use the `pack:name`
281
+ form to be explicit.