landing page updates
This commit is contained in:
@@ -65,35 +65,6 @@
|
|||||||
background-clip: text;
|
background-clip: text;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hero-links {
|
|
||||||
display: flex;
|
|
||||||
gap: var(--space-xs);
|
|
||||||
justify-content: center;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
}
|
|
||||||
.btn-primary {
|
|
||||||
padding: var(--space-2xs) var(--space-lg);
|
|
||||||
border-radius: var(--radius-md);
|
|
||||||
background: var(--color-success);
|
|
||||||
color: var(--color-white);
|
|
||||||
font-weight: 600;
|
|
||||||
font-size: var(--text-btn);
|
|
||||||
text-decoration: none;
|
|
||||||
transition: background 0.2s;
|
|
||||||
}
|
|
||||||
.btn-primary:hover { background: var(--color-success-hover); }
|
|
||||||
.btn-ghost {
|
|
||||||
padding: var(--space-2xs) var(--space-lg);
|
|
||||||
border-radius: var(--radius-md);
|
|
||||||
border: 1px solid var(--color-border-muted);
|
|
||||||
color: var(--color-text);
|
|
||||||
font-weight: 600;
|
|
||||||
font-size: var(--text-btn);
|
|
||||||
text-decoration: none;
|
|
||||||
transition: border-color 0.2s, background 0.2s;
|
|
||||||
}
|
|
||||||
.btn-ghost:hover { border-color: var(--color-accent); background: var(--color-accent-subtle); }
|
|
||||||
|
|
||||||
/* Projects section */
|
/* Projects section */
|
||||||
.projects-section {
|
.projects-section {
|
||||||
max-width: 1100px;
|
max-width: 1100px;
|
||||||
|
|||||||
@@ -5,10 +5,6 @@
|
|||||||
<section class="hero">
|
<section class="hero">
|
||||||
<div class="hero-inner">
|
<div class="hero-inner">
|
||||||
<h1>Alex Mickelson</h1>
|
<h1>Alex Mickelson</h1>
|
||||||
<div class="hero-links">
|
|
||||||
<a href="/explore/repos" class="btn-primary">Browse All Projects</a>
|
|
||||||
<a href="/user/login" class="btn-ghost">Sign In</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
@@ -87,9 +87,10 @@
|
|||||||
card.href = esc(repoUrl);
|
card.href = esc(repoUrl);
|
||||||
card.innerHTML = `
|
card.innerHTML = `
|
||||||
<div class="repo-card-header">
|
<div class="repo-card-header">
|
||||||
|
<span class="repo-icon">📦</span>
|
||||||
<span class="repo-name">${esc(shortName)}</span>
|
<span class="repo-name">${esc(shortName)}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="repo-desc" style="color:#8b949e;font-size:0.85em">${esc(repoName)}</div>
|
<div class="repo-desc">${esc(repoName)}</div>
|
||||||
<div class="repo-commit">
|
<div class="repo-commit">
|
||||||
<span class="commit-dot"></span>
|
<span class="commit-dot"></span>
|
||||||
<span class="commit-msg">${esc(commitMsg)}</span>
|
<span class="commit-msg">${esc(commitMsg)}</span>
|
||||||
@@ -147,9 +148,12 @@
|
|||||||
const description = item.querySelector('description')?.textContent || '';
|
const description = item.querySelector('description')?.textContent || '';
|
||||||
const when = pubDate ? timeAgo(pubDate) : '';
|
const when = pubDate ? timeAgo(pubDate) : '';
|
||||||
|
|
||||||
// Strip HTML from title for plain text display
|
// Parse title HTML — Gitea only puts <a> tags in it, safe to use as innerHTML
|
||||||
const titleDoc = new DOMParser().parseFromString(title, 'text/html');
|
const titleDoc = new DOMParser().parseFromString(title, 'text/html');
|
||||||
const titleText = titleDoc.body.textContent || title;
|
const titleText = titleDoc.body.textContent || title;
|
||||||
|
// Preserve links but strip any unsafe tags (only <a> expected from Gitea)
|
||||||
|
titleDoc.body.querySelectorAll('*:not(a)').forEach(el => el.replaceWith(el.textContent));
|
||||||
|
const titleHtmlSafe = titleDoc.body.innerHTML;
|
||||||
|
|
||||||
let icon = '⚡';
|
let icon = '⚡';
|
||||||
const t = titleText.toLowerCase();
|
const t = titleText.toLowerCase();
|
||||||
@@ -192,7 +196,7 @@
|
|||||||
el.innerHTML = `
|
el.innerHTML = `
|
||||||
<div class="activity-op-icon">${icon}</div>
|
<div class="activity-op-icon">${icon}</div>
|
||||||
<div class="activity-body">
|
<div class="activity-body">
|
||||||
<div class="activity-headline"><a href="${esc(link)}">${esc(titleText)}</a></div>
|
<div class="activity-headline">${titleHtmlSafe}</div>
|
||||||
${commitsHtml}
|
${commitsHtml}
|
||||||
</div>
|
</div>
|
||||||
<span class="activity-time">${when}</span>
|
<span class="activity-time">${when}</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user