-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathindex.html
More file actions
167 lines (153 loc) · 7.15 KB
/
index.html
File metadata and controls
167 lines (153 loc) · 7.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>LakehouseBlogs.com – Open Source Lakehouse Blogs</title>
<meta name="description" content="Discover the latest insights, tutorials, and updates about Apache Iceberg, Delta Lake, Apache Hudi, Apache Paimon, and other open source data lakehouse technologies." />
<link rel="canonical" href="https://lakehouseblogs.com/" />
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:url" content="https://lakehouseblogs.com/" />
<meta property="og:title" content="LakehouseBlogs.com – Open Source Lakehouse Blogs" />
<meta property="og:description" content="A curated aggregator of blogs, tutorials, and news for the open source data lakehouse ecosystem." />
<meta property="og:image" content="https://lakehouseblogs.com/og-image.png" />
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="LakehouseBlogs.com – Open Source Lakehouse Blogs" />
<meta name="twitter:description" content="Discover the latest insights about Apache Iceberg, Delta Lake, Hudi, and more." />
<meta name="twitter:image" content="https://lakehouseblogs.com/og-image.png" />
<!-- JSON-LD -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "LakehouseBlogs.com",
"url": "https://lakehouseblogs.com/",
"description": "Aggregator for Open Source Data Lakehouse content including Apache Iceberg, Delta Lake, and Apache Hudi.",
"publisher": {
"@type": "Person",
"name": "Alex Merced",
"url": "https://alexmerced.com"
}
}
</script>
<link rel="stylesheet" href="index.css" />
</head>
<body>
<!-- Header -->
<header class="site-header">
<div class="container header-inner">
<div class="brand">
<span class="brand__dot"></span>
LakehouseBlogs
</div>
<div class="header-actions">
<a href="https://github.com/AlexMercedCoder/lakehouseblogs_com" class="btn btn--brand" target="_blank" rel="noopener">Contribute</a>
</div>
</div>
</header>
<!-- Hero -->
<section class="hero">
<div class="container hero-inner">
<h1>Open Source Lakehouse Blog Aggregator</h1>
<p>Discover the latest insights and tutorials about Apache Iceberg, Delta Lake, Apache Hudi, Apache Paimon, Apache Polaris, Apache Gravitino, Project Nessie, and more.</p>
<p><a href="talk.html"><button>Apache Iceberg Talks</button></a></p>
<p><a href="podcasts.html"><button>Apache Iceberg Podcast Episodes</button></a></p>
</div>
</section>
<!-- Toolbar -->
<div class="container toolbar">
<div class="searchbar">
<input type="search" id="search" placeholder="Search blogs by keyword, author, or project..." autocomplete="off" />
<span class="icon" aria-hidden="true">🔍</span>
</div>
<div class="filters" id="filters">
<!-- JS dynamically toggles active and filters cards -->
<button class="chip is-active" data-project="all">All</button>
<button class="chip" data-project="iceberg">Apache Iceberg</button>
<button class="chip" data-project="delta">Delta Lake</button>
<button class="chip" data-project="hudi">Apache Hudi</button>
<button class="chip" data-project="paimon">Apache Paimon</button>
<button class="chip" data-project="polaris">Apache Polaris</button>
<button class="chip" data-project="gravitino">Apache Gravitino</button>
<button class="chip" data-project="nessie">Project Nessie</button>
<button class="chip" data-project="arrow">Apache Arrow</button>
</div>
</div>
<!-- Main (dynamic) -->
<main class="container layout" id="app">
<!-- Sticky Year Nav (populated by JS) -->
<nav class="year-nav" aria-label="Years">
<div class="year-nav__inner" id="yearNav"></div>
</nav>
<!-- Years Root (populated by JS with year banners + cards) -->
<div id="yearsRoot" role="region" aria-live="polite">
<!-- JS will insert:
<section id="YYYY" class="year-section">
<div class="year-header">
<h2 class="year-title">YYYY</h2>
<div class="year-count" aria-live="polite">N posts</div>
<button class="toggle-year" aria-expanded="true">Toggle</button>
</div>
<div class="links-grid"></div>
</section>
-->
</div>
</main>
<!-- Footer -->
<footer class="site-footer">
<div class="container">
<p>LakehouseBlogs.com is an open-source project. Contribute your blog via pull request.</p>
<a class="repo-link" href="https://github.com/AlexMercedCoder/lakehouseblogs_com" target="_blank" rel="noopener">GitHub Repository</a>
<p class="muted" style="margin-top: 1rem;">Explore the projects:</p>
<nav aria-label="Open source projects" class="project-links" style="margin-top:.5rem;">
<ul style="list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:.5rem;">
<li><a href="https://iceberg.apache.org/" target="_blank" rel="noopener">Apache Iceberg</a></li>
<li><a href="https://delta.io/" target="_blank" rel="noopener">Delta Lake</a></li>
<li><a href="https://hudi.apache.org/" target="_blank" rel="noopener">Apache Hudi</a></li>
<li><a href="https://paimon.apache.org/" target="_blank" rel="noopener">Apache Paimon</a></li>
<li><a href="https://polaris.apache.org/" target="_blank" rel="noopener">Apache Polaris (incubating)</a></li>
<li><a href="https://gravitino.apache.org/" target="_blank" rel="noopener">Apache Gravitino</a></li>
<li><a href="https://projectnessie.org/" target="_blank" rel="noopener">Project Nessie</a></li>
<li><a href="https://arrow.apache.org/" target="_blank" rel="noopener">Apache Gravitino</a></li>
</ul>
</nav>
</div>
</footer>
<!-- Templates (optional but handy if you prefer cloning nodes in JS) -->
<template id="cardTemplate">
<article class="card reveal">
<div class="card__meta">
<time></time> · <span class="company"></span>
</div>
<h3 class="card__title">
<a class="title" target="_blank" rel="noopener"></a>
</h3>
<p class="card__desc hidden"></p>
<div class="card__footer">
<span class="source">By <a class="author" target="_blank" rel="noopener"></a></span>
<span class="badges"></span>
</div>
</article>
</template>
<template id="yearTemplate">
<section class="year-section">
<div class="year-header">
<h2 class="year-title"></h2>
<div style="display:flex; align-items:center; gap:.5rem; margin-left:auto;">
<div class="year-count"></div>
<button class="toggle-year" aria-expanded="true" title="Collapse/Expand">Toggle</button>
</div>
</div>
<div class="links-grid"></div>
</section>
</template>
<noscript>
<div class="container" style="padding:1rem; color:#b91c1c;">
JavaScript is disabled. Enable it to load blog data dynamically.
</div>
</noscript>
<script src="index.js" defer></script>
</body>
</html>