Skip to content

Commit bef5ccd

Browse files
author
olaru
committed
Add anchors
1 parent fb8a4fa commit bef5ccd

1 file changed

Lines changed: 15 additions & 16 deletions

File tree

‎src/App/templates/app/index.html.twig‎

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
{% extends '@layout/default.html.twig' %}
22
{% block json_ld %} {{ include('@jsonld/index.jsonld.twig') }} {% endblock %}
33
{% block title %}A PSR-15 compliant application{% endblock %}
4-
{% block head_links %}<link rel="alternate" type="text/markdown" href="/index.md">{% endblock %}
54

65
{% block content %}
76

87
<section class="hero">
9-
<div class="wrap hero-grid">
8+
<div class="wrap hero-grid" id="request-lifecycle">
109
<div>
1110
<span class="eyebrow">PSR-15 . middleware-first architecture</span>
1211
<h1>A headless platform for building modern web applications</h1>
1312
<p class="sub"> Dotkernel is a set of open-source PHP applications - REST API, admin, and queue - that ship assembled on Mezzio and Laminas, over one shared Doctrine domain layer called Core.
14-
OAuth2, RBAC, HAL, and a generated OpenAPI spec are wired together on install, not left for you to choose.</p>
13+
OAuth2, RBAC, HAL, and a generated OpenAPI spec are wired together on install, not left for you to choose.</p>
1514
<div class="hero-ctas">
1615
<a class="btn btn-primary" href="https://docs.dotkernel.org" target="_blank" rel="noopener">
1716
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg>
@@ -29,8 +28,8 @@
2928
</div>
3029
</div>
3130

32-
<div class="pipeline">
33-
<div class="pipeline-label"><span>Request lifecycle</span></div>
31+
<div class="pipeline" >
32+
<div class="pipeline-label" ><span>Request lifecycle</span></div>
3433
<div class="pipeline-track">
3534
<div class="pl-packet" aria-hidden="true"></div>
3635
<div class="pl-step"><span class="name">Router</span><span class="tag">FastRoute</span></div>
@@ -62,36 +61,36 @@
6261
</div>
6362
<div class="traits">
6463
<div class="trait">
65-
<img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/traffic-sign-50.svg') }}" alt="Doctrine, not Active Record" loading="lazy">
64+
<img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/traffic-sign-50.svg') }}" alt="" loading="lazy">
6665
<p>Doctrine, not Active Record</p>
6766
</div>
6867

6968
<div class="trait">
70-
<img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/success-50.svg') }}" alt="Explicit wiring, no magic" loading="lazy">
69+
<img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/success-50.svg') }}" alt="" loading="lazy">
7170
<p>Explicit wiring, no magic</p>
7271
</div>
7372

7473
<div class="trait">
75-
<img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/speed-radar-50.svg') }}" alt="One domain, three deployables" loading="lazy">
74+
<img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/speed-radar-50.svg') }}" alt="Lightning-fast performance" loading="lazy">
7675
<p>One domain, three deployables</p>
7776
</div>
7877

7978
<div class="trait">
80-
<img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/maintenance.svg') }}" alt="Dependencies that move slowly" loading="lazy">
79+
<img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/maintenance.svg') }}" alt="Easier maintenance and onboarding" loading="lazy">
8180
<p>Dependencies that move slowly</p>
8281
</div>
8382
</div>
8483
</div>
8584
</section>
8685

87-
<section class="section-bg-light">
86+
<section style="background:var(--surface-2);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);">
8887
<div class="wrap">
8988
<div class="section-head">
9089
<span class="eyebrow">Headless Platform</span>
9190
<h2>Three applications, one platform</h2>
9291
<p>API, Admin, and Queue declare the same <code>Core</code> namespaces - the same entities, repositories, and services.
93-
A <code>User</code> means the same thing to the endpoint that creates it, the admin screen that moderates it, and the worker that emails it.
94-
Three deployables that scale independently and never disagree about the domain.</p>
92+
A <code>User</code> means the same thing to the endpoint that creates it, the admin screen that moderates it, and the worker that emails it.
93+
Three deployables that scale independently and never disagree about the domain.</p>
9594
</div>
9695

9796
<div class="core-band row align-items-center gy-3">
@@ -206,7 +205,7 @@
206205
</div>
207206
</section>
208207

209-
<section class="section-bg-light">
208+
<section style="background:var(--surface-2);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);">
210209
<div class="wrap">
211210
<div class="section-head">
212211
<span class="eyebrow">Other skeletons</span>
@@ -259,9 +258,9 @@
259258
</div>
260259
</section>
261260

262-
<section>
261+
<section style="background:var(--surface-2);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);" id="components-dot-packages">
263262
<div class="wrap">
264-
<div class="section-head">
263+
<div class="section-head" >
265264
<span class="eyebrow">Components</span>
266265
<h2>Every layer, on its own</h2>
267266
<p>Small, independent dot-* packages - pull in what you need. Lifecycle status for each lives on the <a href="https://www.dotkernel.com/dotkernel-packages-oss-lifecycle/" style="color:var(--teal);">Packages Lifecycle</a> page.</p>
@@ -362,7 +361,7 @@
362361
</div>
363362
</section>
364363
{% if posts is defined and posts is iterable %}
365-
<section style="background:var(--surface-2);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);">
364+
<section>
366365
<div class="wrap">
367366
<div class="section-head">
368367
<span class="eyebrow">From the blog</span>

0 commit comments

Comments
 (0)