-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdotkernel-api-1-0-0-released.jsonld.twig
More file actions
72 lines (72 loc) · 4.28 KB
/
Copy pathdotkernel-api-1-0-0-released.jsonld.twig
File metadata and controls
72 lines (72 loc) · 4.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "TechArticle",
"@id": "{{ absolute_url(path('page::blog-resource', {categorySlug: article.category.slug, slug: article.slug})) }}#article",
"headline": {{ article.title|json_encode|raw }},
"description": {{ article.excerpt|json_encode|raw }},
"url": "{{ absolute_url(path('page::blog-resource', {categorySlug: article.category.slug, slug: article.slug})) }}",
"mainEntityOfPage": "{{ absolute_url(path('page::blog-resource', {categorySlug: article.category.slug, slug: article.slug})) }}",
"datePublished": "{{ article.postDate|date('c') }}",
"dateModified": "{{ article.postDate|date('c') }}",
"image": "{{ app.meta.image }}",
"articleSection": {{ article.category.name|json_encode|raw }},
"author": {
"@type": "Person",
"name": {{ article.author.name|json_encode|raw }},
"url": "{{ absolute_url(path('page::author-resource', {slug: article.author.slug})) }}"
},
"publisher": {
"@type": "Organization",
"name": "Dotkernel",
"url": "{{ absolute_url('/') }}",
"logo": {
"@type": "ImageObject",
"url": "{{ absolute_url(asset('images/app/dotkernel-logo.png')) }}"
}
}
},
{
"@type": "BreadcrumbList",
"@id": "{{ absolute_url(path('page::blog-resource', {categorySlug: article.category.slug, slug: article.slug})) }}#breadcrumb",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "{{ absolute_url('/') }}" },
{ "@type": "ListItem", "position": 2, "name": {{ article.category.name|json_encode|raw }}, "item": "{{ absolute_url(path('page::category-resource', {slug: article.category.slug})) }}" },
{ "@type": "ListItem", "position": 3, "name": {{ article.title|json_encode|raw }} }
]
},
{
"@type": "FAQPage",
"@id": "{{ absolute_url(path('page::blog-resource', {categorySlug: article.category.slug, slug: article.slug})) }}#faq",
"mainEntity": [
{
"@type": "Question",
"name": "What is Dotkernel API?",
"acceptedAnswer": {
"@type": "Answer",
"text": "It is a Zend Expressive 3 application aiming to help developers quickly and efficiently develop an API."
}
},
{
"@type": "Question",
"name": "What key libraries does Dotkernel API 1.0.0 use?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Among others, it's built on the ezimuel/zend-expressive-api skeleton, and uses dotkernel/dot-annotated-services for dependency injection, dotkernel/dot-console for console applications, dotkernel/dot-errorhandler for error logging, dotkernel/dot-mail for SMTP email, zend-expressive-authentication-oauth2 for OAuth2 authentication, zend-expressive-authorization-rbac for role-based permissions, and swagger-api/swagger-ui for OpenAPI 3 documentation."
}
},
{
"@type": "Question",
"name": "What features does Dotkernel API 1.0.0 offer out of the box?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Secure authentication via OAuth2, two user roles (admin and member), where admins can manage any user account and members can manage only their own, plus OpenAPI 3 documentation with an interactive interface developers can use to integrate the API."
}
}
]
}
]
}
</script>