Bosia Bosia v0.8.11

Halaman — Post Blog

Halaman post blog yang dirangkai dari blok — navbar, header post, isi prosa, baris terkait dan footer.

Halaman post blog lengkap: navbar minimal, header post, isi prosa 70ch, baris post terkait dan footer minimal. Setiap blok sadar-tema — coba pengalih tema di atas preview.

Preview

B
__BRAND__
Product

Shipping beats polishing

Why a released rough edge teaches you more than an unreleased perfect one.

Jeki Maulana

Jeki Maulana

6 min read

Desk with an open notebook and laptop

The fastest way to learn what a feature is worth is to put it in front of people who didn't build it. Polish delays that lesson; shipping collects it.

Rough edges are feedback magnets

Users forgive an honest rough edge far more readily than a missing capability. What they won't do is imagine the feature you kept on a branch.

A released rough edge teaches you more than an unreleased perfect one.

What we do instead

  • Ship the smallest slice that answers a real question.
  • Watch how it's used for a week before touching it again.
  • Polish only the paths people actually walk.

None of this is an argument against quality. It's an argument about sequence: quality earns its keep after usefulness is proven, not before.

Install

bun x bosia@latest add page blog/post

Memasang page.svelte beserta setiap blok yang dirangkainya.

Penggunaan

<script lang="ts">
	import Post from "$lib/pages/blog/post/page.svelte";
</script>

<Post />

Tanpa props halaman menampilkan post contoh bawaan blok-bloknya. Untuk konten asli, pasang feature blog — loader untuk /blog/[slug] mengembalikan post dan related persis dalam bentuk yang diterima halaman:

<script lang="ts">
	import Post from "$lib/pages/blog/post/page.svelte";

	let { data } = $props();
</script>

<Post post={data.post} bodyHtml={data.post.body} related={data.related} />

bodyHtml dirender tanpa escape oleh blog/post-body — hanya kirim konten tepercaya (database milikmu), jangan pernah input pengguna.

Sumber

src/lib/pages/blog/post/page.svelte