Skip to content

Commit 9399dda

Browse files
author
Bart Koelman
authored
Make documentation website SEO-friendly (#907)
* fix index description; add missing close tag * fixed html entity terminator * add Google Search Console
1 parent e63ddf1 commit 9399dda

File tree

4 files changed

+76
-77
lines changed

4 files changed

+76
-77
lines changed

appveyor.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,7 @@ after_build:
3535
git clone https://github.com/json-api-dotnet/JsonApiDotNetCore.git -b gh-pages origin_site -q
3636
Copy-Item origin_site/.git _site -recurse
3737
Copy-Item CNAME _site/CNAME
38-
Copy-Item home/index.html _site/index.html
39-
Copy-Item home/favicon.ico _site/favicon.ico
40-
Copy-Item home/assets/* _site/styles/ -Recurse
38+
Get-ChildItem -Path home/* -Recurse | Copy-Item -Destination _site
4139
CD _site
4240
git add -A 2>&1
4341
git commit -m "CI Updates" -q

docs/build-dev.ps1

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,12 @@ dotnet build .. --configuration Release
99
Invoke-Expression ./generate-examples.ps1
1010

1111
docfx ./docfx.json
12-
Copy-Item home/index.html _site/index.html
13-
Copy-Item home/favicon.ico _site/favicon.ico
14-
Copy-Item -Recurse home/assets/* _site/styles/
12+
Get-ChildItem -Path home/* -Recurse | Copy-Item -Destination _site
1513

1614
cd _site
1715
httpserver &
1816
Start-Process "http://localhost:8080/"
17+
cd ..
1918

2019
Write-Host ""
2120
Write-Host "Web server started. Press Enter to close."

docs/home/google4333c35eee66739a.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
google-site-verification: google4333c35eee66739a.html

docs/home/index.html

Lines changed: 72 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
<meta charset="utf-8">
55
<meta content="width=device-width, initial-scale=1.0" name="viewport">
66
<title>JSON:API .NET Core</title>
7-
<meta content="" name="descriptison">
8-
<meta content="" name="keywords">
7+
<meta content="A framework for building json:api compliant REST APIs using .NET Core and Entity Framework Core" name="description">
8+
<meta content="jsonapidotnetcore jsonapi json:api dotnetcore" name="keywords">
99
<link href="favicon.ico" rel="icon">
1010
<link href="favicon.ico" rel="apple-touch-icon">
1111
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i|Raleway:300,300i,400,400i,600,600i,700,700i" rel="stylesheet">
@@ -63,71 +63,72 @@ <h4>Extensibility</h4>
6363
</div>
6464
</section>
6565
<section id="services" class="services section-bg">
66-
<div class="container">
67-
<div class="section-title" data-aos="fade-up">
68-
<h2>Features</h2>
69-
<p>The following features are supported, from HTTP all the way down to the database</p>
70-
</div>
71-
<div class="row">
72-
<div feature class="col-md-6 col-lg-3 d-flex align-items-stretch" data-aos="zoom-in" data-aos-delay="100" id='filter'>
73-
<div class="icon-box">
74-
<div class="icon"><i class="bx bxs-filter-alt"></i></div>
75-
<h4 class="title">Filtering</h4>
76-
<p class="description">Perform compound filtering using the <code>filter</code> query string parameter</p>
77-
</div>
78-
</div>
79-
<div feature class="col-md-6 col-lg-3 d-flex align-items-stretch" data-aos="zoom-in" data-aos-delay="200" id='sort'>
80-
<div class="icon-box">
81-
<div class="icon"><i class="bx bx-sort-z-a"></i></div>
82-
<h4 class="title">Sorting</h4>
83-
<p class="description">Order resources on one or multiple attributes using the <code>sort</code> query string parameter</p>
84-
</div>
85-
</div>
86-
<div feature class="col-md-6 col-lg-3 d-flex align-items-stretch" data-aos="zoom-in" data-aos-delay="300" id='pagination'>
87-
<div class="icon-box">
88-
<div class="icon"><i class="bx bx-note"></i></div>
89-
<h4 class="title">Pagination</h4>
90-
<p class="description">Leverage the benefits of paginated resources with the <code>page</code> query string parameter</p>
91-
</div>
92-
</div>
93-
<div feature class="col-md-6 col-lg-3 d-flex align-items-stretch" data-aos="zoom-in" data-aos-delay="400" id='selection'>
94-
<div class="icon-box">
95-
<div class="icon"><i class="bx bxs-select-multiple"></i></div>
96-
<h4 class="title">Sparse fieldset selection</h4>
97-
<p class="description">Get only the data that you need using the <code>fields</code> query string parameter</p>
98-
</div>
99-
</div>
100-
</div>
101-
<div class="row">
102-
<div feature class="col-md-6 col-lg-3 d-flex align-items-stretch" data-aos="zoom-in" data-aos-delay="100" id='include'>
103-
<div class="icon-box">
104-
<div class="icon"><i class="bx bxs-vector"></i></div>
105-
<h4 class="title">Relationship inclusion</h4>
106-
<p class="description">Side-load related resources of nested relationships using the <code>include</code> query string parameter</p>
107-
</div>
108-
</div>
109-
<div feature class="col-md-6 col-lg-3 d-flex align-items-stretch" data-aos="zoom-in" data-aos-delay="100" id='security'>
110-
<div class="icon-box">
111-
<div class="icon"><i class='bx bxs-lock'></i></div>
112-
<h4 class="title">Security</h4>
113-
<p class="description">Configure permissions, such as view/create/change/sort/filter of attributes and relationships</p>
114-
</div>
115-
</div>
116-
<div feature class="col-md-6 col-lg-3 d-flex align-items-stretch" data-aos="zoom-in" data-aos-delay="100" id='validation'>
117-
<div class="icon-box">
118-
<div class="icon"><i class='bx bx-check-double'></i></div>
119-
<h4 class="title">Validation</h4>
120-
<p class="description">Validate incoming requests using built-in ASP.NET Core <code>ModelState</code> validation, which works seamlessly with partial updates</p>
121-
</div>
122-
</div>
123-
<div feature class="col-md-6 col-lg-3 d-flex align-items-stretch" data-aos="zoom-in" data-aos-delay="200" id='customizable'>
124-
<div class="icon-box">
125-
<div class="icon"><i class='bx bxs-category-alt'></i></div>
126-
<h4 class="title">Customizable</h4>
127-
<p class="description">Use various extensibility points to intercept and run custom code, besides just model annotations</p>
128-
</div>
129-
</div>
130-
</div>
66+
<div class="container">
67+
<div class="section-title" data-aos="fade-up">
68+
<h2>Features</h2>
69+
<p>The following features are supported, from HTTP all the way down to the database</p>
70+
</div>
71+
<div class="row">
72+
<div feature class="col-md-6 col-lg-3 d-flex align-items-stretch" data-aos="zoom-in" data-aos-delay="100" id='filter'>
73+
<div class="icon-box">
74+
<div class="icon"><i class="bx bxs-filter-alt"></i></div>
75+
<h4 class="title">Filtering</h4>
76+
<p class="description">Perform compound filtering using the <code>filter</code> query string parameter</p>
77+
</div>
78+
</div>
79+
<div feature class="col-md-6 col-lg-3 d-flex align-items-stretch" data-aos="zoom-in" data-aos-delay="200" id='sort'>
80+
<div class="icon-box">
81+
<div class="icon"><i class="bx bx-sort-z-a"></i></div>
82+
<h4 class="title">Sorting</h4>
83+
<p class="description">Order resources on one or multiple attributes using the <code>sort</code> query string parameter</p>
84+
</div>
85+
</div>
86+
<div feature class="col-md-6 col-lg-3 d-flex align-items-stretch" data-aos="zoom-in" data-aos-delay="300" id='pagination'>
87+
<div class="icon-box">
88+
<div class="icon"><i class="bx bx-note"></i></div>
89+
<h4 class="title">Pagination</h4>
90+
<p class="description">Leverage the benefits of paginated resources with the <code>page</code> query string parameter</p>
91+
</div>
92+
</div>
93+
<div feature class="col-md-6 col-lg-3 d-flex align-items-stretch" data-aos="zoom-in" data-aos-delay="400" id='selection'>
94+
<div class="icon-box">
95+
<div class="icon"><i class="bx bxs-select-multiple"></i></div>
96+
<h4 class="title">Sparse fieldset selection</h4>
97+
<p class="description">Get only the data that you need using the <code>fields</code> query string parameter</p>
98+
</div>
99+
</div>
100+
</div>
101+
<div class="row">
102+
<div feature class="col-md-6 col-lg-3 d-flex align-items-stretch" data-aos="zoom-in" data-aos-delay="100" id='include'>
103+
<div class="icon-box">
104+
<div class="icon"><i class="bx bxs-vector"></i></div>
105+
<h4 class="title">Relationship inclusion</h4>
106+
<p class="description">Side-load related resources of nested relationships using the <code>include</code> query string parameter</p>
107+
</div>
108+
</div>
109+
<div feature class="col-md-6 col-lg-3 d-flex align-items-stretch" data-aos="zoom-in" data-aos-delay="100" id='security'>
110+
<div class="icon-box">
111+
<div class="icon"><i class='bx bxs-lock'></i></div>
112+
<h4 class="title">Security</h4>
113+
<p class="description">Configure permissions, such as view/create/change/sort/filter of attributes and relationships</p>
114+
</div>
115+
</div>
116+
<div feature class="col-md-6 col-lg-3 d-flex align-items-stretch" data-aos="zoom-in" data-aos-delay="100" id='validation'>
117+
<div class="icon-box">
118+
<div class="icon"><i class='bx bx-check-double'></i></div>
119+
<h4 class="title">Validation</h4>
120+
<p class="description">Validate incoming requests using built-in ASP.NET Core <code>ModelState</code> validation, which works seamlessly with partial updates</p>
121+
</div>
122+
</div>
123+
<div feature class="col-md-6 col-lg-3 d-flex align-items-stretch" data-aos="zoom-in" data-aos-delay="200" id='customizable'>
124+
<div class="icon-box">
125+
<div class="icon"><i class='bx bxs-category-alt'></i></div>
126+
<h4 class="title">Customizable</h4>
127+
<p class="description">Use various extensibility points to intercept and run custom code, besides just model annotations</p>
128+
</div>
129+
</div>
130+
</div>
131+
</div>
131132
</section>
132133
<section id="code-example" class="services">
133134
<div class="container">
@@ -160,12 +161,12 @@ <h4 class="title">Resource</h4>
160161
public Person Author { get; set; }
161162

162163
[HasMany]
163-
public ICollection&ltRevision&gt Revisions { get; set; }
164+
public ICollection&lt;Revision&gt; Revisions { get; set; }
164165

165166
[HasManyThrough(nameof(ArticleTags))]
166167
[NotMapped]
167-
public ICollection&ltTag&gt Tags { get; set; }
168-
public ICollection&ltArticleTag&gt ArticleTags { get; set; }
168+
public ICollection&lt;Tag&gt; Tags { get; set; }
169+
public ICollection&lt;ArticleTag&gt; ArticleTags { get; set; }
169170
}</code>
170171
</pre>
171172
</div>
@@ -274,4 +275,4 @@ <h4>Contact us</h4>
274275
<script src="https://cdnjs.cloudflare.com/ajax/libs/aos/2.3.4/aos.js"></script>
275276
<script src="styles/home.js"></script>
276277
</body>
277-
</html>
278+
</html>

0 commit comments

Comments
 (0)