Spaces:
Build error
Build error
Upload pages/index.js with huggingface_hub
Browse files- pages/index.js +140 -0
pages/index.js
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import Layout from '../components/Layout';
|
| 2 |
+
import Link from 'next/link';
|
| 3 |
+
import { ArrowRight, Book, Mic, Code2, LayoutGrid } from 'lucide-react';
|
| 4 |
+
|
| 5 |
+
const stats = [
|
| 6 |
+
{ value: '150+', label: 'Articles' },
|
| 7 |
+
{ value: '50+', label: 'Podcasts' },
|
| 8 |
+
{ value: '200+', label: 'Projects' },
|
| 9 |
+
{ value: '75+', label: 'Slide Decks' },
|
| 10 |
+
];
|
| 11 |
+
|
| 12 |
+
const featuredArticles = [
|
| 13 |
+
{
|
| 14 |
+
title: 'Introduction to Large Language Models',
|
| 15 |
+
category: 'AI/ML',
|
| 16 |
+
excerpt: 'A comprehensive guide to understanding LLMs, their architecture, and applications in modern software development.',
|
| 17 |
+
readTime: '15 min',
|
| 18 |
+
tags: ['LLM', 'AI', 'NLP'],
|
| 19 |
+
},
|
| 20 |
+
{
|
| 21 |
+
title: 'Building RAG Applications from Scratch',
|
| 22 |
+
category: 'Engineering',
|
| 23 |
+
excerpt: 'Learn how to build production-ready Retrieval Augmented Generation systems with modern tools.',
|
| 24 |
+
readTime: '20 min',
|
| 25 |
+
tags: ['RAG', 'Vector DB', 'LangChain'],
|
| 26 |
+
},
|
| 27 |
+
];
|
| 28 |
+
|
| 29 |
+
export default function Home() {
|
| 30 |
+
return (
|
| 31 |
+
<Layout title="Knowledge Base" subtitle="Home">
|
| 32 |
+
{/* Hero Section */}
|
| 33 |
+
<section className="mb-12">
|
| 34 |
+
<div className="border-2 border-brutal-black p-8 md:p-12 bg-brutal-black text-brutal-white">
|
| 35 |
+
<div className="max-w-3xl">
|
| 36 |
+
<h1 className="text-4xl md:text-6xl font-bold mb-4 leading-tight">
|
| 37 |
+
BRUTALIST<br />
|
| 38 |
+
KNOWLEDGE<br />
|
| 39 |
+
<span className="text-brutal-accent">BASE</span>
|
| 40 |
+
</h1>
|
| 41 |
+
<p className="font-mono text-lg text-brutal-gray mb-8">
|
| 42 |
+
A curated collection of resources, tutorials, and insights on
|
| 43 |
+
artificial intelligence, machine learning, and modern software development.
|
| 44 |
+
</p>
|
| 45 |
+
<div className="flex flex-wrap gap-4">
|
| 46 |
+
<Link href="/knowledge" className="brutal-btn bg-brutal-white text-brutal-black hover:bg-brutal-accent hover:text-brutal-white">
|
| 47 |
+
Explore Articles
|
| 48 |
+
</Link>
|
| 49 |
+
<Link href="/projects" className="brutal-btn bg-transparent border-brutal-white text-brutal-white hover:bg-brutal-white hover:text-brutal-black">
|
| 50 |
+
View Projects
|
| 51 |
+
</Link>
|
| 52 |
+
</div>
|
| 53 |
+
</div>
|
| 54 |
+
</div>
|
| 55 |
+
</section>
|
| 56 |
+
|
| 57 |
+
{/* Stats */}
|
| 58 |
+
<section className="mb-12 grid grid-cols-2 md:grid-cols-4 gap-4">
|
| 59 |
+
{stats.map((stat, index) => (
|
| 60 |
+
<div key={index} className="brutal-card text-center">
|
| 61 |
+
<p className="font-bold text-3xl md:text-4xl">{stat.value}</p>
|
| 62 |
+
<p className="font-mono text-xs text-brutal-gray uppercase tracking-wider">{stat.label}</p>
|
| 63 |
+
</div>
|
| 64 |
+
))}
|
| 65 |
+
</section>
|
| 66 |
+
|
| 67 |
+
{/* Quick Links */}
|
| 68 |
+
<section className="mb-12">
|
| 69 |
+
<h2 className="section-header">Quick Navigation</h2>
|
| 70 |
+
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4">
|
| 71 |
+
<Link href="/knowledge" className="brutal-card group flex items-center justify-between">
|
| 72 |
+
<div>
|
| 73 |
+
<Book size={32} className="mb-2" />
|
| 74 |
+
<h3 className="font-bold">Knowledge Base</h3>
|
| 75 |
+
<p className="text-sm text-brutal-gray">Articles & Tutorials</p>
|
| 76 |
+
</div>
|
| 77 |
+
<ArrowRight className="group-hover:translate-x-1 transition-transform" />
|
| 78 |
+
</Link>
|
| 79 |
+
<Link href="/podcasts" className="brutal-card group flex items-center justify-between">
|
| 80 |
+
<div>
|
| 81 |
+
<Mic size={32} className="mb-2" />
|
| 82 |
+
<h3 className="font-bold">Podcasts</h3>
|
| 83 |
+
<p className="text-sm text-brutal-gray">Audio & Video Shows</p>
|
| 84 |
+
</div>
|
| 85 |
+
<ArrowRight className="group-hover:translate-x-1 transition-transform" />
|
| 86 |
+
</Link>
|
| 87 |
+
<Link href="/projects" className="brutal-card group flex items-center justify-between">
|
| 88 |
+
<div>
|
| 89 |
+
<Code2 size={32} className="mb-2" />
|
| 90 |
+
<h3 className="font-bold">GenAI Projects</h3>
|
| 91 |
+
<p className="text-sm text-brutal-gray">Open Source Projects</p>
|
| 92 |
+
</div>
|
| 93 |
+
<ArrowRight className="group-hover:translate-x-1 transition-transform" />
|
| 94 |
+
</Link>
|
| 95 |
+
<Link href="/decks" className="brutal-card group flex items-center justify-between">
|
| 96 |
+
<div>
|
| 97 |
+
<LayoutGrid size={32} className="mb-2" />
|
| 98 |
+
<h3 className="font-bold">Slide Decks</h3>
|
| 99 |
+
<p className="text-sm text-brutal-gray">Presentations</p>
|
| 100 |
+
</div>
|
| 101 |
+
<ArrowRight className="group-hover:translate-x-1 transition-transform" />
|
| 102 |
+
</Link>
|
| 103 |
+
</div>
|
| 104 |
+
</section>
|
| 105 |
+
|
| 106 |
+
{/* Featured Articles */}
|
| 107 |
+
<section>
|
| 108 |
+
<div className="flex items-center justify-between mb-6">
|
| 109 |
+
<h2 className="section-header mb-0">Featured Articles</h2>
|
| 110 |
+
<Link href="/knowledge" className="font-mono text-sm flex items-center gap-1 hover:text-brutal-accent transition-colors">
|
| 111 |
+
View All <ArrowRight size={14} />
|
| 112 |
+
</Link>
|
| 113 |
+
</div>
|
| 114 |
+
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
| 115 |
+
{featuredArticles.map((article, index) => (
|
| 116 |
+
<div key={index} className="brutal-card cursor-pointer group">
|
| 117 |
+
<span className="font-mono text-xs bg-brutal-black text-brutal-white px-2 py-1 mb-3 inline-block">
|
| 118 |
+
{article.category}
|
| 119 |
+
</span>
|
| 120 |
+
<h3 className="font-bold text-xl mb-2 group-hover:text-brutal-accent transition-colors">
|
| 121 |
+
{article.title}
|
| 122 |
+
</h3>
|
| 123 |
+
<p className="text-sm text-brutal-gray mb-4">{article.excerpt}</p>
|
| 124 |
+
<div className="flex items-center justify-between">
|
| 125 |
+
<div className="flex gap-2">
|
| 126 |
+
{article.tags.map((tag) => (
|
| 127 |
+
<span key={tag} className="font-mono text-xs border border-brutal-black px-2 py-0.5">
|
| 128 |
+
{tag}
|
| 129 |
+
</span>
|
| 130 |
+
))}
|
| 131 |
+
</div>
|
| 132 |
+
<span className="font-mono text-xs text-brutal-gray">{article.readTime}</span>
|
| 133 |
+
</div>
|
| 134 |
+
</div>
|
| 135 |
+
))}
|
| 136 |
+
</div>
|
| 137 |
+
</section>
|
| 138 |
+
</Layout>
|
| 139 |
+
);
|
| 140 |
+
}
|