1
+ # CaseItem (data contract for a single case study entry)
2
+ #
3
+ # Required fields:
4
+ # - id: string — unique identifier of the case
5
+ # - description: string — markdown-enabled text (supports **bold** and [links](https://example.com))
6
+ # - type: string — one of: multiplatform | server-side
7
+ #
8
+ # Optional fields:
9
+ # - logo: list (0–2) of image paths (strings)
10
+ # Use up to two logos. Paths can be absolute (starting with "/") or full URLs.
11
+ #
12
+ # - signature: object — author or source of the quote
13
+ # line1: string — supports markdown (e.g., **Name Surname**, Role)
14
+ # line2: string — plain text
15
+ #
16
+ # - destination: string — either internal or external
17
+ # internal: the card points to an internal MDX page (see pageContentPath)
18
+ # external: the card points to an external resource (see externalUrl)
19
+ #
20
+ # - externalLink: string — external link for the card (used when destination: external)
21
+ #
22
+ # - externalLinkText: string — text for the external link (used when destination: external)
23
+ #
24
+ # - platforms: list of strings — platform tags shown on the card
25
+ # Examples: android, ios, desktop, frontend, backend, compose-multiplatform
26
+ #
27
+ # - media: object — media block for the card
28
+ # type: youtube | image
29
+ # When type: youtube
30
+ # url: string — YouTube link
31
+ # When type: image
32
+ # path: string — image path relative to /public/ directory
33
+ #
34
+ # - featuredOnMainPage: boolean — mark this case to be highlighted on the main page
35
+ #
36
+ # - slug: string — optional URL segment for the internal case page; if omitted, id is used
37
+ # Use a single URL segment (no slashes, no section prefix).
38
+ #
39
+ # - pageContentPath: string — path to the detailed case content in MDX (used when destination: internal)
40
+
41
+ items :
42
+ - id : CompanyName # required: unique identifier
43
+ type : server-side # required: multiplatform | server-side
44
+ description : > # required: markdown-supported text
45
+ **Case description** supporting [links](https://example.com) and emphasis.
46
+ logo : # optional: list of 0–2 image paths (strings)
47
+ - /images/case-studies/google.svg
48
+ - /images/case-studies/google.svg
49
+ signature : # optional
50
+ line1 : " **Name Surname**"
51
+ line2 : " Position at Company or note"
52
+ destination : external # optional: internal | external
53
+ externalLink : https://example.com/full-story # optional
54
+ externalLinkText : Read the full story # optional
55
+ platforms : # optional
56
+ - android
57
+ - ios
58
+ - desktop
59
+ - frontend
60
+ - backend
61
+ - compose-multiplatform
62
+ media : # optional
63
+ type : youtube # required: youtube | image
64
+ url : https://youtu.be/o14wGByBRAQ?si=TmqJBtfZw2F8-IEw&t=7
65
+ # when type: image
66
+ # type: image
67
+ # path: ./images/case-studies/google.svg
68
+ featuredOnMainPage : false # optional: mark case as selected for the main page
69
+ slug : example-slug # optional: if not set, id will be used
70
+ pageContentPath : ./content/case-studies/_case-study.example/index.mdx
0 commit comments