@heyo-sh/create-heyo-docs 0.2.3 → 0.4.0

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.
Files changed (67) hide show
  1. package/deployments/cloudflare/astro/package.json +1 -1
  2. package/package.json +1 -1
  3. package/templates/astro/content/api-overview.mdx +20 -0
  4. package/templates/astro/content/assets/local-architecture.svg +22 -0
  5. package/templates/astro/content/assets/quick-reference.txt +5 -0
  6. package/templates/astro/content/changelog.mdx +38 -0
  7. package/templates/astro/content/configuration.mdx +34 -0
  8. package/templates/astro/content/essentials/callouts.mdx +16 -18
  9. package/templates/astro/content/essentials/code-blocks.mdx +7 -15
  10. package/templates/astro/content/essentials/lists.mdx +9 -13
  11. package/templates/astro/content/essentials/tables.mdx +7 -14
  12. package/templates/astro/content/essentials/tabs.mdx +10 -12
  13. package/templates/astro/content/essentials/text-styling.mdx +14 -21
  14. package/templates/astro/content/openapi-petstore.json +160 -0
  15. package/templates/astro/content/openapi.json +278 -0
  16. package/templates/astro/heyo-docs.config.ts +20 -10
  17. package/templates/astro/package.json +1 -1
  18. package/templates/astro/src/components/docs-app.tsx +1 -1
  19. package/templates/astro/src/layouts/docs-layout.astro +494 -8
  20. package/templates/astro/src/pages/[...slug].astro +1 -4
  21. package/templates/astro/src/pages/heyo-docs-internal/ai-chat.ts +20 -0
  22. package/templates/astro/src/pages/index.astro +13 -0
  23. package/templates/astro/src/styles/app.css +12 -2
  24. package/templates/astro/src/virtual.d.ts +7 -0
  25. package/templates/next/app/[[...slug]]/page.tsx +26 -5
  26. package/templates/next/app/app.css +12 -2
  27. package/templates/next/app/components/docs-app.tsx +1 -2
  28. package/templates/next/app/heyo-docs-internal/ai-chat/route.ts +15 -0
  29. package/templates/next/app/layout.tsx +411 -0
  30. package/templates/next/content/api-overview.mdx +20 -0
  31. package/templates/next/content/assets/local-architecture.svg +22 -0
  32. package/templates/next/content/assets/quick-reference.txt +5 -0
  33. package/templates/next/content/changelog.mdx +38 -0
  34. package/templates/next/content/configuration.mdx +34 -0
  35. package/templates/next/content/essentials/callouts.mdx +16 -18
  36. package/templates/next/content/essentials/code-blocks.mdx +7 -15
  37. package/templates/next/content/essentials/lists.mdx +9 -13
  38. package/templates/next/content/essentials/tables.mdx +7 -14
  39. package/templates/next/content/essentials/tabs.mdx +10 -12
  40. package/templates/next/content/essentials/text-styling.mdx +14 -21
  41. package/templates/next/content/openapi-petstore.json +160 -0
  42. package/templates/next/content/openapi.json +278 -0
  43. package/templates/next/heyo-docs.config.ts +20 -10
  44. package/templates/react-router/app/app.css +12 -2
  45. package/templates/react-router/app/root.tsx +412 -1
  46. package/templates/react-router/app/routes/ai-chat.ts +21 -0
  47. package/templates/react-router/app/routes/docs.tsx +1 -1
  48. package/templates/react-router/app/routes/home.tsx +20 -1
  49. package/templates/react-router/app/routes.ts +1 -0
  50. package/templates/react-router/app/virtual.d.ts +7 -0
  51. package/templates/react-router/content/api-overview.mdx +20 -0
  52. package/templates/react-router/content/assets/local-architecture.svg +22 -0
  53. package/templates/react-router/content/assets/quick-reference.txt +5 -0
  54. package/templates/react-router/content/changelog.mdx +38 -0
  55. package/templates/react-router/content/configuration.mdx +34 -0
  56. package/templates/react-router/content/essentials/callouts.mdx +16 -18
  57. package/templates/react-router/content/essentials/code-blocks.mdx +7 -15
  58. package/templates/react-router/content/essentials/lists.mdx +9 -13
  59. package/templates/react-router/content/essentials/tables.mdx +7 -14
  60. package/templates/react-router/content/essentials/tabs.mdx +10 -12
  61. package/templates/react-router/content/essentials/text-styling.mdx +14 -21
  62. package/templates/react-router/content/openapi-petstore.json +160 -0
  63. package/templates/react-router/content/openapi.json +278 -0
  64. package/templates/react-router/heyo-docs.config.ts +20 -10
  65. package/templates/astro/content/index.mdx +0 -22
  66. package/templates/next/content/index.mdx +0 -22
  67. package/templates/react-router/content/index.mdx +0 -22
@@ -0,0 +1,278 @@
1
+ {
2
+ "openapi": "3.1.0",
3
+ "info": {
4
+ "title": "Planet API",
5
+ "version": "1.0.0",
6
+ "description": "An example API used by the Heyo Docs React Router demo."
7
+ },
8
+ "servers": [
9
+ {
10
+ "url": "https://api.example.com/v1",
11
+ "description": "Example production API"
12
+ }
13
+ ],
14
+ "security": [
15
+ {
16
+ "BearerAuth": []
17
+ }
18
+ ],
19
+ "paths": {
20
+ "/organizations/{organizationId}/planets": {
21
+ "parameters": [
22
+ {
23
+ "name": "organizationId",
24
+ "in": "path",
25
+ "required": true,
26
+ "description": "The organization that owns the planets.",
27
+ "schema": {
28
+ "type": "string",
29
+ "example": "org_123"
30
+ }
31
+ }
32
+ ],
33
+ "get": {
34
+ "operationId": "listPlanets",
35
+ "summary": "List planets",
36
+ "description": "Returns the planets that belong to an organization.",
37
+ "tags": ["Planets"],
38
+ "parameters": [
39
+ {
40
+ "name": "limit",
41
+ "in": "query",
42
+ "description": "Maximum number of records to return.",
43
+ "schema": {
44
+ "type": "integer",
45
+ "default": 20
46
+ }
47
+ }
48
+ ],
49
+ "responses": {
50
+ "200": {
51
+ "description": "A page of planets.",
52
+ "content": {
53
+ "application/json": {
54
+ "schema": {
55
+ "type": "array",
56
+ "items": {
57
+ "$ref": "#/components/schemas/Planet"
58
+ }
59
+ }
60
+ }
61
+ }
62
+ }
63
+ }
64
+ },
65
+ "post": {
66
+ "operationId": "createPlanet",
67
+ "summary": "Create a planet",
68
+ "description": "Creates a planet inside an organization.",
69
+ "tags": ["Planets"],
70
+ "requestBody": {
71
+ "required": true,
72
+ "description": "The planet to create.",
73
+ "content": {
74
+ "application/json": {
75
+ "schema": {
76
+ "$ref": "#/components/schemas/PlanetInput"
77
+ }
78
+ }
79
+ }
80
+ },
81
+ "responses": {
82
+ "201": {
83
+ "description": "The newly created planet.",
84
+ "content": {
85
+ "application/json": {
86
+ "schema": {
87
+ "$ref": "#/components/schemas/Planet"
88
+ }
89
+ }
90
+ }
91
+ }
92
+ }
93
+ }
94
+ },
95
+ "/organizations/{organizationId}/planets/{planetId}": {
96
+ "parameters": [
97
+ {
98
+ "name": "organizationId",
99
+ "in": "path",
100
+ "required": true,
101
+ "description": "The organization that owns the planet.",
102
+ "schema": {
103
+ "type": "string",
104
+ "example": "org_123"
105
+ }
106
+ },
107
+ {
108
+ "name": "planetId",
109
+ "in": "path",
110
+ "required": true,
111
+ "description": "The planet identifier.",
112
+ "schema": {
113
+ "type": "string",
114
+ "example": "planet_earth"
115
+ }
116
+ }
117
+ ],
118
+ "get": {
119
+ "operationId": "getPlanet",
120
+ "summary": "Get a planet",
121
+ "description": "Returns one planet by ID.",
122
+ "tags": ["Planets"],
123
+ "responses": {
124
+ "200": {
125
+ "description": "The requested planet.",
126
+ "content": {
127
+ "application/json": {
128
+ "schema": {
129
+ "$ref": "#/components/schemas/Planet"
130
+ }
131
+ }
132
+ }
133
+ },
134
+ "404": {
135
+ "description": "Planet not found."
136
+ }
137
+ }
138
+ },
139
+ "put": {
140
+ "operationId": "replacePlanet",
141
+ "summary": "Replace a planet",
142
+ "description": "Replaces all editable planet values.",
143
+ "tags": ["Planets"],
144
+ "requestBody": {
145
+ "required": true,
146
+ "content": {
147
+ "application/json": {
148
+ "schema": {
149
+ "$ref": "#/components/schemas/PlanetInput"
150
+ }
151
+ }
152
+ }
153
+ },
154
+ "responses": {
155
+ "200": {
156
+ "description": "The updated planet.",
157
+ "content": {
158
+ "application/json": {
159
+ "schema": {
160
+ "$ref": "#/components/schemas/Planet"
161
+ }
162
+ }
163
+ }
164
+ }
165
+ }
166
+ },
167
+ "patch": {
168
+ "operationId": "updatePlanet",
169
+ "summary": "Update a planet",
170
+ "description": "Updates one or more planet fields.",
171
+ "tags": ["Planets"],
172
+ "requestBody": {
173
+ "required": true,
174
+ "content": {
175
+ "application/json": {
176
+ "schema": {
177
+ "$ref": "#/components/schemas/PlanetPatch"
178
+ }
179
+ }
180
+ }
181
+ },
182
+ "responses": {
183
+ "200": {
184
+ "description": "The updated planet.",
185
+ "content": {
186
+ "application/json": {
187
+ "schema": {
188
+ "$ref": "#/components/schemas/Planet"
189
+ }
190
+ }
191
+ }
192
+ }
193
+ }
194
+ },
195
+ "delete": {
196
+ "operationId": "deletePlanet",
197
+ "summary": "Delete a planet",
198
+ "description": "Permanently removes a planet from an organization.",
199
+ "tags": ["Planets"],
200
+ "parameters": [
201
+ {
202
+ "name": "hardDelete",
203
+ "in": "query",
204
+ "description": "Also remove historical records.",
205
+ "schema": {
206
+ "type": "boolean",
207
+ "default": false
208
+ }
209
+ }
210
+ ],
211
+ "responses": {
212
+ "204": {
213
+ "description": "Planet deleted."
214
+ },
215
+ "404": {
216
+ "description": "Planet not found."
217
+ }
218
+ }
219
+ }
220
+ }
221
+ },
222
+ "components": {
223
+ "securitySchemes": {
224
+ "BearerAuth": {
225
+ "type": "http",
226
+ "scheme": "bearer",
227
+ "bearerFormat": "JWT"
228
+ }
229
+ },
230
+ "schemas": {
231
+ "Planet": {
232
+ "type": "object",
233
+ "required": ["id", "name", "classification"],
234
+ "properties": {
235
+ "id": {
236
+ "type": "string",
237
+ "example": "planet_earth"
238
+ },
239
+ "name": {
240
+ "type": "string",
241
+ "example": "Earth"
242
+ },
243
+ "classification": {
244
+ "type": "string",
245
+ "enum": ["terrestrial", "gas-giant", "ice-giant"]
246
+ }
247
+ }
248
+ },
249
+ "PlanetInput": {
250
+ "type": "object",
251
+ "required": ["name", "classification"],
252
+ "properties": {
253
+ "name": {
254
+ "type": "string",
255
+ "example": "Mars"
256
+ },
257
+ "classification": {
258
+ "type": "string",
259
+ "enum": ["terrestrial", "gas-giant", "ice-giant"]
260
+ }
261
+ }
262
+ },
263
+ "PlanetPatch": {
264
+ "type": "object",
265
+ "properties": {
266
+ "name": {
267
+ "type": "string",
268
+ "example": "New Mars"
269
+ },
270
+ "classification": {
271
+ "type": "string",
272
+ "enum": ["terrestrial", "gas-giant", "ice-giant"]
273
+ }
274
+ }
275
+ }
276
+ }
277
+ }
278
+ }
@@ -11,15 +11,6 @@ export default heyoDocs({
11
11
  group: "Documentation",
12
12
  icon: "globe",
13
13
  sections: [
14
- {
15
- pages: [
16
- {
17
- title: "Documentation",
18
- src: "https://docs.heyo.sh/introduction",
19
- icon: "book",
20
- },
21
- ],
22
- },
23
14
  {
24
15
  section: "Get Started",
25
16
  icon: "lightbulb",
@@ -39,8 +30,27 @@ export default heyoDocs({
39
30
  },
40
31
  ],
41
32
  },
33
+ {
34
+ group: "OpenAPI",
35
+ icon: "code",
36
+ sections: [
37
+ {
38
+ pages: ["api-overview"],
39
+ },
40
+ {
41
+ schema: "./openapi.json",
42
+ },
43
+ ],
44
+ },
45
+ {
46
+ group: "Changelog",
47
+ description: "Mock release notes for the Heyo Docs demo.",
48
+ icon: "changelog",
49
+ type: "changelog",
50
+ updates: ["changelog"],
51
+ },
42
52
  ],
43
- branding: { name: "{{PROJECT_NAME}}" },
53
+ branding: { name: "{{PROJECT_NAME}}", logo: "/logo.svg" },
44
54
  // Set this before deploying to publish canonical and absolute social URLs.
45
55
  // siteUrl: "https://docs.example.com",
46
56
  });
@@ -1,8 +1,18 @@
1
1
  @import "@fontsource-variable/figtree";
2
- @import "@heyo-sh/heyo-docs/theme/{{THEME}}.css";
3
2
 
4
3
  :root {
5
4
  --heyo-docs-font-family: "Figtree Variable", sans-serif;
6
5
  }
7
6
 
8
- /* Add project-specific token overrides and theme styles below this import. */
7
+ /* Add project-specific token overrides and theme styles here. */
8
+ @media (min-width: 1024px) {
9
+ header > a[aria-label] > img[src="/logo.svg"] {
10
+ height: 32px;
11
+ max-height: none;
12
+ width: auto;
13
+ }
14
+ }
15
+
16
+ .dark header > a[aria-label] > img[src="/logo.svg"] {
17
+ filter: invert(1);
18
+ }