@supersite/listing-core
v0.1.0
Published
Core runtime, routes, renderer, and Astro integration for listing sites.
Readme
@supersite/listing-core
Core runtime package for listing sites.
This package contains the shared runtime, route injection, page entrypoints, renderers, layouts, API handlers, and common components for listing sites.
import listingCore from '@supersite/listing-core/astro'
export { onRequest } from '@supersite/listing-core/middleware'Current Status
Implemented public entrypoints:
@supersite/listing-core@supersite/listing-core/api@supersite/listing-core/article-routes@supersite/listing-core/astro@supersite/listing-core/auth@supersite/listing-core/asset-sync@supersite/listing-core/badge-svg@supersite/listing-core/cms-page@supersite/listing-core/comments@supersite/listing-core/config@supersite/listing-core/content@supersite/listing-core/debug-domain@supersite/listing-core/design-tokens@supersite/listing-core/file-store@supersite/listing-core/i18n@supersite/listing-core/markdown@supersite/listing-core/messages@supersite/listing-core/middleware@supersite/listing-core/minify-inline@supersite/listing-core/pagination@supersite/listing-core/pagination-i18n@supersite/listing-core/pages/*@supersite/listing-core/project-icons@supersite/listing-core/project-routes@supersite/listing-core/project-submit@supersite/listing-core/renderer@supersite/listing-core/route-manifest@supersite/listing-core/routes@supersite/listing-core/runtime@supersite/listing-core/runtime-paths@supersite/listing-core/seo@supersite/listing-core/types@supersite/listing-core/utils
The package also exports @supersite/listing-core/styles/* for site shells
that need a custom Tailwind entry file.
Still outside this package:
- Site-specific content files.
- Site-specific public uploads.
- Site-specific local component registry exposed as
@listing/local-components.
Theme values are site-specific. Each site can customize content/theme.json
with builder_theme.colors, builder_theme.fontFamily,
builder_theme.borderRadius, and optional custom_css.
Example:
{
"builder_theme": {
"fontFamily": {
"heading": "Inter",
"body": "Inter"
},
"borderRadius": "8px",
"colors": {
"background": ["#f9f9f9", "#111111"],
"foreground": ["#202020", "#eeeeee"],
"primary": ["#006c49", "#ffe0c2"],
"primary-foreground": ["#ffffff", "#081a1b"],
"border": ["#eaeaea", "#201e18"]
}
},
"custom_css": ".article-content a { text-decoration-thickness: 1px; }"
}builder_theme drives the shared CSS variables. custom_css is injected after
those variables and before per-page inline styles, so it is the right place for
site-specific visual overrides that should survive core package upgrades.
If a site needs its own Tailwind entry file, import the core stylesheet through the package export:
@import "@supersite/listing-core/styles/globals.css";middleware is an Astro runtime export and should be imported by Astro/Vite,
not plain Node.
Next Migration Steps
- Publish/version the package instead of using a local
file:dependency. - Use
runtime/listing-site-templateto build the shared production app at/home/wwwroot/listing/app/current. - Keep each site instance limited to content, public assets, env, and logs.
- Upgrade production by publishing a new core package version, running
listing-deploy-service/scripts/install-listing-app.sh, and reloading the affected PM2 site processes.
