Files
wehub-resource-sync b3a7f98e5a
CI / E2E Cloudflare (4/8) (push) Failing after 0s
CI / E2E Cloudflare (8/8) (push) Failing after 1s
CI / Lint (push) Failing after 1s
Auto Extract / Extract (push) Failing after 4s
CI / Version Check (push) Failing after 9s
CI / Integration Tests (push) Failing after 1s
CI / E2E tests (1/8) (push) Failing after 1s
CI / E2E tests (2/8) (push) Failing after 2s
CI / E2E tests (3/8) (push) Failing after 2s
CI / Browser Tests (push) Failing after 1s
CI / E2E tests (5/8) (push) Failing after 1s
CI / E2E Cloudflare (2/8) (push) Failing after 2s
CI / Typecheck (push) Failing after 1s
CI / Changeset Validation (push) Failing after 2s
CI / E2E Cloudflare (5/8) (push) Failing after 1s
CI / E2E Cloudflare (6/8) (push) Failing after 1s
CI / E2E Cloudflare (7/8) (push) Failing after 1s
CodeQL / Analyze (javascript-typescript) (push) Failing after 1s
Format / Format (push) Failing after 0s
CodeQL / Analyze (actions) (push) Failing after 4s
CI / E2E tests (4/8) (push) Failing after 1s
CI / E2E tests (6/8) (push) Failing after 1s
CI / E2E tests (7/8) (push) Failing after 2s
CI / E2E tests (8/8) (push) Failing after 1s
CI / E2E Cloudflare (1/8) (push) Failing after 1s
CI / E2E Cloudflare (3/8) (push) Failing after 2s
Preview Releases / Publish Preview (push) Failing after 0s
zizmor / Run zizmor (push) Failing after 1s
Release / Release (push) Failing after 2s
CI / Smoke Tests (push) Failing after 5m36s
CI / Tests (push) Failing after 6m36s
Release / Sync Templates (push) Has been skipped
CI / E2E Tests (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:23:53 +08:00

3.0 KiB

This Template

A general-purpose starting point with posts, pages, categories, and tags. Less opinionated than the themed templates -- a base for sites that want to define their own design.

There is intentionally no theme.css, no custom font configuration, no styled layouts beyond browser defaults. The home, posts index, post detail, page, category, and tag pages all render with minimal styling. Start here if you want full control over the visual language; start with blog, portfolio, or marketing if you want a designed template to customise.

Pages

Page Path What it shows
Home / Site title + tagline, links into Posts / About
All posts /posts Post list
Post detail /posts/[slug] Post content
Page /[slug] Static page content (e.g. /about)
Category /category/[slug] Posts filtered by category
Tag /tag/[slug] Posts filtered by tag

Schema

  • posts collection: title, featured_image, content (Portable Text), excerpt (text).
  • pages collection: title, content (Portable Text).
  • Taxonomies: category, tag.
  • Single primary menu.

Site settings have title and tagline.

Visual character

None imposed. Define your own.

This template ships without:

  • src/styles/theme.css -- create one and import it from Base.astro if you want CSS-variable theming.
  • Fonts in astro.config.mjs -- the fonts: array is empty. Add Google Fonts entries with cssVariable bindings if you want web fonts.
  • A components/ directory with styled cards / tag lists / etc. -- build them as needed.

What to do here

If you're customising this template, the work is to add design, not to subtract it. Reasonable first moves:

  1. Decide on one display + one body typeface, add them to astro.config.mjs, bind them to --font-display and --font-body CSS variables.
  2. Create src/styles/theme.css with your colour palette, type scale, and spacing tokens.
  3. Add it to Base.astro -- the layout already imports a small reset; add your theme above your page styles.
  4. Build page-specific styles in each Astro page's <style> block, referencing the CSS variables.

If you want a designed template instead, switch to blog, portfolio, or marketing -- each ships with a full visual system you can re-skin via theme.css.

What not to do

  • Don't treat this as a finished design. The unstyled output is intentional; shipping it as-is looks unfinished because it is.
  • Don't add component libraries (Tailwind UI, shadcn, etc.) without considering what they bring with them. The template is small on purpose.
  • Don't recreate the blog template's three-column reading view here. If that's what you want, start from blog.