Skip to content

Commit

Permalink
Merge pull request #318 from nikcio/feature/docs-v5
Browse files Browse the repository at this point in the history
Feature Docs v5
  • Loading branch information
nikcio authored Jun 9, 2024
2 parents 1041069 + 683a158 commit ce02300
Show file tree
Hide file tree
Showing 236 changed files with 13,975 additions and 1,145 deletions.
9 changes: 8 additions & 1 deletion Nikcio.UHeadless.sln
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nikcio.UHeadless.Integratio
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Examples", "Examples", "{35E640D8-E023-4EAE-8F6A-DA111530CFB7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "code-examples", "examples\code-examples\code-examples.csproj", "{3A9D1882-B230-49DD-B0F3-0CE1134CE6D7}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "code-examples", "examples\code-examples\code-examples.csproj", "{3A9D1882-B230-49DD-B0F3-0CE1134CE6D7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "starter-example", "examples\starter-example\starter-example.csproj", "{3E7F0679-EBDD-4158-8AA5-CFDC7CDC4FF2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down Expand Up @@ -53,6 +55,10 @@ Global
{3A9D1882-B230-49DD-B0F3-0CE1134CE6D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3A9D1882-B230-49DD-B0F3-0CE1134CE6D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3A9D1882-B230-49DD-B0F3-0CE1134CE6D7}.Release|Any CPU.Build.0 = Release|Any CPU
{3E7F0679-EBDD-4158-8AA5-CFDC7CDC4FF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3E7F0679-EBDD-4158-8AA5-CFDC7CDC4FF2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3E7F0679-EBDD-4158-8AA5-CFDC7CDC4FF2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E7F0679-EBDD-4158-8AA5-CFDC7CDC4FF2}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -62,6 +68,7 @@ Global
{AB38DFEA-A643-44A0-BFC1-B38B163C62C6} = {9E422C4D-CDA0-486D-8201-1C48E5DF758C}
{87F86EB5-6EE0-4E7A-9D1D-4732E050F772} = {9E422C4D-CDA0-486D-8201-1C48E5DF758C}
{3A9D1882-B230-49DD-B0F3-0CE1134CE6D7} = {35E640D8-E023-4EAE-8F6A-DA111530CFB7}
{3E7F0679-EBDD-4158-8AA5-CFDC7CDC4FF2} = {35E640D8-E023-4EAE-8F6A-DA111530CFB7}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {35FA3052-75A6-4E60-8C6B-1882EE08D1CD}
Expand Down
115 changes: 60 additions & 55 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The Nikcio.UHeadless package is compatible with the following Umbraco versions:
|----------------------|-----------------------|
| Umbraco 10 | v3.x.x |
| Umbraco 12 | v4.x.x |
| Umbraco 13 | v4.2.x+ |
| Umbraco 13 | v4.2.x+ & v5.x.x |

For more information, please refer to the [Versioning](#versioning) section.

Expand All @@ -36,76 +36,81 @@ You can also find the package on [NuGet](https://www.nuget.org/packages/Nikcio.U

To integrate the package into your project, follow these steps:

1. Open your `Startup.cs` file.
2. Add the following using statement:
1. Open your `Program.cs` file.
2. Add the following using statements:

```csharp
using Nikcio.UHeadless.Extensions;
```
```csharp
using Nikcio.UHeadless;
using Nikcio.UHeadless.Defaults.ContentItems;
```

3. In the `ConfigureServices` method, add the following code:
3. On the `UmbracoBuilder`, add the following code:

```csharp
public void ConfigureServices(IServiceCollection services)
{
services.AddUmbraco(_env, _config)
/* Code omitted for clarity */
.AddUHeadless()
/* Code omitted for clarity */
}
```
```csharp
builder.CreateUmbracoBuilder()
// Default Umbraco configuration
.AddUHeadless(options =>
{
options.DisableAuthorization = true; // Change this later when adding authentication - See documentation
4. In the `Configure` method, add the following code:
options.AddDefaults();

```csharp
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
/* Code omitted for clarity */
options.AddQuery<ContentByRouteQuery>();
options.AddQuery<ContentByGuidQuery>();
})
.Build();
```

app.UseUHeadlessGraphQLEndpoint();
4. Then after the `app.BootUmbracoAsync()` method, add the following code:

app.UseUmbraco()
/* etc... */
}
```
```csharp
await app.BootUmbracoAsync();

With these configurations in place, your content will be available at `/graphql`. To get started, try adding some content to the root and run the following query:
app.UseAuthentication();
app.UseAuthorization();

```graphql
{
contentAtRoot {
nodes {
id,
name
}
}
}
```
GraphQLEndpointConventionBuilder graphQLEndpointBuilder = app.MapUHeadless();

## Documentation
// Only enable the GraphQL IDE in development
if (!builder.Environment.IsDevelopment())
{
graphQLEndpointBuilder.WithOptions(new GraphQLServerOptions()
{
Tool =
{
Enable = false,
}
});
}

For detailed documentation and usage instructions, please refer to the [Nikcio.UHeadless Documentation](https://nikcio.github.io/Nikcio.UHeadless).
app.UseUmbraco()
// Default Umbraco configuration
```

## Extending Packages
With these configurations in place, your content will be available at `/graphql`.

Nikcio.UHeadless offers various packages for extending its functionality. The following table lists the available packages and their current status:
To get started, try querying your content using their GUIDs or routes. For example with the query below:

| Package Name | Status |
| --------------------------------- | ------------ |
| Nikcio.UHeadless.Content | Included* |
| Nikcio.UHeadless.Media | Included* |
| Nikcio.UHeadless.ContentTypes | Included* |
| Nikcio.UHeadless.Members | Available |
| Nikcio.UHeadless.DataTypes | Not started |
| Nikcio.UHeadless.Dictionary | Not started |
| Nikcio.UHeadless.MediaTypes | Not started |
| Nikcio.UHeadless.MemberTypes | Not started |
__Tip: GUIDs can be found in the info tab when viewing content in the backoffice__

\***Included** indicates that the package is included in the Nikcio.UHeadless NuGet package.
```graphql
query {
contentByGuid(id: "dcf18a51-6919-4cf8-89d1-36b94ce4d963") {
id
key
name
statusCode
templateId
updateDate
url(urlMode: ABSOLUTE)
urlSegment
}
}
```

\*\***Preview** indicates that the package is available in a preview version.
## Documentation

Please note that if a Nikcio.UHeadless.\* package is not listed above, it either means that the package is not ready for use or it is a core/base package used in the packages mentioned above.
For detailed documentation and usage instructions, please refer to the [Nikcio.UHeadless Documentation](https://nikcio.github.io/Nikcio.UHeadless).
## Versioning

Expand All @@ -127,7 +132,7 @@ vX.Y.Z
| Umbraco 10 | v2.x.x & v3.x.x | Only reported issues for v3.x.x |
| Umbraco 11 | v3.x.x & v4.x.x | No development |
| Umbraco 12 | v4.x.x | Only reported issues for v4.x.x |
| Umbraco 13 | v4.2.x+ | Active branch |
| Umbraco 13 | v4.2.x+ & v5.x.x | Active branch (v5.x.x) |

## Contributing

Expand Down
164 changes: 109 additions & 55 deletions docs/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -19,94 +19,148 @@ export default defineConfig({
label: 'Welcome',
items: [
{ label: 'Overview', link: '/overview/' },
{ label: 'Version 4', link: '/v4/start/' },
{ label: 'Version 5', link: '/v5/start/' },
],
},
{
label: 'Fundamentals',
items: [
{ label: 'Getting started', link: 'v4/fundamentals/getting-started/' },
{ label: 'Security', link: 'v4/fundamentals/security/' },
{ label: 'Extend UHeadless', link: 'v4/fundamentals/extend-uheadless/' },
{ label: 'Getting started', link: 'v5/fundamentals/getting-started/' },
{ label: 'Security', link: 'v5/fundamentals/security/' },
{
label: 'Querying',
collapsed: true,
items: [
{ label: 'Content', link: 'v4/fundamentals/querying/content/' },
{ label: 'Media', link: 'v4/fundamentals/querying/media/' },
{ label: 'Members', link: 'v4/fundamentals/querying/members/' },
{ label: 'Properties', link: 'v4/fundamentals/querying/properties/' }
{ label: 'Content', link: 'v5/fundamentals/querying/content/' },
{ label: 'Media', link: 'v5/fundamentals/querying/media/' },
{ label: 'Members', link: 'v5/fundamentals/querying/members/' },
{ label: 'Properties', link: 'v5/fundamentals/querying/properties/' }
]
},
]
},
{
label: 'Extending',
items: [
{ label: 'Content', link: 'v4/extending/content/' },
{ label: 'Media', link: 'v4/extending/media/' },
{ label: 'Member', link: 'v4/extending/member/' },
{ label: 'Content', link: 'v5/extending/content/' },
{ label: 'Media', link: 'v5/extending/media/' },
{ label: 'Member', link: 'v5/extending/member/' },
{
label: 'Properties',
collapsed: true,
items: [
{ label: 'Overview', link: 'v4/extending/properties/overview/' },
{ label: 'Rich text', link: 'v4/extending/properties/rich-text/' },
{ label: 'Media picker', link: 'v4/extending/properties/media-picker/' },
{ label: 'Block list', link: 'v4/extending/properties/block-list/' },
{ label: 'Custom editor', link: 'v4/extending/properties/custom-editor/' },
{ label: 'Overview', link: 'v5/extending/properties/overview/' },
{ label: 'Rich text', link: 'v5/extending/properties/rich-text/' },
{ label: 'Media picker', link: 'v5/extending/properties/media-picker/' },
{ label: 'Block list', link: 'v5/extending/properties/block-list/' },
{ label: 'Custom editor', link: 'v5/extending/properties/custom-editor/' },
]
},
]
},
{
label: 'Reference',
items: [
{ label: 'Options', link: 'v4/reference/options/' },
{ label: 'Endpoint options', link: 'v4/reference/endpoint-options/' },
{ label: 'Paging options', link: 'v4/reference/paging-options/' },
{
label: 'Content',
collapsed: true,
items: [
{ label: 'Content Reference', link: 'v4/reference/content/overview/' },
{ label: 'Content Bases', link: 'v4/reference/content/bases/' },
{ label: 'Content Basics', link: 'v4/reference/content/basics/' }
]
},
{
label: 'Media',
collapsed: true,
items: [
{ label: 'Media Reference', link: 'v4/reference/media/overview/' },
{ label: 'Media Bases', link: 'v4/reference/media/bases/' },
{ label: 'Media Basics', link: 'v4/reference/media/basics/' }
]
},
{
label: 'Members',
collapsed: true,
items: [
{ label: 'Members Reference', link: 'v4/reference/members/overview/' },
{ label: 'Members Bases', link: 'v4/reference/members/bases/' },
{ label: 'Members Basics', link: 'v4/reference/members/basics/' }
]
},
{
label: 'Properties',
collapsed: true,
items: [
{ label: 'Properties Reference', link: 'v4/reference/properties/overview/' },
{ label: 'Properties Bases', link: 'v4/reference/properties/bases/' },
{ label: 'Properties Basics', link: 'v4/reference/properties/basics/' }
]
},
{ label: 'Options', link: 'v5/reference/options/' },
{ label: 'Endpoint options', link: 'v5/reference/endpoint-options/' },
{ label: 'Content', link: 'v5/reference/content/' },
{ label: 'Media', link: 'v5/reference/media/' },
{ label: 'Member', link: 'v5/reference/member/' },
{ label: 'Member', link: 'v5/reference/properties/' },
]
},
{
label: 'Older versions',
collapsed: true,
items: [
{
label: 'Version 4',
collapsed: true,
items: [
{ label: 'Overview', link: '/v4/start/' },
{
label: 'Fundamentals',
items: [
{ label: 'Getting started', link: 'v4/fundamentals/getting-started/' },
{ label: 'Security', link: 'v4/fundamentals/security/' },
{ label: 'Extend UHeadless', link: 'v4/fundamentals/extend-uheadless/' },
{
label: 'Querying',
collapsed: true,
items: [
{ label: 'Content', link: 'v4/fundamentals/querying/content/' },
{ label: 'Media', link: 'v4/fundamentals/querying/media/' },
{ label: 'Members', link: 'v4/fundamentals/querying/members/' },
{ label: 'Properties', link: 'v4/fundamentals/querying/properties/' }
]
},
]
},
{
label: 'Extending',
items: [
{ label: 'Content', link: 'v4/extending/content/' },
{ label: 'Media', link: 'v4/extending/media/' },
{ label: 'Member', link: 'v4/extending/member/' },
{
label: 'Properties',
collapsed: true,
items: [
{ label: 'Overview', link: 'v4/extending/properties/overview/' },
{ label: 'Rich text', link: 'v4/extending/properties/rich-text/' },
{ label: 'Media picker', link: 'v4/extending/properties/media-picker/' },
{ label: 'Block list', link: 'v4/extending/properties/block-list/' },
{ label: 'Custom editor', link: 'v4/extending/properties/custom-editor/' },
]
},
]
},
{
label: 'Reference',
items: [
{ label: 'Options', link: 'v4/reference/options/' },
{ label: 'Endpoint options', link: 'v4/reference/endpoint-options/' },
{ label: 'Paging options', link: 'v4/reference/paging-options/' },
{
label: 'Content',
collapsed: true,
items: [
{ label: 'Content Reference', link: 'v4/reference/content/overview/' },
{ label: 'Content Bases', link: 'v4/reference/content/bases/' },
{ label: 'Content Basics', link: 'v4/reference/content/basics/' }
]
},
{
label: 'Media',
collapsed: true,
items: [
{ label: 'Media Reference', link: 'v4/reference/media/overview/' },
{ label: 'Media Bases', link: 'v4/reference/media/bases/' },
{ label: 'Media Basics', link: 'v4/reference/media/basics/' }
]
},
{
label: 'Members',
collapsed: true,
items: [
{ label: 'Members Reference', link: 'v4/reference/members/overview/' },
{ label: 'Members Bases', link: 'v4/reference/members/bases/' },
{ label: 'Members Basics', link: 'v4/reference/members/basics/' }
]
},
{
label: 'Properties',
collapsed: true,
items: [
{ label: 'Properties Reference', link: 'v4/reference/properties/overview/' },
{ label: 'Properties Bases', link: 'v4/reference/properties/bases/' },
{ label: 'Properties Basics', link: 'v4/reference/properties/basics/' }
]
},
]
}
]
},
{
label: 'Version 3',
collapsed: true,
Expand Down
4 changes: 2 additions & 2 deletions docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
"astro": "astro"
},
"dependencies": {
"@astrojs/starlight": "^0.21.4",
"astro": "^4.5.16",
"@astrojs/starlight": "^0.24.0",
"astro": "^4.10.1",
"sharp": "^0.33.3"
}
}
Loading

0 comments on commit ce02300

Please sign in to comment.