Skip to content

Commit 4aaf03a

Browse files
author
olaru
committed
Add anchors
1 parent bef5ccd commit 4aaf03a

1 file changed

Lines changed: 15 additions & 14 deletions

File tree

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

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
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 %}
45

56
{% block content %}
67

@@ -10,7 +11,7 @@
1011
<span class="eyebrow">PSR-15 . middleware-first architecture</span>
1112
<h1>A headless platform for building modern web applications</h1>
1213
<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.
13-
OAuth2, RBAC, HAL, and a generated OpenAPI spec are wired together on install, not left for you to choose.</p>
14+
OAuth2, RBAC, HAL, and a generated OpenAPI spec are wired together on install, not left for you to choose.</p>
1415
<div class="hero-ctas">
1516
<a class="btn btn-primary" href="https://docs.dotkernel.org" target="_blank" rel="noopener">
1617
<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>
@@ -28,8 +29,8 @@
2829
</div>
2930
</div>
3031

31-
<div class="pipeline" >
32-
<div class="pipeline-label" ><span>Request lifecycle</span></div>
32+
<div class="pipeline">
33+
<div class="pipeline-label"><span>Request lifecycle</span></div>
3334
<div class="pipeline-track">
3435
<div class="pl-packet" aria-hidden="true"></div>
3536
<div class="pl-step"><span class="name">Router</span><span class="tag">FastRoute</span></div>
@@ -61,36 +62,36 @@
6162
</div>
6263
<div class="traits">
6364
<div class="trait">
64-
<img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/traffic-sign-50.svg') }}" alt="" loading="lazy">
65+
<img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/traffic-sign-50.svg') }}" alt="Doctrine, not Active Record" loading="lazy">
6566
<p>Doctrine, not Active Record</p>
6667
</div>
6768

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

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

7879
<div class="trait">
79-
<img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/maintenance.svg') }}" alt="Easier maintenance and onboarding" loading="lazy">
80+
<img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/maintenance.svg') }}" alt="Dependencies that move slowly" loading="lazy">
8081
<p>Dependencies that move slowly</p>
8182
</div>
8283
</div>
8384
</div>
8485
</section>
8586

86-
<section style="background:var(--surface-2);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);">
87+
<section class="section-bg-light">
8788
<div class="wrap">
8889
<div class="section-head">
8990
<span class="eyebrow">Headless Platform</span>
9091
<h2>Three applications, one platform</h2>
9192
<p>API, Admin, and Queue declare the same <code>Core</code> namespaces - the same entities, repositories, and services.
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>
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>
9495
</div>
9596

9697
<div class="core-band row align-items-center gy-3">
@@ -205,7 +206,7 @@
205206
</div>
206207
</section>
207208

208-
<section style="background:var(--surface-2);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);">
209+
<section class="section-bg-light">
209210
<div class="wrap">
210211
<div class="section-head">
211212
<span class="eyebrow">Other skeletons</span>
@@ -258,9 +259,9 @@
258259
</div>
259260
</section>
260261

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">
262+
<section>
262263
<div class="wrap">
263-
<div class="section-head" >
264+
<div class="section-head" id="components-dot-packages">
264265
<span class="eyebrow">Components</span>
265266
<h2>Every layer, on its own</h2>
266267
<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>
@@ -361,7 +362,7 @@
361362
</div>
362363
</section>
363364
{% if posts is defined and posts is iterable %}
364-
<section>
365+
<section style="background:var(--surface-2);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);">
365366
<div class="wrap">
366367
<div class="section-head">
367368
<span class="eyebrow">From the blog</span>

0 commit comments

Comments
 (0)