@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
  });
@@ -15,7 +15,7 @@
15
15
  "@astrojs/react": "^6.0.4",
16
16
  "@fontsource-variable/figtree": "^5.3.0",
17
17
  "@remixicon/react": "^4.9.0",
18
- "astro": "^7.2.4",
18
+ "astro": "7.2.10",
19
19
  "@heyo-sh/heyo-docs": "{{HEYO_DOCS_VERSION}}",
20
20
  "react": "19.2.8",
21
21
  "react-dom": "19.2.8",
@@ -15,9 +15,9 @@ import {
15
15
  type MouseEvent,
16
16
  } from "react";
17
17
 
18
- import config from "../../heyo-docs.config";
19
18
  import { iconSet } from "../heyo-docs-icons";
20
19
  import { THEME_STORAGE_KEY } from "../lib/theme";
20
+ import { config } from "virtual:heyo-docs-config";
21
21
  import { openApiEndpoints } from "virtual:heyo-docs-openapi/index";
22
22
  import { pages } from "virtual:heyo-docs-content";
23
23
  import { ThemeProvider, useTheme } from "./theme-provider";