Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/sonarcloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
go test -coverprofile=coverage.out -covermode=atomic ./...

- name: SonarQube Cloud Scan
uses: SonarSource/sonarqube-scan-action@v8
uses: SonarSource/sonarqube-scan-action@d209202bc7d53ff1cc128f7f907dac145c9d6ae9 # v8.3.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
23 changes: 10 additions & 13 deletions gh-pages/javascripts/ecosystem.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
const saved = localStorage.getItem(THEME_KEY);
if (saved !== "slate" && saved !== "default") return;

if (document.body.getAttribute("data-md-color-scheme") !== saved) {
document.body.setAttribute("data-md-color-scheme", saved);
if (document.body.dataset.mdColorScheme !== saved) {
document.body.dataset.mdColorScheme = saved;
}

const inputs = document.querySelectorAll('input[name="__palette"]');
inputs.forEach((input) => {
const scheme = input.getAttribute("data-md-color-scheme");
const scheme = input.dataset.mdColorScheme;
if (scheme === saved && !input.checked) {
input.checked = true;
}
Expand All @@ -20,15 +20,12 @@

function bindThemeSync() {
const paletteForm = document.querySelector('form[data-md-component="palette"]');
if (paletteForm && !paletteForm.hasAttribute("data-arrase-bound")) {
paletteForm.setAttribute("data-arrase-bound", "true");
if (paletteForm && !("arraseBound" in paletteForm.dataset)) {
paletteForm.dataset.arraseBound = "true";
paletteForm.addEventListener("change", (event) => {
const target = event.target;
if (target && target.getAttribute) {
const scheme = target.getAttribute("data-md-color-scheme");
if (scheme === "slate" || scheme === "default") {
localStorage.setItem(THEME_KEY, scheme);
}
const scheme = event.target?.dataset?.mdColorScheme;
if (scheme === "slate" || scheme === "default") {
localStorage.setItem(THEME_KEY, scheme);
}
});
}
Expand All @@ -39,11 +36,11 @@
const isRootPortal = path === "/" || path === "/index.html";

if (isRootPortal) {
document.body.setAttribute("data-arrase-portal", "true");
document.body.dataset.arrasePortal = "true";
return;
}

document.body.removeAttribute("data-arrase-portal");
delete document.body.dataset.arrasePortal;

const headerInner = document.querySelector(".md-header__inner");
if (!headerInner || headerInner.querySelector(".arrase-portal-link")) {
Expand Down
122 changes: 61 additions & 61 deletions gh-pages/stylesheets/extra.css
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,8 @@ code, pre, kbd, .md-typeset code {
}

/* Layout & Subtle Top Ambient Light */
.md-grid {
max-width: 82rem !important;
.md-container .md-grid {
max-width: 82rem;
}

.md-main {
Expand All @@ -134,8 +134,8 @@ code, pre, kbd, .md-typeset code {
background: radial-gradient(ellipse 80% 40% at 50% -10%, rgba(79, 70, 229, 0.06), transparent 70%);
}

.md-content__inner {
padding-top: 1rem !important;
.md-content .md-content__inner {
padding-top: 1rem;
}

/* Integrated Glassmorphic Header & Navigation Tabs */
Expand All @@ -144,63 +144,63 @@ code, pre, kbd, .md-typeset code {
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border-bottom: 1px solid var(--border-subtle);
box-shadow: none !important;
color: var(--text-main) !important;
box-shadow: none;
color: var(--text-main);
}

[data-md-color-scheme="slate"] .md-header,
[data-md-color-scheme="slate"] .md-tabs {
background: rgba(9, 10, 15, 0.80) !important;
background: rgba(9, 10, 15, 0.80);
}

[data-md-color-scheme="default"] .md-header,
[data-md-color-scheme="default"] .md-tabs {
background: rgba(250, 250, 250, 0.85) !important;
background: rgba(250, 250, 250, 0.85);
}

.md-header__button,
.md-header__title,
.md-header__topic,
.md-source,
.md-tabs__link {
color: var(--text-main) !important;
.md-header .md-header__button,
.md-header .md-header__title,
.md-header .md-header__topic,
.md-header .md-source,
.md-tabs .md-tabs__link {
color: var(--text-main);
}

.md-tabs__link {
.md-tabs .md-tabs__link {
opacity: 0.72;
transition: opacity 0.2s ease, color 0.2s ease;
}

.md-tabs__link--active,
.md-tabs__link:hover {
.md-tabs .md-tabs__link--active,
.md-tabs .md-tabs__link:hover {
opacity: 1;
color: var(--accent-primary) !important;
color: var(--accent-primary);
}

.md-nav--primary .md-nav__title,
.md-nav--secondary .md-nav__title,
.md-nav--lifted > .md-nav__list > .md-nav__item--active > .md-nav__link {
background: transparent !important;
box-shadow: none !important;
color: var(--text-muted) !important;
background: transparent;
box-shadow: none;
color: var(--text-muted);
font-size: 0.72rem;
font-weight: 600;
letter-spacing: 0.05em;
text-transform: uppercase;
}

.md-nav__item .md-nav__link--active {
color: var(--accent-primary) !important;
.md-nav .md-nav__item .md-nav__link--active {
color: var(--accent-primary);
font-weight: 600;
}

.md-footer-meta {
background: var(--bg-canvas) !important;
.md-footer .md-footer-meta {
background: var(--bg-canvas);
border-top: 1px solid var(--border-subtle);
}

/* Return to Portal Button (Injected on Subprojects) */
.arrase-portal-link {
.md-header__inner .arrase-portal-link {
display: inline-flex;
align-items: center;
gap: 0.45rem;
Expand All @@ -209,20 +209,20 @@ code, pre, kbd, .md-typeset code {
border-radius: 6px;
border: 1px solid var(--border-subtle);
background: var(--bg-surface);
color: var(--text-main) !important;
color: var(--text-main);
font-size: 0.78rem;
font-weight: 500;
line-height: 1.4;
text-decoration: none !important;
text-decoration: none;
white-space: nowrap;
transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.arrase-portal-link:hover {
.md-header__inner .arrase-portal-link:hover {
border-color: var(--border-hover);
background: var(--bg-surface-hover);
transform: translateX(-1px);
color: var(--accent-primary) !important;
color: var(--accent-primary);
}

.arrase-portal-link i {
Expand All @@ -231,30 +231,30 @@ code, pre, kbd, .md-typeset code {
}

/* Search Bar — Hidden only on Root Portal, Styled Cleanly on Subprojects */
body[data-arrase-portal="true"] .md-search {
display: none !important;
body[data-arrase-portal="true"] .md-header .md-search {
display: none;
}

.md-search__form {
background-color: var(--bg-surface) !important;
.md-search .md-search__form {
background-color: var(--bg-surface);
border: 1px solid var(--border-subtle);
border-radius: 6px !important;
border-radius: 6px;
color: var(--text-main);
transition: border-color 0.2s ease, background-color 0.2s ease;
}

.md-search__form:hover {
.md-search .md-search__form:hover {
border-color: var(--border-hover);
}

.md-search__input {
color: var(--text-main) !important;
.md-search .md-search__input {
color: var(--text-main);
font-size: 0.82rem;
}

.md-search__input::placeholder,
.md-search__icon {
color: var(--text-muted) !important;
.md-search .md-search__input::placeholder,
.md-search .md-search__icon {
color: var(--text-muted);
}

/* Hero Section */
Expand All @@ -281,26 +281,26 @@ body[data-arrase-portal="true"] .md-search {
margin-bottom: 1rem;
}

.hero-section h1,
.md-typeset .hero-section h1,
.md-typeset h1#life-is-the-ultimate-side-project {
font-size: clamp(2rem, 1.5rem + 2vw, 3rem);
font-weight: 800;
letter-spacing: -0.03em;
line-height: 1.15;
margin: 0 0 0.75rem 0 !important;
margin: 0 0 0.75rem 0;
background: linear-gradient(135deg var(--in-oklab), var(--text-main) 20%, var(--accent-primary) 65%, var(--accent-secondary) 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
text-align: center;
}

.hero-subtitle,
.md-typeset .hero-subtitle,
.md-typeset h1#life-is-the-ultimate-side-project + p {
font-size: clamp(1rem, 0.95rem + 0.25vw, 1.15rem);
color: var(--text-muted);
max-width: 42rem;
margin: 0 auto 1.25rem auto !important;
margin: 0 auto 1.25rem auto;
line-height: 1.6;
text-align: center;
}
Expand Down Expand Up @@ -330,11 +330,11 @@ body[data-arrase-portal="true"] .md-search {
border-bottom: 1px solid var(--border-subtle);
}

.section-header h2 {
.md-typeset .section-header h2 {
font-size: 1.15rem;
font-weight: 650;
letter-spacing: -0.015em;
margin: 0 !important;
margin: 0;
color: var(--text-main);
}

Expand All @@ -352,20 +352,20 @@ body[data-arrase-portal="true"] .md-search {
}

/* Feature Cards — Shared Base & Interactive vs Static Variants */
.feature-card {
.md-typeset .feature-card {
display: flex;
flex-direction: column;
justify-content: space-between;
background: var(--bg-surface);
border: 1px solid var(--border-subtle);
border-radius: 10px;
padding: 1.25rem 1.35rem;
text-decoration: none !important;
color: inherit !important;
text-decoration: none;
color: inherit;
position: relative;
overflow: hidden;
transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
word-break: break-word;
overflow-wrap: break-word;
}

.feature-card::before {
Expand All @@ -380,7 +380,7 @@ body[data-arrase-portal="true"] .md-search {
transition: opacity 0.2s ease;
}

a.feature-card:hover {
.md-typeset a.feature-card:hover {
transform: translateY(-2px);
background: var(--bg-surface-hover);
border-color: var(--border-hover);
Expand Down Expand Up @@ -408,9 +408,9 @@ a.feature-card:hover::before {
margin-bottom: 0.75rem;
}

.feature-icon {
.md-typeset .feature-icon {
font-size: 1.25rem;
color: var(--accent-primary) !important;
color: var(--accent-primary);
margin-bottom: 0.75rem;
display: inline-flex;
align-items: center;
Expand Down Expand Up @@ -444,25 +444,25 @@ a.feature-card:hover .card-badge {
}

/* Card Content & Tech Tags */
.feature-card h3 {
.md-typeset .feature-card h3 {
font-size: 1.05rem;
font-weight: 650;
color: var(--text-main) !important;
margin: 0 0 0.4rem 0 !important;
color: var(--text-main);
margin: 0 0 0.4rem 0;
letter-spacing: -0.01em;
line-height: 1.35;
transition: color 0.2s ease;
}

a.feature-card:hover h3 {
color: var(--accent-primary) !important;
.md-typeset a.feature-card:hover h3 {
color: var(--accent-primary);
}

.feature-card p {
.md-typeset .feature-card p {
font-size: 0.86rem;
line-height: 1.5;
color: var(--text-muted);
margin: 0 !important;
margin: 0;
flex-grow: 1;
}

Expand Down
Loading
Loading