Goal: have a personal blog, and try out another point in the 'modular app design with elixir' space. Designing OTP systems with elixir had some interesting ideas.
37 lines
1.5 KiB
Plaintext
37 lines
1.5 KiB
Plaintext
<div class="space-y-12">
|
|
<section class="space-y-6">
|
|
<h1 class="text-4xl sm:text-5xl font-display font-semibold leading-tight tracking-tight text-balance">
|
|
Drinking from the firehose
|
|
</h1>
|
|
<div class="space-y-4 text-lg leading-relaxed text-base-content/80">
|
|
<p>
|
|
I'm <strong class="text-base-content">Willem van den Ende</strong>,
|
|
partner at <a href="https://qwan.eu" class="text-primary hover:underline" target="_blank" rel="noopener">QWAN</a>.
|
|
This is where I write about AI-native consulting, shitty evals,
|
|
and whatever prototype I'm building this week.
|
|
</p>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="space-y-6">
|
|
<h2 class="text-2xl font-display font-semibold">Recent posts</h2>
|
|
<div class="grid gap-4 sm:grid-cols-2">
|
|
<article
|
|
:for={post <- @recent_posts}
|
|
class="rounded-box border border-base-200 p-5 space-y-2 hover:border-primary/30 transition"
|
|
>
|
|
<a href={"#{post_base_path(post)}/#{post.id}"} class="block space-y-2">
|
|
<h3 class="font-semibold text-base-content hover:text-primary transition">{post.title}</h3>
|
|
<p class="text-sm text-base-content/60">{post.description}</p>
|
|
<div class="flex items-center gap-2 text-xs text-base-content/50">
|
|
<time datetime={Date.to_iso8601(post.date)}>
|
|
{Calendar.strftime(post.date, "%B %d, %Y")}
|
|
</time>
|
|
<span class="badge badge-ghost badge-xs">{blog_label(post)}</span>
|
|
</div>
|
|
</a>
|
|
</article>
|
|
</div>
|
|
</section>
|
|
</div>
|