From c07b0c2dc97550a5288022c7b966ec4c3944bb83 Mon Sep 17 00:00:00 2001 From: Bart Koelman <10324372+bkoelman@users.noreply.github.com> Date: Sat, 22 Jul 2023 14:12:29 +0200 Subject: [PATCH 1/2] Reformat .html file with 2 spaces as indent --- .editorconfig | 2 +- docs/home/index.html | 365 +++++++++++++++++++++---------------------- 2 files changed, 181 insertions(+), 186 deletions(-) diff --git a/.editorconfig b/.editorconfig index 86cbbc3700..5a036d1797 100644 --- a/.editorconfig +++ b/.editorconfig @@ -8,7 +8,7 @@ charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true -[*.{config,csproj,css,js,json,props,ruleset,xslt}] +[*.{config,csproj,css,js,json,props,ruleset,xslt,html}] indent_size = 2 [*.{cs}] diff --git a/docs/home/index.html b/docs/home/index.html index fae1d090be..8b923811f9 100644 --- a/docs/home/index.html +++ b/docs/home/index.html @@ -1,147 +1,147 @@ - - - - JsonApiDotNetCore documentation - - - - - - - - - - - - - -
-
+ + + + JsonApiDotNetCore documentation + + + + + + + + + + + + + +
+
+
+
+

JsonApiDotNetCore

+

A framework for building JSON:API compliant REST APIs using .NET Core and Entity Framework Core. Includes support for Atomic Operations.

+ Read more + Getting started + Contribute on GitHub +
+
+ project logo +
+
+
+
+
+
+
+
+
+ people working at desk +
+
+

Objectives

+

+ The goal of this library is to simplify the development of APIs that leverage the full range of features provided by the JSON:API specification. + You just need to focus on defining the resources and implementing your custom business logic. +

-
-

JsonApiDotNetCore

-

A framework for building JSON:API compliant REST APIs using .NET Core and Entity Framework Core. Includes support for Atomic Operations.

- Read more - Getting started - Contribute on GitHub -
-
- project logo -
+
+ +

Eliminate boilerplate

+

We strive to eliminate as much boilerplate as possible by offering out-of-the-box features such as sorting, filtering and pagination.

+
+
+ +

Extensibility

+

This library has been designed around dependency injection, making extensibility incredibly easy.

+
-
-
-
-
-
-
-
- people working at desk -
-
-

Objectives

-

- The goal of this library is to simplify the development of APIs that leverage the full range of features provided by the JSON:API specification. - You just need to focus on defining the resources and implementing your custom business logic. -

-
-
- -

Eliminate boilerplate

-

We strive to eliminate as much boilerplate as possible by offering out-of-the-box features such as sorting, filtering and pagination.

-
-
- -

Extensibility

-

This library has been designed around dependency injection, making extensibility incredibly easy.

-
-
-
-
+
+
+ +
+
+
+
+

Features

+

The following features are supported, from HTTP all the way down to the database

+
+
+
+
+
+

Filtering

+

Perform compound filtering using the filter query string parameter

-
-
-
-
-

Features

-

The following features are supported, from HTTP all the way down to the database

-
-
-
-
-
-

Filtering

-

Perform compound filtering using the filter query string parameter

-
-
-
-
-
-

Sorting

-

Order resources on one or multiple attributes using the sort query string parameter

-
-
- -
-
-
-

Sparse fieldset selection

-

Get only the data that you need using the fields query string parameter

-
-
-
-
-
-
-
-

Relationship inclusion

-

Side-load related resources of nested relationships using the include query string parameter

-
-
-
-
-
-

Security

-

Configure permissions, such as view/create/change/sort/filter of attributes and relationships

-
-
-
-
-
-

Validation

-

Validate incoming requests using built-in ASP.NET Core ModelState validation, which works seamlessly with partial updates

-
-
-
-
-
-

Customizable

-

Use various extensibility points to intercept and run custom code, besides just model annotations

-
-
-
-
-
-
-
-
-

Example usage

-

Expose resources with attributes and relationships

+
+
+
+
+

Sorting

+

Order resources on one or multiple attributes using the sort query string parameter

-
-
-
-
-

Resource

-
+          
+ +
+
+
+

Sparse fieldset selection

+

Get only the data that you need using the fields query string parameter

+
+
+
+
+
+
+
+

Relationship inclusion

+

Side-load related resources of nested relationships using the include query string parameter

+
+
+
+
+
+

Security

+

Configure permissions, such as view/create/change/sort/filter of attributes and relationships

+
+
+
+
+
+

Validation

+

Validate incoming requests using built-in ASP.NET Core ModelState validation, which works seamlessly with partial updates

+
+
+
+
+
+

Customizable

+

Use various extensibility points to intercept and run custom code, besides just model annotations

+
+
+
+
+
+
+
+
+

Example usage

+

Expose resources with attributes and relationships

+
+
+
+
+
+

Resource

+
 #nullable enable
 
 public class Article : Identifiable<long>
@@ -172,31 +172,26 @@ 

Resource

[HasMany] public ICollection<Tag> Tags { get; set; } = new HashSet<Tag>(); }
-
-
-
+
-
-
-
-
-

Request

-
-
-GET /articles?filter=contains(summary,'web')&sort=-lastModifiedAt&fields[articles]=title,summary&include=author HTTP/1.1
-
-                     
-
-
+
+
+
+
+
+
+

Request

+
GET /articles?filter=contains(summary,'web')&sort=-lastModifiedAt&fields[articles]=title,summary&include=author HTTP/1.1
-
-
-
-
-

Response

-
-
-{
+          
+
+
+
+
+
+

Response

+
+{
   "meta": {
     "totalResources": 1
   },
@@ -252,31 +247,31 @@ 

Response

] }
-
-
-
+
-
-
- + + + + + + + + + From 392d724d5140d24de93afe4184c1a20685fd9a37 Mon Sep 17 00:00:00 2001 From: Bart Koelman <10324372+bkoelman@users.noreply.github.com> Date: Sat, 22 Jul 2023 14:25:05 +0200 Subject: [PATCH 2/2] Add sponsors to docs landing page and root readme --- README.md | 5 +++++ docs/home/assets/home.css | 35 ++++++++++++++++++++++++++++------- docs/home/assets/home.js | 11 ++++++++--- docs/home/index.html | 23 +++++++++++++++++++++++ 4 files changed, 64 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 26432ee909..b3ffb5db90 100644 --- a/README.md +++ b/README.md @@ -130,3 +130,8 @@ Alternatively, to build and validate the code, run all tests, generate code cove ```bash pwsh Build.ps1 ``` + +## Sponsors + +JetBrains Logo   +Araxis Logo diff --git a/docs/home/assets/home.css b/docs/home/assets/home.css index bfd6f96e06..273efe261b 100644 --- a/docs/home/assets/home.css +++ b/docs/home/assets/home.css @@ -95,7 +95,6 @@ h1, h2, h3, h4, h5, h6, .font-primary { margin-top: 72px; } - /*-------------------------------------------------------------- # Hero Section --------------------------------------------------------------*/ @@ -300,12 +299,6 @@ section { .breadcrumbs ol li { display: inline-block; } - - -} - -div[feature]:hover { - cursor: pointer; } /*-------------------------------------------------------------- @@ -401,6 +394,34 @@ div[feature]:hover { margin-bottom: 0; } +div[feature]:hover { + cursor: pointer; +} + +/*-------------------------------------------------------------- +# Sponsors +--------------------------------------------------------------*/ +.sponsors .icon-box { + padding: 30px; + position: relative; + overflow: hidden; + margin: 0 0 40px 0; + background: #fff; + box-shadow: 0 10px 29px 0 rgba(68, 88, 144, 0.1); + transition: all 0.3s ease-in-out; + border-radius: 15px; + text-align: center; + border-bottom: 3px solid #fff; +} + +.sponsors .icon-box:hover { + transform: translateY(-5px); + border-color: #ef7f4d; +} + +div[sponsor]:hover { + cursor: pointer; +} /*-------------------------------------------------------------- # Footer diff --git a/docs/home/assets/home.js b/docs/home/assets/home.js index cb8ac539bd..ed6571bf23 100644 --- a/docs/home/assets/home.js +++ b/docs/home/assets/home.js @@ -38,7 +38,6 @@ } }); - // Feature panels linking $('div[feature]#filter').on('click', () => navigateTo('usage/reading/filtering.html')); $('div[feature]#sort').on('click', () => navigateTo('usage/reading/sorting.html')); @@ -49,13 +48,19 @@ $('div[feature]#validation').on('click', () => navigateTo('usage/options.html#enable-modelstate-validation')); $('div[feature]#customizable').on('click', () => navigateTo('usage/extensibility/resource-definitions.html')); - const navigateTo = (url) => { - if (!window.getSelection().toString()){ + if (!window.getSelection().toString()) { window.location = url; } } + // Sponsor panels linking + $('div[sponsor]#jetbrains').on('click', () => navigateExternalTo('https://jb.gg/OpenSourceSupport')); + $('div[sponsor]#araxis').on('click', () => navigateExternalTo('https://www.araxis.com/buy/open-source')); + + const navigateExternalTo = (url) => { + window.open(url, "_blank"); + } hljs.initHighlightingOnLoad() diff --git a/docs/home/index.html b/docs/home/index.html index 8b923811f9..f4990be2ae 100644 --- a/docs/home/index.html +++ b/docs/home/index.html @@ -253,6 +253,29 @@

Response

+
+
+
+

Sponsors

+
+
+
+
+
+ JetBrains Logo +
+
+
+
+
+
+ Araxis Logo +
+
+
+
+
+