Skip to content

Customization

Last updated

Upstream does not edit these three places after a release:

  1. Admin settings (Site settings). See Configuration and Theming.
  2. bordful.config.ts. See Configuration.
  3. src/custom/**.

Everything else may change in an upstream release. Keep your edits inside these three so git merge stays small. See Upgrading.

Slot registry

src/custom/index.ts exports customSlots. Slots:

SlotWhen it renders
headerReplaces the default site header.
footerReplaces the default site footer.
job-card-extraExtra content on a job card. It renders above the card link, so its own links and buttons stay clickable.

A missing slot keeps the default UI. Minimal registration:

tsx
import type { ComponentType } from "react";

import type { SlotId } from "@/config/slots";

function ExampleJobNote() {
  return <p>From Example Board</p>;
}

export const customSlots: Partial<Record<SlotId, ComponentType>> = {
  "job-card-extra": ExampleJobNote,
};

Do not add dependencies for a slot. Use the components already in the repo, or plain elements.