eddev 2.3.12 → 2.3.14
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/dist/app/entry/MetaTags.d.ts +1 -1
- package/dist/app/entry/MetaTags.d.ts.map +1 -1
- package/dist/app/entry/MetaTags.js +2 -0
- package/dist/app/entry/spa-root.d.ts +1 -1
- package/dist/app/entry/spa-root.d.ts.map +1 -1
- package/dist/app/entry/ssr-root-client.d.ts +1 -1
- package/dist/app/entry/ssr-root-client.d.ts.map +1 -1
- package/dist/app/entry/ssr-root.d.ts +1 -1
- package/dist/app/entry/ssr-root.d.ts.map +1 -1
- package/dist/app/lib/blocks/BlockPropMutator.d.ts +1 -1
- package/dist/app/lib/blocks/BlockPropMutator.d.ts.map +1 -1
- package/dist/app/lib/blocks/ContentBlocks.d.ts +2 -2
- package/dist/app/lib/blocks/ContentBlocks.d.ts.map +1 -1
- package/dist/app/lib/blocks/EditableText.d.ts +1 -1
- package/dist/app/lib/blocks/EditableText.d.ts.map +1 -1
- package/dist/app/lib/blocks/InnerBlocks.d.ts +1 -1
- package/dist/app/lib/blocks/InnerBlocks.d.ts.map +1 -1
- package/dist/app/lib/blocks/SlotBlocks.d.ts +1 -1
- package/dist/app/lib/blocks/SlotBlocks.d.ts.map +1 -1
- package/dist/app/lib/blocks/block-debugger.d.ts +3 -3
- package/dist/app/lib/blocks/block-debugger.d.ts.map +1 -1
- package/dist/app/lib/blocks/block-utils.d.ts +2 -2
- package/dist/app/lib/blocks/block-utils.d.ts.map +1 -1
- package/dist/app/lib/blocks/block-utils.js +10 -3
- package/dist/app/lib/blocks/editor/EditableBlock.d.ts +1 -1
- package/dist/app/lib/blocks/editor/EditableBlock.d.ts.map +1 -1
- package/dist/app/lib/blocks/editor/EditorHighlights.d.ts +1 -1
- package/dist/app/lib/blocks/editor/EditorHighlights.d.ts.map +1 -1
- package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.d.ts +1 -1
- package/dist/app/lib/blocks/editor/controls.d.ts +2 -2
- package/dist/app/lib/blocks/editor/controls.d.ts.map +1 -1
- package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts.map +1 -1
- package/dist/app/lib/blocks/editor/installGutenbergHooks.js +8 -4
- package/dist/app/lib/blocks/editor/root-blocks.d.ts.map +1 -1
- package/dist/app/lib/blocks/editor/root-blocks.js +2 -2
- package/dist/app/lib/blocks/inline-editing.d.ts +2 -2
- package/dist/app/lib/blocks/inline-editing.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/BreakpointIndicator.d.ts +1 -1
- package/dist/app/lib/devtools/components/BreakpointIndicator.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/DevMenu.d.ts +1 -1
- package/dist/app/lib/devtools/components/DevMenu.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/DevUI.d.ts +2 -2
- package/dist/app/lib/devtools/components/DevUI.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/panels/AppDataPanel.d.ts +2 -2
- package/dist/app/lib/devtools/components/panels/AppDataPanel.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/panels/QueriesPanel.d.ts +1 -1
- package/dist/app/lib/devtools/components/panels/QueriesPanel.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/panels/RoutePanel.d.ts +2 -2
- package/dist/app/lib/devtools/components/panels/RoutePanel.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/panels/StructurePanel.d.ts +1 -1
- package/dist/app/lib/devtools/components/panels/StructurePanel.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/ui/Button.d.ts +1 -1
- package/dist/app/lib/devtools/components/ui/Button.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/ui/Chip.d.ts +2 -2
- package/dist/app/lib/devtools/components/ui/Chip.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/ui/Expander.d.ts +1 -1
- package/dist/app/lib/devtools/components/ui/Expander.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/ui/JSONInspector.d.ts +1 -1
- package/dist/app/lib/devtools/components/ui/JSONInspector.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/ui/Panel.d.ts +1 -1
- package/dist/app/lib/devtools/components/ui/Panel.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/ui/QueryMonitorDisplay.d.ts +1 -1
- package/dist/app/lib/devtools/components/ui/QueryMonitorDisplay.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/ui/TabBar.d.ts +2 -2
- package/dist/app/lib/devtools/components/ui/TabBar.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/ui/Tabs.d.ts +1 -1
- package/dist/app/lib/devtools/components/ui/Tabs.d.ts.map +1 -1
- package/dist/app/lib/devtools/hooks/useTailwind.d.ts +45 -45
- package/dist/app/lib/devtools/icons.d.ts +24 -24
- package/dist/app/lib/devtools/icons.d.ts.map +1 -1
- package/dist/app/lib/hooks/query-hooks.d.ts +8 -8
- package/dist/app/lib/hooks/query-hooks.d.ts.map +1 -1
- package/dist/app/lib/hooks/query-hooks.js +2 -1
- package/dist/app/lib/integrations/gravityforms/createGravityFormComponent.d.ts +15 -15
- package/dist/app/lib/routing/components/BrowserRouter.d.ts +1 -1
- package/dist/app/lib/routing/components/BrowserRouter.d.ts.map +1 -1
- package/dist/app/lib/routing/components/ClientOnly.d.ts +1 -1
- package/dist/app/lib/routing/components/ClientOnly.d.ts.map +1 -1
- package/dist/app/lib/routing/components/NativeLinkHandler.d.ts +1 -1
- package/dist/app/lib/routing/components/NativeLinkHandler.d.ts.map +1 -1
- package/dist/app/lib/routing/components/RouteRenderer.d.ts +3 -3
- package/dist/app/lib/routing/components/RouteRenderer.d.ts.map +1 -1
- package/dist/app/lib/routing/components/SSRRouter.d.ts +1 -1
- package/dist/app/lib/routing/components/SSRRouter.d.ts.map +1 -1
- package/dist/app/lib/runtime/apiConfig.d.ts +15 -0
- package/dist/app/lib/runtime/apiConfig.d.ts.map +1 -1
- package/dist/app/server/proxy-wp-admin.d.ts.map +1 -1
- package/dist/app/server/proxy-wp-admin.js +1 -0
- package/dist/app/server/server-context.d.ts +2 -2
- package/dist/app/server/server-context.d.ts.map +1 -1
- package/dist/app/utils/APIProvider.d.ts +1 -1
- package/dist/app/utils/APIProvider.d.ts.map +1 -1
- package/dist/app/utils/ErrorMessage.d.ts +1 -1
- package/dist/app/utils/ErrorMessage.d.ts.map +1 -1
- package/dist/app/utils/query-client.d.ts +1 -1
- package/dist/app/utils/query-client.d.ts.map +1 -1
- package/dist/app/utils/trpc-client.d.ts.map +1 -1
- package/dist/app/utils/trpc-client.js +19 -3
- package/dist/node/cli/display/CLIApp.d.ts +1 -1
- package/dist/node/cli/display/CLIApp.d.ts.map +1 -1
- package/dist/node/cli/display/components/Fullscreen.d.ts +1 -1
- package/dist/node/cli/display/components/Fullscreen.d.ts.map +1 -1
- package/dist/node/cli/display/components/LogEntries.d.ts +4 -4
- package/dist/node/cli/display/components/LogEntries.d.ts.map +1 -1
- package/dist/node/cli/display/components/MenuItem.d.ts +1 -1
- package/dist/node/cli/display/components/MenuItem.d.ts.map +1 -1
- package/dist/node/cli/display/components/TextInput.d.ts +3 -2
- package/dist/node/cli/display/components/TextInput.d.ts.map +1 -1
- package/dist/node/cli/display/tools/BlockList.d.ts +1 -1
- package/dist/node/cli/display/tools/BlockList.d.ts.map +1 -1
- package/dist/node/cli/display/tools/CreateBlock.d.ts +1 -1
- package/dist/node/cli/display/tools/CreateBlock.d.ts.map +1 -1
- package/dist/node/cli/version.d.ts +1 -1
- package/dist/node/cli/version.js +1 -1
- package/dist/node/compiler/dev-server.js +1 -1
- package/dist/node/compiler/get-vite-config.d.ts.map +1 -1
- package/dist/node/compiler/get-vite-config.js +1 -0
- package/dist/node/compiler/vinxi-app.d.ts +1 -1
- package/dist/node/compiler/vinxi-app.d.ts.map +1 -1
- package/dist/node/utils/fetch-wp.d.ts.map +1 -1
- package/dist/node/utils/fetch-wp.js +2 -1
- package/dist/node/utils/fs.d.ts +22 -19
- package/dist/node/utils/fs.d.ts.map +1 -1
- package/package.json +2 -2
- package/skills/eddev/SKILL.md +156 -0
- package/skills/eddev/docs/acf/admin-panel-widgets.mdx +99 -0
- package/skills/eddev/docs/acf/custom-enums.mdx +75 -0
- package/skills/eddev/docs/acf/custom-fields.mdx +131 -0
- package/skills/eddev/docs/acf.mdx +31 -0
- package/skills/eddev/docs/blocks/block-definition.mdx +189 -0
- package/skills/eddev/docs/blocks/core-blocks.mdx +86 -0
- package/skills/eddev/docs/blocks/data-and-editing.mdx +219 -0
- package/skills/eddev/docs/blocks/editor-config.mdx +157 -0
- package/skills/eddev/docs/blocks/nested-blocks.mdx +129 -0
- package/skills/eddev/docs/blocks/overview.mdx +58 -0
- package/skills/eddev/docs/blocks/template-parts.mdx +131 -0
- package/skills/eddev/docs/config.mdx +200 -0
- package/skills/eddev/docs/design/color.mdx +185 -0
- package/skills/eddev/docs/design/favicons.mdx +103 -0
- package/skills/eddev/docs/design/grid.mdx +120 -0
- package/skills/eddev/docs/design/icons.mdx +197 -0
- package/skills/eddev/docs/design/responsive-scaling.mdx +312 -0
- package/skills/eddev/docs/design/type.mdx +125 -0
- package/skills/eddev/docs/devtool/cli.mdx +201 -0
- package/skills/eddev/docs/devtool/overlay.mdx +5 -0
- package/skills/eddev/docs/getting-started.mdx +53 -0
- package/skills/eddev/docs/graphql/extending.mdx +186 -0
- package/skills/eddev/docs/graphql/fragments.mdx +107 -0
- package/skills/eddev/docs/graphql/global-data.mdx +47 -0
- package/skills/eddev/docs/graphql/infinite-queries.mdx +95 -0
- package/skills/eddev/docs/graphql/mutation-hooks.mdx +111 -0
- package/skills/eddev/docs/graphql/query-hooks.mdx +122 -0
- package/skills/eddev/docs/graphql/tooling.mdx +50 -0
- package/skills/eddev/docs/graphql.mdx +97 -0
- package/skills/eddev/docs/guides/color-schemes.mdx +204 -0
- package/skills/eddev/docs/guides/integrations.mdx +3 -0
- package/skills/eddev/docs/guides/page-transitions.mdx +5 -0
- package/skills/eddev/docs/guides/seo.mdx +5 -0
- package/skills/eddev/docs/guides/state-management.mdx +5 -0
- package/skills/eddev/docs/infra/caching.mdx +9 -0
- package/skills/eddev/docs/infra/deployment.mdx +13 -0
- package/skills/eddev/docs/infra/local.mdx +5 -0
- package/skills/eddev/docs/infra/security.mdx +11 -0
- package/skills/eddev/docs/routing/api.mdx +731 -0
- package/skills/eddev/docs/routing/custom.mdx +123 -0
- package/skills/eddev/docs/routing/full-details.mdx +37 -0
- package/skills/eddev/docs/routing/wordpress.mdx +70 -0
- package/skills/eddev/docs/routing.mdx +18 -0
- package/skills/eddev/docs/serverless/functions.mdx +436 -0
- package/skills/eddev/docs/serverless.mdx +202 -0
- package/skills/eddev/docs/snippets/automated-block-layouts.mdx +97 -0
- package/skills/eddev/docs/snippets/custom-routes-and-urls.mdx +91 -0
- package/skills/eddev/docs/snippets/multiple-editable-zones.mdx +87 -0
- package/skills/eddev/docs/snippets/querying-specific-blocks.mdx +164 -0
- package/skills/eddev/docs/snippets/submitting-forms-to-rpc.mdx +91 -0
- package/skills/eddev/docs/snippets/svgs.mdx +38 -0
- package/skills/eddev/docs/snippets/type-safe-acf-dropdowns.mdx +72 -0
- package/skills/eddev/docs/snippets.mdx +19 -0
- package/skills/eddev/docs/software.mdx +19 -0
- package/skills/eddev/docs/stack/how-it-works.mdx +50 -0
- package/skills/eddev/docs/stack/overview.mdx +56 -0
- package/skills/eddev/docs/stack/spa-vs-ssr.mdx +52 -0
- package/skills/eddev/docs/views/app-view.mdx +97 -0
- package/skills/eddev/docs/views/page-templates.mdx +82 -0
- package/skills/eddev/docs/views/queries.mdx +116 -0
- package/skills/eddev/docs/views.mdx +63 -0
- package/skills/eddev/index.mdx +79 -0
- package/tsconfig.app.json +2 -2
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# View Data (/docs/views/queries)
|
|
2
|
+
|
|
3
|
+
**Pipe WordPress data into your templates**
|
|
4
|
+
|
|
5
|
+
A view can have a GraphQL file with the same name as the `.tsx` file. eddev executes that query whenever the view is resolved, and passes the query result to the view as props.
|
|
6
|
+
|
|
7
|
+
```txt
|
|
8
|
+
views/
|
|
9
|
+
page.tsx
|
|
10
|
+
page.graphql
|
|
11
|
+
single-case-study.tsx
|
|
12
|
+
single-case-study.graphql
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
You do not call a hook or write a loading state for normal view data. If the query file exists, the data is part of the route payload before the view renders. If no query file exists, the view gets an empty props object.
|
|
16
|
+
|
|
17
|
+
## Current Post Data [#current-post-data]
|
|
18
|
+
|
|
19
|
+
For views attached to a WordPress object, use `$postId`.
|
|
20
|
+
|
|
21
|
+
```graphql filename="views/page.graphql"
|
|
22
|
+
query Page($postId: ID!) {
|
|
23
|
+
page(id: $postId, idType: DATABASE_ID) {
|
|
24
|
+
title
|
|
25
|
+
contentBlocks
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
```tsx filename="views/page.tsx"
|
|
31
|
+
import { ContentBlocks } from "eddev/blocks"
|
|
32
|
+
import { defineView } from "eddev/views"
|
|
33
|
+
|
|
34
|
+
export default defineView("page", (props) => {
|
|
35
|
+
return <ContentBlocks blocks={props.page?.contentBlocks} />
|
|
36
|
+
})
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
`$postId` is usually available for `page`, `front-page`, `single`, `single-{post-type}`, and custom page templates. A `$preview` boolean is also sent when WordPress is rendering a preview.
|
|
40
|
+
|
|
41
|
+
## Listing Data [#listing-data]
|
|
42
|
+
|
|
43
|
+
View queries can fetch more than the current page. Archive and index pages often combine editable page content with a list of related posts or taxonomy terms.
|
|
44
|
+
|
|
45
|
+
```graphql filename="views/archive-case-study.graphql"
|
|
46
|
+
query ArchiveCaseStudies($postId: ID!) {
|
|
47
|
+
page(id: $postId, idType: DATABASE_ID) {
|
|
48
|
+
contentBlocks
|
|
49
|
+
}
|
|
50
|
+
caseStudies(first: 100, where: { orderby: { field: MENU_ORDER, order: ASC } }) {
|
|
51
|
+
nodes {
|
|
52
|
+
title
|
|
53
|
+
uri
|
|
54
|
+
subtitle
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
workCategories {
|
|
58
|
+
nodes {
|
|
59
|
+
name
|
|
60
|
+
slug
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Use this pattern when authors need page-builder content at the top of an archive, but the view also needs structured data for filters, tiles, or navigation.
|
|
67
|
+
|
|
68
|
+
## Custom Route Variables [#custom-route-variables]
|
|
69
|
+
|
|
70
|
+
Custom routes can provide their own query variables through `ED()->addCustomRoute()`. The PHP route maps URL segments to GraphQL variables, and the paired view query declares those variables.
|
|
71
|
+
|
|
72
|
+
```php filename="backend/routes.php"
|
|
73
|
+
ED()->addCustomRoute('planner/([A-Za-z0-9-]+)/?$', [
|
|
74
|
+
'template' => 'views/shared-planner.tsx',
|
|
75
|
+
'title' => 'Shared Planner',
|
|
76
|
+
'queryVars' => [
|
|
77
|
+
'plannerId' => "$1"
|
|
78
|
+
],
|
|
79
|
+
]);
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
```graphql filename="views/shared-planner.graphql"
|
|
83
|
+
query SharedPlannerPage($plannerId: String!) {
|
|
84
|
+
sharedPlanner(id: $plannerId) {
|
|
85
|
+
id
|
|
86
|
+
name
|
|
87
|
+
sessions {
|
|
88
|
+
id
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Keep the route definition in [Custom Routes](/docs/routing/custom), and keep this page focused on the view query that consumes the variables.
|
|
95
|
+
|
|
96
|
+
## Generated Prop Types [#generated-prop-types]
|
|
97
|
+
|
|
98
|
+
eddev generates `types.views.ts` from `views/**/*.tsx` and `views/**/*.graphql`.
|
|
99
|
+
|
|
100
|
+
For a view with a query, the generated prop type comes from the GraphQL operation result. For a view without a query, the generated prop type is `{}`.
|
|
101
|
+
|
|
102
|
+
```ts filename="types.views.ts"
|
|
103
|
+
declare global {
|
|
104
|
+
interface ViewProps {
|
|
105
|
+
page: PageQuery
|
|
106
|
+
"shared-planner": SharedPlannerPageQuery
|
|
107
|
+
"search-results": {}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Because `defineView` is typed against `ViewProps`, `props` should normally be inferred without manually importing the generated query type.
|
|
113
|
+
|
|
114
|
+
## Query Scope [#query-scope]
|
|
115
|
+
|
|
116
|
+
Use a view query for data needed before the route renders. Use a query hook in `queries/*.graphql` when the user needs to search, paginate, mutate, refetch, or otherwise load data dynamically after the view is already on screen.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Views (/docs/views)
|
|
2
|
+
|
|
3
|
+
**Page and post-type templates**
|
|
4
|
+
|
|
5
|
+
Views are the React templates for a site. WordPress still decides what URL maps to what content; eddev lets that normal WordPress template hierarchy resolve to files in `views/*.tsx` instead of PHP templates.
|
|
6
|
+
|
|
7
|
+
Common view names follow WordPress conventions:
|
|
8
|
+
|
|
9
|
+
* `front-page.tsx` for the site's front page
|
|
10
|
+
* `page.tsx` for normal pages
|
|
11
|
+
* `single.tsx` for posts
|
|
12
|
+
* `single-{post-type}.tsx` for a specific post type
|
|
13
|
+
* `archive-{post-type}.tsx` for a post type archive
|
|
14
|
+
* `404.tsx` or `_error.tsx` for not-found and error states
|
|
15
|
+
|
|
16
|
+
Most views also have a paired `.graphql` file with the same name. The query result becomes the view's props.
|
|
17
|
+
|
|
18
|
+
```graphql filename="views/page.graphql"
|
|
19
|
+
query Page($postId: ID!) {
|
|
20
|
+
page(id: $postId, idType: DATABASE_ID) {
|
|
21
|
+
title
|
|
22
|
+
contentBlocks
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```tsx filename="views/page.tsx"
|
|
28
|
+
import { ContentBlocks } from "eddev/blocks"
|
|
29
|
+
import { defineView } from "eddev/views"
|
|
30
|
+
|
|
31
|
+
export default defineView("page", (props) => {
|
|
32
|
+
return (
|
|
33
|
+
<div>
|
|
34
|
+
<h1>{props.page?.title}</h1>
|
|
35
|
+
<ContentBlocks blocks={props.page?.contentBlocks} />
|
|
36
|
+
</div>
|
|
37
|
+
)
|
|
38
|
+
})
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
The view name passed to `defineView` should match the file path without `views/` or `.tsx`. For `views/page.tsx`, use `defineView("page", ...)`. For `views/single-case-study.tsx`, use `defineView("single-case-study", ...)`.
|
|
42
|
+
|
|
43
|
+
## How A View Renders [#how-a-view-renders]
|
|
44
|
+
|
|
45
|
+
When a request comes in, WordPress resolves the matching template. If it finds a React view, eddev:
|
|
46
|
+
|
|
47
|
+
1. Resolves the view name from the file path.
|
|
48
|
+
2. Executes the paired `views/name.graphql` file if one exists.
|
|
49
|
+
3. Builds a route payload containing the view name, query result, app data, route metadata, and admin context.
|
|
50
|
+
4. Renders `views/_app.tsx` around the active view.
|
|
51
|
+
|
|
52
|
+
On the first request, that payload is embedded in the HTML. During client-side navigation, the router fetches the same payload as JSON, then loads and renders the matching view component.
|
|
53
|
+
|
|
54
|
+
## Keep Views Thin [#keep-views-thin]
|
|
55
|
+
|
|
56
|
+
A view should usually compose the page rather than contain every component detail. Put reusable UI in `components/`, `features/`, or other project folders, and let the view focus on:
|
|
57
|
+
|
|
58
|
+
* selecting the right layout for this route
|
|
59
|
+
* rendering `ContentBlocks`
|
|
60
|
+
* composing archive or listing data from its query
|
|
61
|
+
* reading route state when the URL itself affects presentation
|
|
62
|
+
|
|
63
|
+
For the data side of views, see [View Data](./queries). For the site-wide wrapper, see [`_app.tsx`](./app-view).
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Docs
|
|
2
|
+
|
|
3
|
+
- Stack
|
|
4
|
+
- [Overview](docs/stack/overview.mdx): Understand the main technologies and hosting shape behind eddev sites.
|
|
5
|
+
- [How It Works](docs/stack/how-it-works.mdx): Follow the end-to-end request flow for an eddev page.
|
|
6
|
+
- [SPA vs SSR](docs/stack/spa-vs-ssr.mdx): Compare WordPress-hosted SPA mode with serverless SSR mode.
|
|
7
|
+
- [Software and Tooling](docs/software.mdx): Tools we use to build, edit, and run eddev projects.
|
|
8
|
+
|
|
9
|
+
- **Guides**
|
|
10
|
+
- [Getting Started](docs/getting-started.mdx): Set up a new eddev project from the starter theme.
|
|
11
|
+
- Dev Tools
|
|
12
|
+
- [eddev CLI](docs/devtool/cli.mdx): Run development, builds, codegen, and diagnostics through the eddev CLI.
|
|
13
|
+
- [Dev Overlay](docs/devtool/overlay.mdx): Use the in-browser development overlay while working on eddev sites.
|
|
14
|
+
- Infrastructure
|
|
15
|
+
- [Deployment](docs/infra/deployment.mdx): A placeholder for deployment workflows across GitHub, Vercel, and Cloudflare.
|
|
16
|
+
- [Local](docs/infra/local.mdx): A placeholder for Local setup and push-pull workflow guidance.
|
|
17
|
+
- [Security](docs/infra/security.mdx): A placeholder for origin protection and secret management guidance.
|
|
18
|
+
- [Caching](docs/infra/caching.mdx): A placeholder for eddev cache configuration and deployment layers.
|
|
19
|
+
- Design System
|
|
20
|
+
- [Colours](docs/design/color.mdx): Configure colour tokens and Figma handoff output for Tailwind.
|
|
21
|
+
- [Typography](docs/design/type.mdx): Configure typography tokens through Tailwind helper classes.
|
|
22
|
+
- [Using Icons](docs/design/icons.mdx): Export and use Figma icons as React-friendly SVG components.
|
|
23
|
+
- [Grid System](docs/design/grid.mdx): Configure grid tokens, gutters, and layout utilities.
|
|
24
|
+
- [Responsive Scaling](docs/design/responsive-scaling.mdx): Configure responsive Tailwind tokens with the local helper.
|
|
25
|
+
- [Favicons](docs/design/favicons.mdx): Configure how eddev generates or delegates favicon assets.
|
|
26
|
+
- More Guides
|
|
27
|
+
- [Colour Schemes](docs/guides/color-schemes.mdx): Define named visual schemes with Tailwind semantic tokens.
|
|
28
|
+
- [Integrations](docs/guides/integrations.mdx): A placeholder for third-party integration guidance.
|
|
29
|
+
- [Page Transitions](docs/guides/page-transitions.mdx): A placeholder for page transition patterns in eddev sites.
|
|
30
|
+
- [SEO](docs/guides/seo.mdx): A placeholder for SEO patterns in eddev sites.
|
|
31
|
+
- [State Management](docs/guides/state-management.mdx): A placeholder for state management guidance in eddev sites.
|
|
32
|
+
- Snippets
|
|
33
|
+
- [Overview](docs/snippets.mdx): Situation-based recipes from real eddev themes
|
|
34
|
+
- [Querying Specific Blocks](docs/snippets/querying-specific-blocks.mdx): Select, split, and render only the block content you need
|
|
35
|
+
- [Type-Safe ACF Dropdowns](docs/snippets/type-safe-acf-dropdowns.mdx): Register one enum field and use its generated TypeScript type
|
|
36
|
+
- [Multiple Editable Zones](docs/snippets/multiple-editable-zones.mdx): Use SlotBlocks when one block needs more than one child area
|
|
37
|
+
- [Automated Block Layouts](docs/snippets/automated-block-layouts.mdx): Use block flags and wrapBlock to keep layout rules out of every block
|
|
38
|
+
- [Submitting Forms To RPC](docs/snippets/submitting-forms-to-rpc.mdx): Create a serverless mutation and call it from React
|
|
39
|
+
- [Custom Routes And URLs](docs/snippets/custom-routes-and-urls.mdx): Map fixed URLs to views and keep generated WordPress links aligned
|
|
40
|
+
- [SVGs](docs/snippets/svgs.mdx): Copy/paste SVG upload and GraphQL snippets
|
|
41
|
+
|
|
42
|
+
- **Components**
|
|
43
|
+
- [Configuration](docs/config.mdx): Configure eddev projects with theme-level JSON settings.
|
|
44
|
+
- Routing
|
|
45
|
+
- [Routing Overview](docs/routing.mdx): Understand the WordPress and frontend sides of eddev routing.
|
|
46
|
+
- [Custom Routes](docs/routing/custom.mdx): Register fixed WordPress-backed routes for app-like screens.
|
|
47
|
+
- [WordPress Routing](docs/routing/wordpress.mdx): Let WordPress resolve URLs while React renders the matched view.
|
|
48
|
+
- [Frontend Routing APIs](docs/routing/api.mdx): Use eddev routing APIs for links, preloading, and client navigation.
|
|
49
|
+
- [How it Works](docs/routing/full-details.mdx): Trace how eddev loads route data for SPA and serverless navigation.
|
|
50
|
+
- GraphQL
|
|
51
|
+
- [Overview](docs/graphql.mdx): Working with GraphQL in eddev
|
|
52
|
+
- [Global Data](docs/graphql/global-data.mdx): Fetch shared site shell data through views/_app.graphql.
|
|
53
|
+
- [GraphQL Fragments](docs/graphql/fragments.mdx): Share GraphQL selections and generated fragment types across queries.
|
|
54
|
+
- [Query Hooks](docs/graphql/query-hooks.mdx): Generate browser runtime query hooks from files in queries.
|
|
55
|
+
- [Mutation Hooks](docs/graphql/mutation-hooks.mdx): Generate mutation hooks for runtime GraphQL operations with side effects.
|
|
56
|
+
- [Infinite Queries](docs/graphql/infinite-queries.mdx): Build load-more interfaces with generated infinite query hooks.
|
|
57
|
+
- [Extending the GraphQL Schema](docs/graphql/extending.mdx): Extend WPGraphQL when frontend data needs custom schema fields.
|
|
58
|
+
- [GraphQL Tooling](docs/graphql/tooling.mdx): Use generated schema files with editor tooling and GraphiQL.
|
|
59
|
+
- Views
|
|
60
|
+
- [Views](docs/views.mdx): Page and post-type templates
|
|
61
|
+
- [_app.tsx Layout](docs/views/app-view.mdx): Common site layout
|
|
62
|
+
- [Page Templates](docs/views/page-templates.mdx): Selectable templates for pages and post types
|
|
63
|
+
- [View Data](docs/views/queries.mdx): Pipe WordPress data into your templates
|
|
64
|
+
- Blocks
|
|
65
|
+
- [Overview](docs/blocks/overview.mdx): The basics of creating Gutenberg blocks
|
|
66
|
+
- [Defining a block](docs/blocks/block-definition.mdx): How to create a new block type
|
|
67
|
+
- [Data and Editing](docs/blocks/data-and-editing.mdx): GraphQL props, inline content, and core block rendering
|
|
68
|
+
- [Configuring the Editor](docs/blocks/editor-config.mdx): Control which blocks authors can use
|
|
69
|
+
- [Nested Blocks](docs/blocks/nested-blocks.mdx): Blocks within blocks
|
|
70
|
+
- [Template Parts](docs/blocks/template-parts.mdx): Reusable site sections powered by blocks
|
|
71
|
+
- [Core Blocks](docs/blocks/core-blocks.mdx): Working with WordPress core blocks in eddev
|
|
72
|
+
- ACF
|
|
73
|
+
- [ACF](docs/acf.mdx): Custom ACF fields, enum field shortcuts, and React widgets for WordPress admin screens.
|
|
74
|
+
- [Custom Fields](docs/acf/custom-fields.mdx): Build a custom ACF field type with PHP storage and React editing UI.
|
|
75
|
+
- [Custom Enums](docs/acf/custom-enums.mdx): Register reusable typed ACF choice fields without writing a full custom field UI.
|
|
76
|
+
- [Admin Panel Widgets](docs/acf/admin-panel-widgets.mdx): Mount React widgets inside custom WordPress admin pages.
|
|
77
|
+
- Serverless
|
|
78
|
+
- [Serverless](docs/serverless.mdx): Run the public eddev frontend on Vercel while WordPress owns content and routing.
|
|
79
|
+
- [RPC Functions](docs/serverless/functions.mdx): Define TypeScript RPC routes for serverless eddev projects.
|
package/tsconfig.app.json
CHANGED