@homepages/sample-properties
v0.2.0
Published
Sample properties for Concrete template workspaces: self-contained property folders, each copied into a workspace's fixtures/ directory rather than depended on.
Readme
@homepages/sample-properties
Sample properties for Concrete template workspaces. Each property is a self-contained folder you copy into your workspace; you never declare this package as a dependency, so no release of it can move data under your template.
properties/<slug>/
property.ts the property: plain data in the platform's property-facts shape
media/ the files property.ts imports
README.md first line: the property's one-line description
sources.json each media file's provenance and the clearance it ships underFrom inside your workspace, npx concrete property list shows every property and
npx concrete property add <slug> copies one to fixtures/properties/<slug>/ (copying
the folder by hand gives the same result). A new workspace from
npm create @homepages/concrete already has starter. Then build a fixture on it:
// fixtures/site.fixtures.ts
import { content, defineFixture } from "@homepages/concrete/fixtures";
import { Hero } from "../sections/hero";
import { exteriorFrontShot, starter } from "./properties/starter/property";
export const home = defineFixture({
property: starter,
content: [content(Hero, { headline: "Welcome home", hero_image: exteriorFrontShot })],
});After the copy the property is yours: edit it, or write a variation as a second property beside it.
The properties
index.json lists every property with its description, type, listing intent and counts.
| Slug | What it is |
|---|---|
| starter | A small, generic single-family home for sale with one of every fact and media kind. |
| family-home | A 1912 stone family home for sale in Doylestown, Pennsylvania, with every media kind a single-property template draws on. |
| bare-listing | A bare single-family listing in Richfield, Minnesota: a few photos, one sentence and a solo agent. |
| new-building | An eleven-residence new building for sale in Nashville with per-unit floor plans, sold and reserved units, and comparables. |
| city-condo | A one-bedroom Seattle condo for rent with a Vimeo link, a 3D tour and rental comparables. |
| rental-building | An eight-unit vintage walk-up for rent in Logan Square, Chicago, with monthly rents, leased units, per-unit floor plans and rental comparables. |
Every property but starter sits in a real place with an invented listing, and mirrors
how the platform stores each value: a pasted video, a tour, a thumbnail and a
comparable's photo are URLs to their provider, and every upload is a file in the folder.
A property carries facts only: what a user uploads or the platform extracts. Unit copy, points of interest and amenities are fill output, so a fixture states them in its content entries.
Media rights
Every media file has a row in its folder's sources.json; every provenance a row names
is cleared in clearances.json. See LICENSE.
