Browse Source

bug-fixes

master
Silberengel 4 weeks ago
parent
commit
3836536858
  1. 46
      static/css/main.css
  2. 4
      templates/404.html
  3. 4
      templates/500.html
  4. 26
      templates/base.html
  5. 12
      templates/blog.html
  6. 14
      templates/components.html
  7. 44
      templates/contact.html
  8. 4
      templates/ebooks.html
  9. 8
      templates/landing.html
  10. 10
      templates/page.html
  11. 6
      templates/wiki.html

46
static/css/main.css

@ -961,3 +961,49 @@ textarea:focus { @@ -961,3 +961,49 @@ textarea:focus {
color: var(--text-secondary);
font-style: italic;
}
/* Icon styles for Lucide icons */
.icon-inline {
display: inline-block;
width: 1em;
height: 1em;
vertical-align: middle;
margin-right: 0.25em;
flex-shrink: 0;
}
/* Ensure icons align properly in flex containers */
a, button, span, p, h1, h2, h3, h4, h5, h6, li {
display: inline-flex;
align-items: center;
}
/* But preserve block display for certain elements */
p, h1, h2, h3, h4, h5, h6 {
display: block;
}
p.icon-inline, h1.icon-inline, h2.icon-inline, h3.icon-inline, h4.icon-inline, h5.icon-inline, h6.icon-inline {
display: inline-flex;
}
/* Navigation links should be flex */
.nav-menu a, .dropdown-menu a, .wiki-menu a {
display: inline-flex;
align-items: center;
gap: 0.5rem;
}
/* Buttons should be flex */
.btn, button {
display: inline-flex;
align-items: center;
gap: 0.5rem;
}
/* Feed items */
.feed-link, .feed-link-header {
display: inline-flex;
align-items: center;
gap: 0.5rem;
}

4
templates/404.html

@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
{{define "content"}}
<article class="error-page">
<h1>404</h1>
<h1><i data-lucide="alert-circle" class="icon-inline"></i> 404</h1>
<p>The page you're looking for doesn't exist.</p>
<a href="/" class="btn">Go Home</a>
<a href="/" class="btn"><i data-lucide="home" class="icon-inline"></i> Go Home</a>
</article>
{{end}}

4
templates/500.html

@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
{{define "content"}}
<article class="error-page">
<h1>500</h1>
<h1><i data-lucide="alert-triangle" class="icon-inline"></i> 500</h1>
<p>Something went wrong on our end. Please try again later.</p>
<a href="/" class="btn">Go Home</a>
<a href="/" class="btn"><i data-lucide="home" class="icon-inline"></i> Go Home</a>
</article>
{{end}}

26
templates/base.html

@ -26,6 +26,7 @@ @@ -26,6 +26,7 @@
<link rel="stylesheet" href="/static/css/main.css">
<link rel="stylesheet" href="/static/css/responsive.css">
<link rel="stylesheet" href="/static/css/print.css" media="print">
<script src="https://unpkg.com/lucide@latest"></script>
{{if .StructuredData}}<script type="application/ld+json">{{.StructuredData}}</script>{{end}}
</head>
@ -47,18 +48,18 @@ @@ -47,18 +48,18 @@
</button>
<ul class="nav-menu">
<li><a href="/">Home</a></li>
<li><a href="/wiki">About The Project</a></li>
<li><a href="/"><i data-lucide="home" class="icon-inline"></i> Home</a></li>
<li><a href="/wiki"><i data-lucide="book-open" class="icon-inline"></i> About The Project</a></li>
<li class="dropdown">
<a href="/blog" class="dropdown-toggle">Blog</a>
<a href="/blog" class="dropdown-toggle"><i data-lucide="file-text" class="icon-inline"></i> Blog</a>
<ul class="dropdown-menu">
{{range .BlogItems}}
<li><a href="/blog#{{.DTag}}">{{.Title}}</a></li>
<li><a href="/blog#{{.DTag}}"><i data-lucide="file-text" class="icon-inline"></i> {{.Title}}</a></li>
{{end}}
</ul>
</li>
<li><a href="/ebooks">E-Books</a></li>
<li><a href="/contact">Contact</a></li>
<li><a href="/ebooks"><i data-lucide="book" class="icon-inline"></i> E-Books</a></li>
<li><a href="/contact"><i data-lucide="mail" class="icon-inline"></i> Contact</a></li>
</ul>
</div>
</nav>
@ -68,11 +69,11 @@ @@ -68,11 +69,11 @@
{{if and .WikiPages (or (eq .CanonicalURL (printf "%s/wiki" .SiteURL)) (hasPrefix .CanonicalURL (printf "%s/wiki/" .SiteURL)))}}
<aside class="wiki-sidebar" aria-label="About The Project navigation">
<nav class="wiki-nav">
<h2>About The Project</h2>
<h2><i data-lucide="book-open" class="icon-inline"></i> About The Project</h2>
<ul class="wiki-menu">
<li><a href="/wiki"{{if eq .CanonicalURL (printf "%s/wiki" .SiteURL)}} class="active"{{end}}>Project Overview</a></li>
<li><a href="/wiki"{{if eq .CanonicalURL (printf "%s/wiki" .SiteURL)}} class="active"{{end}}><i data-lucide="info" class="icon-inline"></i> Project Overview</a></li>
{{range .WikiPages}}
<li><a href="/wiki/{{.DTag}}"{{if eq $.CanonicalURL (printf "%s/wiki/%s" $.SiteURL .DTag)}} class="active"{{end}}>{{.Title}}</a></li>
<li><a href="/wiki/{{.DTag}}"{{if eq $.CanonicalURL (printf "%s/wiki/%s" $.SiteURL .DTag)}} class="active"{{end}}><i data-lucide="file-text" class="icon-inline"></i> {{.Title}}</a></li>
{{end}}
</ul>
</nav>
@ -91,10 +92,15 @@ @@ -91,10 +92,15 @@
</div>
<footer>
<p>&copy; 2026 GitCitadel All Rights Reserved | <a href="/contact">Contact</a></p>
<p><i data-lucide="copyright" class="icon-inline"></i> 2026 GitCitadel All Rights Reserved | <a href="/contact"><i data-lucide="mail" class="icon-inline"></i> Contact</a></p>
</footer>
<script>
// Initialize Lucide icons
if (typeof lucide !== 'undefined') {
lucide.createIcons();
}
// Mobile menu toggle (optional - menu works without JS)
if (document.querySelector('.mobile-menu-toggle')) {
document.querySelector('.mobile-menu-toggle').addEventListener('click', function() {

12
templates/blog.html

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
<aside class="blog-sidebar">
<div class="blog-header">
{{if .BlogIndexAuthor}}
<div class="blog-author-handle">@{{.BlogIndexAuthor}}</div>
<div class="blog-author-handle"><i data-lucide="user" class="icon-inline"></i> @{{.BlogIndexAuthor}}</div>
{{end}}
{{if .BlogIndexImage}}
<div class="blog-image">
@ -29,12 +29,12 @@ @@ -29,12 +29,12 @@
{{range $index, $item := .BlogItems}}
<li>
<a href="#" class="article-link" data-dtag="{{$item.DTag}}" data-index="{{$index}}"{{if eq $index 0}} data-active="true"{{end}}>
<div class="article-link-title">{{$item.Title}}</div>
<div class="article-link-title"><i data-lucide="file-text" class="icon-inline"></i> {{$item.Title}}</div>
{{if $item.Time}}
<div class="article-link-meta">
<span class="article-date">{{$item.Time}}</span>
<span class="article-date"><i data-lucide="clock" class="icon-inline"></i> {{$item.Time}}</span>
{{if $item.Author}}
<span class="article-author">{{$item.Author}}</span>
<span class="article-author"><i data-lucide="user" class="icon-inline"></i> {{$item.Author}}</span>
{{end}}
</div>
{{end}}
@ -61,10 +61,10 @@ @@ -61,10 +61,10 @@
{{else}}
<article class="blog-article active">
<header class="article-header">
<h1 class="article-title">No Articles</h1>
<h1 class="article-title"><i data-lucide="file-x" class="icon-inline"></i> No Articles</h1>
</header>
<div class="article-content">
<p>No blog articles available yet.</p>
<p><i data-lucide="inbox" class="icon-inline"></i> No blog articles available yet.</p>
</div>
</article>
{{end}}

14
templates/components.html

@ -1,21 +1,21 @@ @@ -1,21 +1,21 @@
{{/* Feed Component - Reusable feed sidebar */}}
{{define "feed"}}
<div class="feed-container">
<h3>Recent Notes <a href="https://aitherboard.imwald.eu/feed/relay/theforest.nostr1.com" target="_blank" rel="noopener noreferrer" class="feed-link-header">View Full Feed</a></h3>
<h3><i data-lucide="rss" class="icon-inline"></i> Recent Notes <a href="https://aitherboard.imwald.eu/feed/relay/theforest.nostr1.com" target="_blank" rel="noopener noreferrer" class="feed-link-header"><i data-lucide="external-link" class="icon-inline"></i> View Full Feed</a></h3>
<div class="feed-items">
{{range .FeedItems}}
<article class="feed-item">
<header class="feed-header">
<span class="feed-author">{{.Author}}</span>
<time class="feed-time" datetime="{{.TimeISO}}">{{.Time}}</time>
<span class="feed-author"><i data-lucide="user" class="icon-inline"></i> {{.Author}}</span>
<time class="feed-time" datetime="{{.TimeISO}}"><i data-lucide="clock" class="icon-inline"></i> {{.Time}}</time>
</header>
<div class="feed-content">{{.Content}}</div>
<footer class="feed-footer">
<a href="{{.Link}}" class="feed-link" target="_blank" rel="noopener noreferrer">View on Alexandria</a>
<a href="{{.Link}}" class="feed-link" target="_blank" rel="noopener noreferrer"><i data-lucide="external-link" class="icon-inline"></i> View on Alexandria</a>
</footer>
</article>
{{else}}
<p class="feed-empty">No recent notes available.</p>
<p class="feed-empty"><i data-lucide="inbox" class="icon-inline"></i> No recent notes available.</p>
{{end}}
</div>
</div>
@ -24,13 +24,13 @@ @@ -24,13 +24,13 @@
{{/* Alert Component - Success message */}}
{{define "alert-success"}}
<div class="alert alert-success" role="alert">
<strong>Success!</strong> {{.}}
<strong><i data-lucide="check-circle" class="icon-inline"></i> Success!</strong> {{.}}
</div>
{{end}}
{{/* Alert Component - Error message */}}
{{define "alert-error"}}
<div class="alert alert-error" role="alert">
<strong>Error:</strong> {{.}}
<strong><i data-lucide="alert-circle" class="icon-inline"></i> Error:</strong> {{.}}
</div>
{{end}}

44
templates/contact.html

@ -6,13 +6,13 @@ @@ -6,13 +6,13 @@
<h2 style="margin-top: 0; font-size: 1.2rem;">Find us elsewhere:</h2>
<ul style="list-style: none; padding: 0; margin: 0;">
<li style="margin-bottom: 0.5rem;">
<a href="https://aitherboard.imwald.eu/repos/naddr1qvzqqqrhnypzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqq9xw6t5vd5hgctyv4kqde47kt?tab=about" target="_blank" rel="noopener noreferrer" style="color: #0066cc; text-decoration: none;">
📦 Aitherboard Repository
<a href="https://aitherboard.imwald.eu/repos/naddr1qvzqqqrhnypzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqq9xw6t5vd5hgctyv4kqde47kt?tab=about" target="_blank" rel="noopener noreferrer" style="color: #0066cc; text-decoration: none; display: inline-flex; align-items: center; gap: 0.5rem;">
<i data-lucide="package" class="icon-inline"></i> Aitherboard Repository
</a>
</li>
<li style="margin-bottom: 0.5rem;">
<a href="https://github.com/ShadowySupercode" target="_blank" rel="noopener noreferrer" style="color: #0066cc; text-decoration: none;">
🐙 GitHub: ShadowySupercode
<a href="https://github.com/ShadowySupercode" target="_blank" rel="noopener noreferrer" style="color: #0066cc; text-decoration: none; display: inline-flex; align-items: center; gap: 0.5rem;">
<i data-lucide="github" class="icon-inline"></i> GitHub: ShadowySupercode
</a>
</li>
</ul>
@ -37,11 +37,15 @@ @@ -37,11 +37,15 @@
{{end}}
{{if .Profile.Website}}
<p style="margin: 0.5rem 0 0 0;">
<a href="{{.Profile.Website}}" target="_blank" rel="noopener noreferrer" style="color: #0066cc; text-decoration: none;">🌐 Website</a>
<a href="{{.Profile.Website}}" target="_blank" rel="noopener noreferrer" style="color: #0066cc; text-decoration: none; display: inline-flex; align-items: center; gap: 0.5rem;">
<i data-lucide="globe" class="icon-inline"></i> Website
</a>
</p>
{{end}}
{{if .Profile.NIP05}}
<p style="margin: 0.5rem 0 0 0; color: #666; font-size: 0.9rem;">NIP-05: {{.Profile.NIP05}}</p>
<p style="margin: 0.5rem 0 0 0; color: #666; font-size: 0.9rem; display: flex; align-items: center; gap: 0.5rem;">
<i data-lucide="check-circle" class="icon-inline" style="width: 16px; height: 16px;"></i> NIP-05: {{.Profile.NIP05}}
</p>
{{end}}
</div>
</div>
@ -52,9 +56,9 @@ @@ -52,9 +56,9 @@
{{if .Success}}
<div class="alert alert-success" role="alert">
<strong>Success!</strong> Your message has been submitted. Thank you for contacting us!
<strong><i data-lucide="check-circle" class="icon-inline"></i> Success!</strong> Your message has been submitted. Thank you for contacting us!
{{if .EventID}}
<br><small>Issue ID: {{.EventID}}</small>
<br><small><i data-lucide="hash" class="icon-inline"></i> Issue ID: {{.EventID}}</small>
{{end}}
</div>
{{end}}
@ -91,8 +95,8 @@ @@ -91,8 +95,8 @@
</div>
<div class="form-actions">
<button type="submit" id="submit-btn" class="btn btn-primary">Submit</button>
<button type="reset" class="btn btn-secondary">Clear</button>
<button type="submit" id="submit-btn" class="btn btn-primary"><i data-lucide="send" class="icon-inline"></i> Submit</button>
<button type="reset" class="btn btn-secondary"><i data-lucide="x" class="icon-inline"></i> Clear</button>
</div>
</form>
@ -152,7 +156,10 @@ @@ -152,7 +156,10 @@
// Disable submit button
submitBtn.disabled = true;
submitBtn.textContent = 'Signing...';
submitBtn.innerHTML = '<i data-lucide="loader-2" class="icon-inline"></i> Signing...';
if (typeof lucide !== 'undefined') {
lucide.createIcons();
}
hideStatus();
try {
@ -205,7 +212,10 @@ @@ -205,7 +212,10 @@
};
// Sign the event
submitBtn.textContent = 'Publishing...';
submitBtn.innerHTML = '<i data-lucide="loader-2" class="icon-inline"></i> Publishing...';
if (typeof lucide !== 'undefined') {
lucide.createIcons();
}
const signedEvent = await window.nostr.signEvent(unsignedEvent);
// Send to API
@ -225,13 +235,19 @@ @@ -225,13 +235,19 @@
} else {
showStatus('Failed to publish issue: ' + (result.error || 'Unknown error'), true);
submitBtn.disabled = false;
submitBtn.textContent = 'Submit';
submitBtn.innerHTML = '<i data-lucide="send" class="icon-inline"></i> Submit';
if (typeof lucide !== 'undefined') {
lucide.createIcons();
}
}
} catch (error) {
console.error('Error:', error);
showStatus('Error: ' + error.message, true);
submitBtn.disabled = false;
submitBtn.textContent = 'Submit';
submitBtn.innerHTML = '<i data-lucide="send" class="icon-inline"></i> Submit';
if (typeof lucide !== 'undefined') {
lucide.createIcons();
}
}
});
})();

4
templates/ebooks.html

@ -29,12 +29,12 @@ @@ -29,12 +29,12 @@
<time datetime="{{.TimeISO}}">{{.Time}}</time>
</td>
<td>
<a href="https://alexandria.gitcitadel.eu/naddr/{{.Naddr}}" target="_blank" rel="noopener noreferrer" class="btn btn-sm">View</a>
<a href="https://alexandria.gitcitadel.eu/naddr/{{.Naddr}}" target="_blank" rel="noopener noreferrer" class="btn btn-sm"><i data-lucide="external-link" class="icon-inline"></i> View</a>
</td>
</tr>
{{else}}
<tr>
<td colspan="5" class="text-center">No e-books found.</td>
<td colspan="5" class="text-center"><i data-lucide="book-x" class="icon-inline"></i> No e-books found.</td>
</tr>
{{end}}
</tbody>

8
templates/landing.html

@ -9,19 +9,19 @@ @@ -9,19 +9,19 @@
<h2>Explore Our Content</h2>
<div class="feature-grid">
<div class="feature-card">
<h3>Wiki</h3>
<h3><i data-lucide="book-open" class="icon-inline"></i> Wiki</h3>
<p>Browse our comprehensive wiki documentation.</p>
<ul>
{{range .WikiPages}}
<li><a href="/wiki/{{.DTag}}">{{.Title}}</a></li>
<li><a href="/wiki/{{.DTag}}"><i data-lucide="file-text" class="icon-inline"></i> {{.Title}}</a></li>
{{end}}
</ul>
</div>
<div class="feature-card">
<h3>Blog</h3>
<h3><i data-lucide="file-text" class="icon-inline"></i> Blog</h3>
<p>Read the latest articles and updates.</p>
<a href="/blog" class="btn">View Blog</a>
<a href="/blog" class="btn"><i data-lucide="arrow-right" class="icon-inline"></i> View Blog</a>
</div>
</div>
</section>

10
templates/page.html

@ -2,14 +2,14 @@ @@ -2,14 +2,14 @@
<article class="wiki-page">
<nav class="breadcrumbs" aria-label="Breadcrumb">
<ol>
<li><a href="/">Home</a></li>
<li><a href="/wiki">Wiki</a></li>
<li aria-current="page">{{.Title}}</li>
<li><a href="/"><i data-lucide="home" class="icon-inline"></i> Home</a></li>
<li><a href="/wiki"><i data-lucide="book-open" class="icon-inline"></i> Wiki</a></li>
<li aria-current="page"><i data-lucide="file-text" class="icon-inline"></i> {{.Title}}</li>
</ol>
</nav>
<header class="page-header">
<h1>{{.Title}}</h1>
<h1><i data-lucide="file-text" class="icon-inline"></i> {{.Title}}</h1>
{{if .Summary}}<p class="page-summary">{{.Summary}}</p>{{end}}
</header>
@ -19,7 +19,7 @@ @@ -19,7 +19,7 @@
{{if .TableOfContents}}
<aside class="table-of-contents">
<h2>Table of Contents</h2>
<h2><i data-lucide="list" class="icon-inline"></i> Table of Contents</h2>
{{.TableOfContents}}
</aside>
{{end}}

6
templates/wiki.html

@ -1,15 +1,15 @@ @@ -1,15 +1,15 @@
{{define "content"}}
<article class="wiki-index-page">
<header class="page-header">
<h1>Wiki</h1>
<h1><i data-lucide="book-open" class="icon-inline"></i> Wiki</h1>
{{if .Summary}}<p class="page-summary">{{.Summary}}</p>{{end}}
</header>
<div class="wiki-index-content">
{{if .WikiPages}}
<p>Select an article from the sidebar to get started.</p>
<p><i data-lucide="arrow-right" class="icon-inline"></i> Select an article from the sidebar to get started.</p>
{{else}}
<p>No wiki articles available yet.</p>
<p><i data-lucide="inbox" class="icon-inline"></i> No wiki articles available yet.</p>
{{end}}
</div>
</article>

Loading…
Cancel
Save