• Joined on 2024-06-08

@flan/business-website (1.1.0)

Published 2026-08-29 17:49:57 -04:00 by flan

Installation

@flan:registry=https://git.arch.fyi/api/packages/flan/npm/
npm install @flan/business-website@1.1.0
"@flan/business-website": "1.1.0"

About this package

Shared Astro shell and responsive presentation primitives for small business websites.

Business Website Module

A private, versioned Astro package for local service and professional business websites. It shares the responsive whitespace, shell, components, and configuration contract used by the Castles & Cottages and InTown sites without coupling business facts, branding, forms, hosts, or secrets.

Package API

---
import BusinessLayout from '@flan/business-website/layout';
import PageHeader from '@flan/business-website/page-header';
import type { SiteConfig } from '@flan/business-website/types';
import { site } from '../config/site';
---

<BusinessLayout site={site} title={`Services | ${site.name}`}>
	<PageHeader title="Services for" emphasis="real needs." />
</BusinessLayout>

The package imports its own global CSS through BusinessLayout; consumers can also import @flan/business-website/styles.css when they need the presentation primitives without the shell. BusinessLayout accepts optional named head, brand, and footer slots for site-owned fonts, favicon metadata, wordmarks, and footer contact details.

Start A Site

  1. Create an Astro site repository and add @flan/business-website from the Gitea npm registry.
  2. Copy the structure from examples/starter/, not its example business claims.
  3. Add verified facts, palette, navigation, services, work, and contact details to that site's src/config/site.ts.
  4. Add documented images under the site's public/ directory and publish work only with approval.
  5. Add forms, secrets, headers, and deployment configuration in the consumer site only.
  6. Run the consumer's check and build commands before deployment.

Shared Versus Site-Specific

Shared in this module:

  • Responsive layout containment and mobile navigation repairs.
  • Accessible page structure, focus states, descriptive metadata, and a contact-details page.
  • Reusable BusinessLayout, PageHeader, and ContactDetails components.
  • A typed site configuration contract and theme variables.

Site-specific by design and retained in consumer repositories:

  • Business facts, services, rates, portfolio entries, imagery, and color palette.
  • Form delivery, spam controls, secrets, security headers, and server runtime.
  • Dockerfiles, provider deployment configuration, DNS, health checks, and monitoring.

Example And Verification

examples/starter/ is a static Astro consumer that exercises the package with explicitly illustrative content. It is not published with the package.

Run all verification from this repository:

npm install --no-audit --no-fund
npm run check
npm run build
npm run pack:check

Publishing

The package publishes to the private Gitea npm registry under the @flan scope. Publishing requires a Gitea token with package-write scope configured locally; do not commit it. Publish a SemVer version only after npm run publish:check passes.

Dependencies

Development Dependencies

ID Version
@astrojs/check ^0.9.10
astro ^7.2.9
typescript ^6.0.3

Peer Dependencies

ID Version
astro ^7.0.0
Details
npm
2026-08-29 17:49:57 -04:00
1
UNLICENSED
latest
5.2 KiB
Assets (1)
Versions (1) View all
1.1.0 2026-08-29