docs: restructure website, optimize HTML, gitignore private files
Website docs (website/docs/): - Delete 6 stale -md.html duplicates - Rename docs-clients/miners/developers → clients/miners/developers.html - Unify header/nav across all 15 pages (new .site-header pattern) - Fix 34 dead href=# links with real targets - Upgrade Font Awesome v4→v6 in index.html - Replace search stub with live client-side search (15-page index) - Extract all inline CSS into shared docs.css (+630 lines) - Extract inline theme JS into shared theme.js - Strip inline style= attributes from 10+ pages - Add .announce-banner, .source-links, .search-results CSS classes - Add Markdown Source links to clients/miners/developers pages - Update components.html title to Architecture & Components - Move browser-wallet.html to website/wallet/, leave redirect - Update all dates to February 2026 Website root: - Delete 6 root-level duplicate HTML files (160KB saved) - Rewire index.html and 404.html links Root README.md: - Fix 8 broken doc links to new numbered folder structure - Update copyright to 2026 .gitignore + .example files: - Gitignore private files: .aitbc.yaml, .env, deploy scripts, GPU scripts, service scripts, infra configs, .windsurf/, website README - Create 7 .example files for GitHub users with sanitized templates - Untrack 47 previously committed private files Live server: - Push all website files to aitbc-cascade:/var/www/html/ - Clean stale admin.html and index.nginx-debian.html
This commit is contained in:
@@ -5,23 +5,23 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="css/docs.css">
|
||||
<title>Documentation - AITBC</title>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
|
||||
</head>
|
||||
<body>
|
||||
<!-- Header -->
|
||||
<header class="text-white shadow-lg" style="background: var(--bg-white); position: fixed; width: 100%; top: 0; z-index: 1000; box-shadow: 0 1px 3px rgba(0,0,0,0.1);">
|
||||
<div class="container" style="max-width: 1200px; margin: 0 auto; padding: 0 20px;">
|
||||
<div style="display: flex; align-items: center; justify-content: space-between; padding: 1rem 0;">
|
||||
<div style="display: flex; align-items: center; gap: 0.75rem;">
|
||||
<i class="fa fa-cube" style="font-size: 2rem; color: var(--primary-color);"></i>
|
||||
<h1 style="font-size: 1.5rem; font-weight: bold; margin: 0; color: var(--text-dark);">AITBC</h1>
|
||||
</div>
|
||||
<nav style="display: flex; align-items: center; gap: 1.5rem;">
|
||||
<a href="/" style="background: transparent !important; color: var(--text-dark) !important; padding: 0.5rem 0.75rem; border-radius: 0.5rem; font-weight: 500; text-decoration: none; display: inline-flex; align-items: center;">Home</a>
|
||||
<a href="/explorer/" style="background: transparent !important; color: var(--text-dark) !important; padding: 0.5rem 0.75rem; border-radius: 0.5rem; font-weight: 500; text-decoration: none; display: inline-flex; align-items: center;">Explorer</a>
|
||||
<a href="/Exchange/" style="background: transparent !important; color: var(--text-dark) !important; padding: 0.5rem 0.75rem; border-radius: 0.5rem; font-weight: 500; text-decoration: none; display: inline-flex; align-items: center;">Exchange</a>
|
||||
<a href="/docs/index.html" style="background: transparent !important; color: var(--text-dark) !important; padding: 0.5rem 0.75rem; border-radius: 0.5rem; font-weight: 500; text-decoration: none; display: inline-flex; align-items: center;">Documentation</a>
|
||||
<button id="themeToggle" class="theme-toggle" style="background: rgba(59, 130, 246, 0.1) !important; color: var(--primary-color) !important; border: 2px solid var(--primary-color); padding: 0.5rem 1rem; border-radius: 0.5rem; cursor: pointer; font-size: 1rem;">🌞</button>
|
||||
<header class="site-header">
|
||||
<div class="container">
|
||||
<div class="header-inner">
|
||||
<a href="/" class="brand">
|
||||
<i class="fas fa-cube"></i>
|
||||
<span>AITBC</span>
|
||||
</a>
|
||||
<nav class="header-nav">
|
||||
<a href="/">Home</a>
|
||||
<a href="/explorer/">Explorer</a>
|
||||
<a href="/Exchange/">Exchange</a>
|
||||
<a href="/docs/index.html" class="active">Docs</a>
|
||||
<button id="theme-toggle" class="theme-toggle" title="Toggle theme"><i class="fas fa-sun"></i></button>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
@@ -33,16 +33,16 @@
|
||||
<div class="doc-header">
|
||||
<h1>Documentation</h1>
|
||||
<p>Choose your reader level to access tailored documentation for your needs</p>
|
||||
<div style="margin-top: 2rem; padding: 1.5rem; background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(16, 185, 129, 0.1) 100%); border-radius: 15px; border: 2px solid rgba(59, 130, 246, 0.2);">
|
||||
<h3 style="color: var(--success-color); margin-bottom: 0.5rem; font-size: 1.2rem;">✅ Latest Update (January 2026)</h3>
|
||||
<p style="color: var(--text-light); margin: 0;">End-to-end Ollama GPU inference testing completed! Real GPU miner operational with RTX 4060 Ti, processing jobs in 11-25 seconds with verified receipt generation and blockchain recording.</p>
|
||||
<div class="announce-banner">
|
||||
<h3>✅ Latest Update (February 2026)</h3>
|
||||
<p>Documentation fully restructured! 10 numbered sections from Getting Started to Security, optimized content with merged duplicates, and zero broken links. Plus: end-to-end Ollama GPU inference with RTX 4060 Ti operational.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Search Bar -->
|
||||
<div class="search-container">
|
||||
<input type="text" class="search-bar" placeholder="Search documentation..." id="searchInput">
|
||||
<i class="fa fa-search search-icon"></i>
|
||||
<i class="fas fa-search search-icon"></i>
|
||||
</div>
|
||||
|
||||
<!-- Reader Level Cards -->
|
||||
@@ -50,7 +50,7 @@
|
||||
<!-- Miners Card -->
|
||||
<div class="reader-card miner">
|
||||
<div class="reader-icon">
|
||||
<i class="fa fa-hammer"></i>
|
||||
<i class="fas fa-hammer"></i>
|
||||
</div>
|
||||
<h3>Miners</h3>
|
||||
<p>Learn how to mine AITBC tokens and contribute to network security. Perfect for those looking to earn rewards through staking or providing compute power.</p>
|
||||
@@ -61,13 +61,13 @@
|
||||
<li>Real-time job processing & earnings</li>
|
||||
<li>Performance monitoring & troubleshooting</li>
|
||||
</ul>
|
||||
<a href="docs-miners.html" class="btn">Miner Documentation</a>
|
||||
<a href="miners.html" class="btn">Miner Documentation</a>
|
||||
</div>
|
||||
|
||||
<!-- Clients Card -->
|
||||
<div class="reader-card client">
|
||||
<div class="reader-icon">
|
||||
<i class="fa fa-users"></i>
|
||||
<i class="fas fa-users"></i>
|
||||
</div>
|
||||
<h3>Clients</h3>
|
||||
<p>Use AITBC for your AI/ML workloads with privacy and verifiable computation. Ideal for businesses and developers using AI services.</p>
|
||||
@@ -78,13 +78,13 @@
|
||||
<li>Transparent pricing: 0.02 AITBC/gpu_second</li>
|
||||
<li>Cryptographic receipts & blockchain verification</li>
|
||||
</ul>
|
||||
<a href="docs-clients.html" class="btn">Client Documentation</a>
|
||||
<a href="clients.html" class="btn">Client Documentation</a>
|
||||
</div>
|
||||
|
||||
<!-- Developers Card -->
|
||||
<div class="reader-card developer">
|
||||
<div class="reader-icon">
|
||||
<i class="fa fa-code"></i>
|
||||
<i class="fas fa-code"></i>
|
||||
</div>
|
||||
<h3>Developers</h3>
|
||||
<p>Build on AITBC and contribute to the protocol. Designed for developers wanting to extend the platform or integrate with it.</p>
|
||||
@@ -95,13 +95,13 @@
|
||||
<li>Bounty programs</li>
|
||||
<li>Community resources</li>
|
||||
</ul>
|
||||
<a href="docs-developers.html" class="btn">Developer Documentation</a>
|
||||
<a href="developers.html" class="btn">Developer Documentation</a>
|
||||
</div>
|
||||
|
||||
<!-- Full Documentation Card -->
|
||||
<div class="reader-card full-doc">
|
||||
<div class="reader-icon">
|
||||
<i class="fa fa-file-alt"></i>
|
||||
<i class="fas fa-file-alt"></i>
|
||||
</div>
|
||||
<h3>Full Documentation</h3>
|
||||
<p>Complete technical documentation covering all aspects of the AITBC platform including architecture, APIs, deployment, and advanced features.</p>
|
||||
@@ -118,26 +118,26 @@
|
||||
<!-- Components Card -->
|
||||
<div class="reader-card components">
|
||||
<div class="reader-icon">
|
||||
<i class="fa fa-cube"></i>
|
||||
<i class="fas fa-cube"></i>
|
||||
</div>
|
||||
<h3>System Components</h3>
|
||||
<p>Explore the 7 core components that make up the AITBC platform. Understand how each part works together to create a complete AI blockchain computing solution.</p>
|
||||
<h3>Architecture & Components</h3>
|
||||
<p>Explore the system architecture and core components of the AITBC platform. Understand how each part works together from end-to-end flow to individual services.</p>
|
||||
<ul class="reader-features">
|
||||
<li>Blockchain Node with PoA/PoS consensus</li>
|
||||
<li>End-to-end system flow diagram</li>
|
||||
<li>Coordinator API for job orchestration</li>
|
||||
<li>Wallet Daemon for secure key management</li>
|
||||
<li>Miner Daemon for GPU compute</li>
|
||||
<li>Blockchain Node with PoA/PoS consensus</li>
|
||||
<li>Marketplace Web for compute trading</li>
|
||||
<li>Explorer Web for blockchain viewing</li>
|
||||
<li>Pool Hub for miner coordination</li>
|
||||
<li>Trade Exchange for BTC-to-AITBC</li>
|
||||
<li>Wallet for key management & staking</li>
|
||||
<li>Codebase structure & technical reference</li>
|
||||
</ul>
|
||||
<a href="components.html" class="btn">View Components</a>
|
||||
<a href="components.html" class="btn">View Architecture</a>
|
||||
</div>
|
||||
|
||||
<!-- System Flow Card -->
|
||||
<div class="reader-card flow">
|
||||
<div class="reader-icon">
|
||||
<i class="fa fa-sitemap"></i>
|
||||
<i class="fas fa-sitemap"></i>
|
||||
</div>
|
||||
<h3>System Flow</h3>
|
||||
<p>Visualize the complete flow of a job submission through the CLI client, detailing each system component, message, RPC call, and port involved.</p>
|
||||
@@ -157,19 +157,19 @@
|
||||
<h2>Quick Links</h2>
|
||||
<div class="links-grid">
|
||||
<a href="full-documentation.html" class="link-item">
|
||||
<i class="fa fa-book"></i>
|
||||
<i class="fas fa-book"></i>
|
||||
<span>Full Documentation</span>
|
||||
</a>
|
||||
<a href="https://github.com/oib/AITBC/tree/main/docs" class="link-item" target="_blank">
|
||||
<i class="fa fa-file-alt"></i>
|
||||
<i class="fas fa-file-alt"></i>
|
||||
<span>Markdown Docs</span>
|
||||
</a>
|
||||
<a href="https://aitbc.bubuit.net/Exchange/" class="link-item">
|
||||
<i class="fa fa-exchange"></i>
|
||||
<i class="fas fa-exchange"></i>
|
||||
<span>Trade Exchange</span>
|
||||
</a>
|
||||
<a href="https://github.com/oib/AITBC" class="link-item">
|
||||
<i class="fa fa-git"></i>
|
||||
<i class="fas fa-git"></i>
|
||||
<span>Source Code</span>
|
||||
</a>
|
||||
<a href="https://discord.gg/aitbc" class="link-item">
|
||||
@@ -177,7 +177,7 @@
|
||||
<span>Community</span>
|
||||
</a>
|
||||
<a href="mailto:aitbc@bubuit.net" class="link-item">
|
||||
<i class="fa fa-envelope"></i>
|
||||
<i class="fas fa-envelope"></i>
|
||||
<span>Support</span>
|
||||
</a>
|
||||
</div>
|
||||
@@ -192,10 +192,10 @@
|
||||
<i class="fab fa-discord"></i> Join Discord
|
||||
</a>
|
||||
<a href="mailto:aitbc@bubuit.net" class="btn btn-outline">
|
||||
<i class="fa fa-envelope"></i> Email Support
|
||||
<i class="fas fa-envelope"></i> Email Support
|
||||
</a>
|
||||
<a href="#" class="btn btn-outline">
|
||||
<i class="fa fa-comments"></i> Live Chat
|
||||
<a href="https://discord.gg/aitbc" class="btn btn-outline">
|
||||
<i class="fas fa-comments"></i> Live Chat
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
@@ -205,44 +205,50 @@
|
||||
<!-- Footer -->
|
||||
<footer>
|
||||
<div class="container">
|
||||
<p>© 2026 AITBC. All rights reserved. | Last updated: January 24, 2026</p>
|
||||
<p>© 2026 AITBC. All rights reserved. | Last updated: February 13, 2026</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// Search functionality
|
||||
document.getElementById('searchInput').addEventListener('keypress', function(e) {
|
||||
if (e.key === 'Enter') {
|
||||
const searchTerm = e.target.value.toLowerCase();
|
||||
if (searchTerm) {
|
||||
// Simple search logic - in real implementation, this would search actual docs
|
||||
alert(`Searching for: ${searchTerm}\n\nIn a full implementation, this would search through all documentation pages and show relevant results.`);
|
||||
}
|
||||
// Client-side search across doc pages
|
||||
const docPages = [
|
||||
{ title: 'Miner Documentation', desc: 'GPU mining, registration, earnings, Ollama setup', url: 'miners.html' },
|
||||
{ title: 'Client Documentation', desc: 'Job submission, wallet, pricing, API reference', url: 'clients.html' },
|
||||
{ title: 'Developer Documentation', desc: 'SDKs, APIs, contributing, bounties', url: 'developers.html' },
|
||||
{ title: 'Full Documentation', desc: 'Architecture, installation, APIs, security, reference', url: 'full-documentation.html' },
|
||||
{ title: 'Architecture & Components', desc: 'Blockchain node, coordinator, marketplace, wallet, explorer, pool hub', url: 'components.html' },
|
||||
{ title: 'System Flow', desc: 'Job submission flow, component interaction, RPC calls', url: 'flowchart.html' },
|
||||
{ title: 'Coordinator API', desc: 'FastAPI, job management, miner registration, receipts', url: 'coordinator-api.html' },
|
||||
{ title: 'Blockchain Node', desc: 'PoA consensus, RPC, P2P, devnet, validator', url: 'blockchain-node.html' },
|
||||
{ title: 'Trade Exchange', desc: 'Bitcoin to AITBC, QR payments, user management', url: 'trade-exchange.html' },
|
||||
{ title: 'Marketplace Web', desc: 'GPU compute offers, bids, stats dashboard', url: 'marketplace-web.html' },
|
||||
{ title: 'Wallet Daemon', desc: 'Encrypted keystore, Argon2id, REST API, receipts', url: 'wallet-daemon.html' },
|
||||
{ title: 'Explorer Web', desc: 'Blocks, transactions, addresses, receipt tracking', url: 'explorer-web.html' },
|
||||
{ title: 'Pool Hub', desc: 'Miner registry, scoring, Redis, PostgreSQL', url: 'pool-hub.html' },
|
||||
{ title: 'API Reference', desc: 'REST endpoints, authentication, rate limits', url: 'api.html' },
|
||||
{ title: 'Browser Wallet', desc: 'Chrome extension, secure crypto wallet', url: 'browser-wallet.html' },
|
||||
];
|
||||
|
||||
document.getElementById('searchInput').addEventListener('input', function(e) {
|
||||
const q = e.target.value.toLowerCase().trim();
|
||||
let resultsEl = document.getElementById('searchResults');
|
||||
if (!resultsEl) {
|
||||
resultsEl = document.createElement('div');
|
||||
resultsEl.id = 'searchResults';
|
||||
resultsEl.className = 'search-results';
|
||||
this.closest('.search-container').after(resultsEl);
|
||||
}
|
||||
if (!q || q.length < 2) { resultsEl.innerHTML = ''; return; }
|
||||
const matches = docPages.filter(p => p.title.toLowerCase().includes(q) || p.desc.toLowerCase().includes(q));
|
||||
if (matches.length === 0) {
|
||||
resultsEl.innerHTML = '<div class="no-results">No results found</div>';
|
||||
} else {
|
||||
resultsEl.innerHTML = matches.map(p =>
|
||||
`<a href="${p.url}"><strong>${p.title}</strong><br><small>${p.desc}</small></a>`
|
||||
).join('');
|
||||
}
|
||||
});
|
||||
|
||||
// Add some interactivity
|
||||
document.querySelectorAll('.reader-card').forEach(card => {
|
||||
card.addEventListener('mouseenter', function() {
|
||||
this.style.cursor = 'pointer';
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>
|
||||
// Check for saved theme preference or default to dark mode
|
||||
const currentTheme = localStorage.getItem('theme') || 'dark';
|
||||
if (currentTheme === 'light') {
|
||||
document.body.classList.add('light');
|
||||
document.getElementById('themeToggle').textContent = '🌙';
|
||||
}
|
||||
|
||||
// Theme toggle functionality
|
||||
document.getElementById('themeToggle').addEventListener('click', function() {
|
||||
document.body.classList.toggle('light');
|
||||
const isLight = document.body.classList.contains('light');
|
||||
localStorage.setItem('theme', isLight ? 'light' : 'dark');
|
||||
this.textContent = isLight ? '🌙' : '🌞';
|
||||
});
|
||||
</script></body>
|
||||
<script src="js/theme.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user