Skip to content

Commit 9536357

Browse files
Website improvements (#178)
1 parent 02abc65 commit 9536357

3 files changed

Lines changed: 38 additions & 13 deletions

File tree

docs/index.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ <h3>À la carte</h3>
299299
<section class="deck-callout" aria-labelledby="deck-heading">
300300
<div class="container deck-callout-inner">
301301
<div class="deck-callout-text">
302-
<h2 id="deck-heading">Prefer slides?</h2>
302+
<h2 id="deck-heading">Prefer slides?<a class="heading-anchor" href="#deck-heading" aria-label="Link to Prefer slides section">#</a></h2>
303303
<p>
304304
A browser-based slide deck walks you through the architectures and samples.
305305
Self-contained &mdash; save the page and present offline!
@@ -317,7 +317,7 @@ <h2 id="deck-heading">Prefer slides?</h2>
317317
<section id="infrastructures" class="section section-subtle" aria-labelledby="infra-heading">
318318
<div class="container">
319319
<div class="accent-bar" aria-hidden="true"></div>
320-
<h2 id="infra-heading" class="section-heading">Infrastructures</h2>
320+
<h2 id="infra-heading" class="section-heading">Infrastructures<a class="heading-anchor" href="#infrastructures" aria-label="Link to Infrastructures section">#</a></h2>
321321
<p class="section-lede">
322322
Each architecture is deployed with a single Jupyter notebook and torn down just as easily.
323323
These high-fidelity environments let you explore network patterns, private connectivity, and
@@ -332,12 +332,12 @@ <h2 id="infra-heading" class="section-heading">Infrastructures</h2>
332332
alt="Architecture diagram: a single publicly accessible Azure API Management instance fronting backend APIs">
333333
</div>
334334
<div class="body">
335-
<span class="pill">Fastest · Lowest Cost</span>
336335
<h3>Simple API Management</h3>
337336
<p>
338337
Just the basics with a publicly accessible APIM instance. The innermost way to experience
339338
and experiment with APIM policies. Deploys in about five minutes.
340339
</p>
340+
<span class="pill">Fastest · Lowest Cost</span>
341341
</div>
342342
</a>
343343

@@ -361,12 +361,12 @@ <h3>API Management &amp; Container Apps</h3>
361361
alt="Architecture diagram: Azure Front Door connecting to API Management through a Private Link connection, with VNet-integrated Container Apps backends">
362362
</div>
363363
<div class="body">
364-
<span class="pill">Private Link</span>
365364
<h3>Front Door &amp; API Management</h3>
366365
<p>
367366
A secure implementation with Azure Front Door connecting to APIM via Private Link. Traffic
368367
rides entirely on Microsoft-owned networks once it passes Front Door.
369368
</p>
369+
<span class="pill">Private Link</span>
370370
</div>
371371
</a>
372372

@@ -376,12 +376,12 @@ <h3>Front Door &amp; API Management</h3>
376376
alt="Architecture diagram: Azure Application Gateway connecting to API Management through a private endpoint in a virtual network subnet">
377377
</div>
378378
<div class="body">
379-
<span class="pill">Private Link</span>
380379
<h3>Application Gateway (Private Link)</h3>
381380
<p>
382381
Application Gateway reaches APIM through a private endpoint in a VNet subnet. APIM Standard
383382
V2 accepts the connection, with VNet-integrated Container Apps behind.
384383
</p>
384+
<span class="pill">Private Link</span>
385385
</div>
386386
</a>
387387

@@ -391,12 +391,12 @@ <h3>Application Gateway (Private Link)</h3>
391391
alt="Architecture diagram: Azure Application Gateway with a fully VNet-injected API Management instance and Container Apps environment">
392392
</div>
393393
<div class="body">
394-
<span class="pill">VNet Injection</span>
395394
<h3>Application Gateway (VNet)</h3>
396395
<p>
397396
Full VNet injection of APIM and Container Apps. APIM is shielded from any traffic unless it
398397
comes through Application Gateway. Maximum isolation.
399398
</p>
399+
<span class="pill">VNet Injection</span>
400400
</div>
401401
</a>
402402

@@ -416,7 +416,7 @@ <h3>Application Gateway (VNet)</h3>
416416
<section id="samples" class="section" aria-labelledby="samples-heading">
417417
<div class="container">
418418
<div class="accent-bar" aria-hidden="true"></div>
419-
<h2 id="samples-heading" class="section-heading">Samples</h2>
419+
<h2 id="samples-heading" class="section-heading">Samples<a class="heading-anchor" href="#samples" aria-label="Link to Samples section">#</a></h2>
420420
<p class="section-lede">
421421
Each sample is a focused, runnable lab. Open the notebook, press <em>Run All</em>, then poke at
422422
the policies. If an infrastructure is not already deployed, the notebook will guide you through
@@ -489,7 +489,7 @@ <h3>Azure Maps</h3>
489489
<section id="quickstart" class="section section-subtle" aria-labelledby="quickstart-heading">
490490
<div class="container">
491491
<div class="accent-bar" aria-hidden="true"></div>
492-
<h2 id="quickstart-heading" class="section-heading">Quick Start</h2>
492+
<h2 id="quickstart-heading" class="section-heading">Quick Start<a class="heading-anchor" href="#quickstart" aria-label="Link to Quick Start section">#</a></h2>
493493
<p class="section-lede">
494494
From clone to a running APIM lab in under ten minutes. Codespaces is the fastest route because
495495
Python, Azure CLI, and Bicep are already installed.

docs/styles.css

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,31 @@ img { max-width: 100%; height: auto; }
114114
letter-spacing: -0.5px;
115115
}
116116

117+
.heading-anchor {
118+
color: var(--brand-blue);
119+
text-decoration: none;
120+
margin-left: 8px;
121+
font-weight: 400;
122+
opacity: 0;
123+
transition: opacity 0.15s ease;
124+
}
125+
126+
.heading-anchor:hover,
127+
.heading-anchor:focus {
128+
opacity: 1;
129+
text-decoration: underline;
130+
}
131+
132+
.section-heading:hover .heading-anchor,
133+
.deck-callout h2:hover .heading-anchor {
134+
opacity: 0.6;
135+
}
136+
137+
.section-heading:hover .heading-anchor:hover,
138+
.deck-callout h2:hover .heading-anchor:hover {
139+
opacity: 1;
140+
}
141+
117142
.section-lede {
118143
font-size: 18px;
119144
color: var(--text-muted);
@@ -570,7 +595,7 @@ img { max-width: 100%; height: auto; }
570595
color: var(--text-on-brand);
571596
padding: 3px 10px;
572597
border-radius: 999px;
573-
margin-bottom: 12px;
598+
margin-top: 12px;
574599
}
575600

576601
/* =========================================================================

setup/serve_website.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -197,14 +197,14 @@ def handle_shutdown_signal(signum, frame) -> None:
197197

198198
url = f'http://localhost:{port}'
199199
print('\n✨ APIM Samples Website Preview')
200-
print(f' Serving from: {SITE_DIR}')
201-
print(f' Landing page: {url}/')
202-
print(f' Slide deck: {url}/{SLIDE_DECK_STAGED}')
200+
print(f' Serving from : {SITE_DIR}')
201+
print(f' Landing page : {url}/')
202+
print(f' Slide deck : {url}/{SLIDE_DECK_STAGED}')
203203
print()
204204
print(' 🌐 Browser opening in 1 second...')
205205
print()
206206
print(' To stop the server: Press Ctrl+C')
207-
print()
207+
print(flush=True)
208208

209209
def open_browser() -> None:
210210
sleep(1)

0 commit comments

Comments
 (0)