Careers page
Open roles listing at /careers — powered by the JobsList component, grouped by department.
The careers sub-page renders a list of open roles at /careers using the JobsList component from @publier/shell. Roles are grouped by department in first-seen order.
Enable / disable
pages: careers: true # false to suppress /careersStarter implementation
The company-site template scaffolds src/pages/careers.astro:
---import { JobsList } from '@publier/shell/components';import BaseLayout from '@publier/shell/layouts/base-layout.astro';---
<BaseLayout title="Careers — My Company" description="Help us build the infrastructure of tomorrow."> <main class="max-w-3xl mx-auto my-12 px-6 prose"> <h1>Careers</h1> <p> We hire for curiosity, clarity, and kindness. Full-time, remote-first, with quarterly on-sites in different cities. </p> <JobsList heading="Open roles" jobs={[ { title: 'Senior Software Engineer, Platform', department: 'Engineering', location: 'Remote (US/EU)', type: 'Full-time', }, { title: 'Developer Relations', department: 'Engineering', location: 'Remote', type: 'Full-time', }, { title: 'Product Designer', department: 'Design', location: 'Remote (US/EU)', type: 'Full-time', }, ]} /> </main></BaseLayout>Empty state
When there are no open roles, pass an empty jobs array. JobsList shows a configurable message:
<JobsList heading="Open roles" emptyMessage="We're not hiring right now — check back soon." jobs={[]}/>See JobsList for the full prop reference.