Skip to content

Commit c68411c

Browse files
committed
fix(pages): improve SEO and normalize URL structure
- Add Open Graph and Twitter Card meta tags for social sharing - Add canonical URLs and hreflang tags for bilingual SEO - Normalize all permalinks to end with '/' for consistency - Update all internal links to match normalized URLs
1 parent d85ba78 commit c68411c

25 files changed

Lines changed: 142 additions & 99 deletions

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
layout: default
33
title: Changelog
44
nav_order: 10
5-
permalink: /CHANGELOG
5+
permalink: /CHANGELOG/
66
---
77

88
# Changelog

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
layout: default
33
title: Contributing
44
nav_order: 11
5-
permalink: /CONTRIBUTING
5+
permalink: /CONTRIBUTING/
66
---
77

88
# Contributing

LICENSE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
layout: default
33
title: License
44
nav_order: 12
5-
permalink: /LICENSE
5+
permalink: /LICENSE/
66
---
77

88
# MIT License

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ Progressive CUDA SGEMM tutorial and reference implementation, from naive kernels
2121

2222
| Stage | Kernel | What you learn |
2323
|------:|--------|----------------|
24-
| 1 | [Naive](docs/kernel-naive) | Thread-to-output mapping and baseline cost |
25-
| 2 | [Tiled](docs/kernel-tiled) | Shared-memory blocking and data reuse |
26-
| 3 | [Bank-Free](docs/kernel-bank-free) | Padding away 32-way bank conflicts |
27-
| 4 | [Double Buffer](docs/kernel-double-buffer) | Latency hiding through staged tiles |
28-
| 5 | [Tensor Core](docs/kernel-tensor-core) | WMMA usage with guarded FP32 fallback |
24+
| 1 | [Naive](docs/kernel-naive/) | Thread-to-output mapping and baseline cost |
25+
| 2 | [Tiled](docs/kernel-tiled/) | Shared-memory blocking and data reuse |
26+
| 3 | [Bank-Free](docs/kernel-bank-free/) | Padding away 32-way bank conflicts |
27+
| 4 | [Double Buffer](docs/kernel-double-buffer/) | Latency hiding through staged tiles |
28+
| 5 | [Tensor Core](docs/kernel-tensor-core/) | WMMA usage with guarded FP32 fallback |
2929

3030
## Quick start
3131

@@ -51,11 +51,11 @@ make test
5151

5252
| If you want to... | Start here |
5353
|-------------------|------------|
54-
| Build and run once | [Getting Started](docs/getting-started) |
55-
| Learn the optimization path | [Learning Path](docs/learning-path) |
56-
| Understand repository structure | [Architecture](docs/architecture) |
57-
| See performance context | [Benchmark Results](docs/benchmark-results) |
58-
| Inspect governance rules | [Specifications](specs) |
54+
| Build and run once | [Getting Started](docs/getting-started/) |
55+
| Learn the optimization path | [Learning Path](docs/learning-path/) |
56+
| Understand repository structure | [Architecture](docs/architecture/) |
57+
| See performance context | [Benchmark Results](docs/benchmark-results/) |
58+
| Inspect governance rules | [Specifications](specs/) |
5959

6060
## Validation boundary
6161

_includes/head_custom.html

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,44 @@
1+
{%- comment -%}
2+
SEO Enhancement: Open Graph and Twitter Card meta tags
3+
{%- endcomment -%}
4+
5+
{%- if page.title -%}
6+
{%- assign page_title = page.title | append: " | " | append: site.title -%}
7+
{%- else -%}
8+
{%- assign page_title = site.title -%}
9+
{%- endif -%}
10+
11+
{%- if page.description -%}
12+
{%- assign page_desc = page.description -%}
13+
{%- else -%}
14+
{%- assign page_desc = site.description -%}
15+
{%- endif -%}
16+
17+
{%- assign page_url = site.url | append: site.baseurl | append: page.url -%}
18+
19+
<!-- Open Graph / Facebook -->
20+
<meta property="og:type" content="website">
21+
<meta property="og:url" content="{{ page_url }}">
22+
<meta property="og:title" content="{{ page_title }}">
23+
<meta property="og:description" content="{{ page_desc }}">
24+
<meta property="og:site_name" content="{{ site.title }}">
25+
<meta property="og:locale" content="{% if page.lang == 'zh-CN' %}zh_CN{% else %}en_US{% endif %}">
26+
27+
<!-- Twitter -->
28+
<meta name="twitter:card" content="summary_large_image">
29+
<meta name="twitter:title" content="{{ page_title }}">
30+
<meta name="twitter:description" content="{{ page_desc }}">
31+
32+
<!-- Canonical URL -->
33+
<link rel="canonical" href="{{ page_url }}">
34+
35+
{%- if page.lang_ref -%}
36+
{%- comment -%} Alternate language link for SEO {%- endcomment -%}
37+
{%- if page.lang == 'zh-CN' -%}
38+
<link rel="alternate" hreflang="en" href="{{ site.url | append: site.baseurl | append: page.permalink }}">
39+
{%- else -%}
40+
<link rel="alternate" hreflang="zh-CN" href="{{ site.url | append: site.baseurl }}/zh{{ page.permalink }}">
41+
{%- endif -%}
42+
{%- endif -%}
43+
144
<script src="{{ '/assets/js/language-toggle.js' | relative_url }}" defer></script>

docs/architecture.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
layout: default
33
title: Architecture
44
nav_order: 8
5-
permalink: /docs/architecture
5+
permalink: /docs/architecture/
66
lang: en
77
page_key: architecture
88
lang_ref: zh-architecture
@@ -98,7 +98,7 @@ This split is deliberate. The repository does not pretend CI can replace a real
9898

9999
## Related references
100100

101-
- [Learning Path](learning-path)
102-
- [Getting Started](getting-started)
103-
- [Specifications Index](../specs)
101+
- [Learning Path](learning-path/)
102+
- [Getting Started](getting-started/)
103+
- [Specifications Index](../specs/)
104104
- [Stable architecture spec](https://github.com/LessUp/sgemm-optimization/blob/master/openspec/specs/architecture/spec.md)

docs/benchmark-results.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
layout: default
33
title: Benchmark Results
44
nav_order: 9
5-
permalink: /docs/benchmark-results
5+
permalink: /docs/benchmark-results/
66
lang: en
77
page_key: benchmark-results
88
lang_ref: zh-benchmark-results
@@ -79,6 +79,6 @@ If you want longer measurements:
7979

8080
## Related references
8181

82-
- [Getting Started](getting-started)
83-
- [Learning Path](learning-path)
82+
- [Getting Started](getting-started/)
83+
- [Learning Path](learning-path/)
8484
- [Kernel progression in README](https://github.com/LessUp/sgemm-optimization/blob/master/README.md)

docs/getting-started.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ layout: default
33
title: Getting Started
44
parent: Home
55
nav_order: 1
6-
permalink: /docs/getting-started
6+
permalink: /docs/getting-started/
77
lang: en
88
page_key: getting-started
99
lang_ref: zh-getting-started
@@ -111,6 +111,6 @@ openspec validate --all
111111

112112
## Where to go next
113113

114-
- [Learning Path](learning-path)
115-
- [Architecture](architecture)
116-
- [Benchmark Results](benchmark-results)
114+
- [Learning Path](learning-path/)
115+
- [Architecture](architecture/)
116+
- [Benchmark Results](benchmark-results/)

docs/kernel-bank-free.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ layout: default
33
title: 3. Bank Conflict Free
44
parent: Home
55
nav_order: 5
6-
permalink: /docs/kernel-bank-free
6+
permalink: /docs/kernel-bank-free/
77
lang: en
88
page_key: kernel-bank-free
99
lang_ref: zh-kernel-bank-free
@@ -269,7 +269,7 @@ Metrics to watch:
269269

270270
Now that we have efficient shared memory access, the next optimization target is **memory latency hiding**. Even with bank-free access, threads still wait for memory loads.
271271

272-
→ Continue to [Double Buffer Kernel](kernel-double-buffer){: .btn .btn-primary }
272+
→ Continue to [Double Buffer Kernel](kernel-double-buffer/){: .btn .btn-primary }
273273

274274
---
275275

docs/kernel-double-buffer.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ layout: default
33
title: 4. Double Buffer
44
parent: Home
55
nav_order: 6
6-
permalink: /docs/kernel-double-buffer
6+
permalink: /docs/kernel-double-buffer/
77
lang: en
88
page_key: kernel-double-buffer
99
lang_ref: zh-kernel-double-buffer
@@ -307,7 +307,7 @@ We've optimized:
307307

308308
The final frontier: **dedicated matrix hardware**. Modern GPUs have Tensor Cores that can perform 4×4×4 matrix multiply-accumulate in one cycle.
309309

310-
→ Continue to [Tensor Core Kernel](kernel-tensor-core){: .btn .btn-primary }
310+
→ Continue to [Tensor Core Kernel](kernel-tensor-core/){: .btn .btn-primary }
311311

312312
---
313313

0 commit comments

Comments
 (0)