Skip to content

Commit 40b76de

Browse files
Bikram GoleBikram Gole
authored andcommitted
Tighten UX, SEO, and accessibility polish
1 parent c3c798f commit 40b76de

7 files changed

Lines changed: 73 additions & 6 deletions

File tree

about.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<meta name="description" content="About Bikram Gole (Aura Farmer) — AI-focused student builder from Gongabu, KTM with chaotic fun energy." />
1111
<meta name="author" content="Bikram Gole" />
1212
<meta name="keywords" content="Bikram Gole, Aura Farmer, AI, open source, Linux, developer profile, Nepal" />
13+
<meta name="robots" content="index,follow" />
1314
<link rel="canonical" href="https://devxtechnic.github.io/about.html" />
1415
<meta property="og:title" content="Bikram Gole | About" />
1516
<meta property="og:description" content="About Bikram Gole (Aura Farmer) — AI-focused student builder from Gongabu, KTM." />
@@ -23,6 +24,8 @@
2324
<meta name="twitter:image" content="https://devxtechnic.github.io/og-image.svg" />
2425
<link rel="icon" href="favicon.svg" type="image/svg+xml" />
2526
<link rel="apple-touch-icon" href="favicon.svg" />
27+
<link rel="prefetch" href="index.html" />
28+
<link rel="prefetch" href="contact.html" />
2629
<link rel="preconnect" href="https://fonts.googleapis.com" />
2730
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
2831
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Syne:wght@700;800&display=swap" rel="stylesheet" />
@@ -61,7 +64,7 @@
6164

6265
<header class="site-header">
6366
<a class="brand-name" href="index.html">Neo</a>
64-
<nav>
67+
<nav aria-label="Primary">
6568
<a href="index.html" data-nav="home">Home</a>
6669
<a href="about.html" data-nav="about">About</a>
6770
<a href="contact.html" data-nav="contact">Contact</a>

contact.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<meta name="description" content="Contact Bikram Gole for AI, Linux, open source, and collaboration." />
1111
<meta name="author" content="Bikram Gole" />
1212
<meta name="keywords" content="Bikram Gole, contact, AI, open source, Linux, developer, Nepal" />
13+
<meta name="robots" content="index,follow" />
1314
<link rel="canonical" href="https://devxtechnic.github.io/contact.html" />
1415
<meta property="og:title" content="Bikram Gole | Contact" />
1516
<meta property="og:description" content="Contact Bikram Gole for AI, Linux, open source, and collaboration." />
@@ -23,6 +24,8 @@
2324
<meta name="twitter:image" content="https://devxtechnic.github.io/og-image.svg" />
2425
<link rel="icon" href="favicon.svg" type="image/svg+xml" />
2526
<link rel="apple-touch-icon" href="favicon.svg" />
27+
<link rel="prefetch" href="index.html" />
28+
<link rel="prefetch" href="about.html" />
2629
<link rel="preconnect" href="https://fonts.googleapis.com" />
2730
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
2831
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Syne:wght@700;800&display=swap" rel="stylesheet" />
@@ -61,7 +64,7 @@
6164

6265
<header class="site-header">
6366
<a class="brand-name" href="index.html">Neo</a>
64-
<nav>
67+
<nav aria-label="Primary">
6568
<a href="index.html" data-nav="home">Home</a>
6669
<a href="about.html" data-nav="about">About</a>
6770
<a href="contact.html" data-nav="contact">Contact</a>

index.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<meta name="description" content="Bikram Gole (Aura Farmer) — AI-leaning builder from Gongabu, KTM. Open source, Linux, and high-energy dev experiments." />
1111
<meta name="author" content="Bikram Gole" />
1212
<meta name="keywords" content="Bikram Gole, DevXTechnic, Aura Farmer, AI, open source, Linux, developer portfolio, Nepal" />
13+
<meta name="robots" content="index,follow" />
1314
<link rel="canonical" href="https://devxtechnic.github.io/" />
1415
<meta property="og:title" content="Bikram Gole | Aura Farmer" />
1516
<meta property="og:description" content="AI-leaning builder from Gongabu, KTM. Open source, Linux, and high-energy dev experiments." />
@@ -23,6 +24,8 @@
2324
<meta name="twitter:image" content="https://devxtechnic.github.io/og-image.svg" />
2425
<link rel="icon" href="favicon.svg" type="image/svg+xml" />
2526
<link rel="apple-touch-icon" href="favicon.svg" />
27+
<link rel="prefetch" href="about.html" />
28+
<link rel="prefetch" href="contact.html" />
2629
<script type="application/ld+json">
2730
{
2831
"@context": "https://schema.org",
@@ -79,7 +82,7 @@
7982

8083
<header class="site-header">
8184
<a class="brand-name" href="index.html">Neo</a>
82-
<nav>
85+
<nav aria-label="Primary">
8386
<a href="index.html" data-nav="home">Home</a>
8487
<a href="about.html" data-nav="about">About</a>
8588
<a href="contact.html" data-nav="contact">Contact</a>

robots.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
User-agent: *
2+
Allow: /
3+
4+
Sitemap: https://devxtechnic.github.io/sitemap.xml

script.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
const page = document.body.dataset.page;
22
const navLink = document.querySelector(`[data-nav="${page}"]`);
3-
if (navLink) navLink.classList.add("active");
3+
if (navLink) {
4+
navLink.classList.add("active");
5+
navLink.setAttribute("aria-current", "page");
6+
}
47

58
const prefersReducedMotion = window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches || false;
69
const revealTargets = new Set([...document.querySelectorAll(".reveal")]);
@@ -63,21 +66,24 @@ const runtimeFlags = {
6366
isConstrained: false,
6467
isFirefoxLike: false,
6568
isVivaldi: false,
69+
saveData: false,
6670
};
6771

6872
function computeRuntimeFlags() {
6973
const ua = navigator.userAgent || "";
7074
const isSmallViewport = window.matchMedia?.("(max-width: 820px)")?.matches || false;
7175
const isCoarsePointer = window.matchMedia?.("(pointer: coarse)")?.matches || false;
72-
runtimeFlags.isConstrained = isSmallViewport || isCoarsePointer;
76+
runtimeFlags.saveData = navigator.connection?.saveData || false;
77+
runtimeFlags.isConstrained = isSmallViewport || isCoarsePointer || runtimeFlags.saveData || prefersReducedMotion;
7378
runtimeFlags.isFirefoxLike = ua.includes("Firefox") || ua.includes("LibreWolf");
7479
runtimeFlags.isVivaldi = /vivaldi/i.test(ua);
7580
}
7681

7782
function getStarFieldProfile() {
7883
const isLiquidGlass = document.body.dataset.theme === "liquidglass";
79-
const { isConstrained } = runtimeFlags;
84+
const { isConstrained, saveData } = runtimeFlags;
8085

86+
if (saveData) return { density: 0.22, frameBudget: 90 };
8187
if (isLiquidGlass && isConstrained) return { density: 0.42, frameBudget: 56 };
8288
if (isLiquidGlass) return { density: 0.55, frameBudget: 46 };
8389
if (isConstrained) return { density: 0.72, frameBudget: 28 };
@@ -1915,6 +1921,9 @@ function showToast(message) {
19151921
if (!toast) {
19161922
toast = document.createElement("div");
19171923
toast.className = "easter-toast";
1924+
toast.setAttribute("role", "status");
1925+
toast.setAttribute("aria-live", "polite");
1926+
toast.setAttribute("aria-atomic", "true");
19181927
document.body.appendChild(toast);
19191928
}
19201929

sitemap.xml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3+
<url>
4+
<loc>https://devxtechnic.github.io/</loc>
5+
<lastmod>2026-03-15</lastmod>
6+
<changefreq>weekly</changefreq>
7+
<priority>1.0</priority>
8+
</url>
9+
<url>
10+
<loc>https://devxtechnic.github.io/about.html</loc>
11+
<lastmod>2026-03-15</lastmod>
12+
<changefreq>monthly</changefreq>
13+
<priority>0.8</priority>
14+
</url>
15+
<url>
16+
<loc>https://devxtechnic.github.io/contact.html</loc>
17+
<lastmod>2026-03-15</lastmod>
18+
<changefreq>monthly</changefreq>
19+
<priority>0.8</priority>
20+
</url>
21+
</urlset>

styles.css

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,10 @@ body {
240240
min-height: 100%;
241241
}
242242

243+
html {
244+
scroll-behavior: smooth;
245+
}
246+
243247
body {
244248
font-family: "Space Grotesk", sans-serif;
245249
color: var(--ink);
@@ -253,6 +257,12 @@ body {
253257
overflow-x: hidden;
254258
}
255259

260+
@media (prefers-reduced-motion: reduce) {
261+
html {
262+
scroll-behavior: auto;
263+
}
264+
}
265+
256266
.skip-link {
257267
position: fixed;
258268
left: 1rem;
@@ -955,6 +965,8 @@ main {
955965
.panel {
956966
margin-top: 0.62rem;
957967
padding: 0.78rem;
968+
content-visibility: auto;
969+
contain-intrinsic-size: 280px;
958970
}
959971

960972
.tag {
@@ -2505,6 +2517,18 @@ body[data-theme="material3"] .avatar-card .android-avatar {
25052517
color: var(--muted);
25062518
text-align: center;
25072519
font-size: 0.8rem;
2520+
content-visibility: auto;
2521+
contain-intrinsic-size: 120px;
2522+
}
2523+
2524+
a:focus-visible,
2525+
button:focus-visible,
2526+
select:focus-visible,
2527+
input:focus-visible,
2528+
textarea:focus-visible {
2529+
outline: 2px solid rgba(142, 206, 255, 0.85);
2530+
outline-offset: 2px;
2531+
box-shadow: 0 0 0 3px rgba(73, 140, 255, 0.2);
25082532
}
25092533

25102534
.reveal {

0 commit comments

Comments
 (0)