@ciderpress/ui
1.0.0-rc.3
Minor Changes
-
f71d7f4: Fix: the navbar fallback no longer overrides the auto-generated
/logo.svgwith the hardcoded<CiderpressLogo />wordmark. Whenlogois omitted, the nav now shows the SVG written to the public dir by the banner module (derived fromtitle). Sites that committed their ownpublic/logo.svgalready won this round; sites that didn't were silently getting the ciderpress wordmark.The themed wordmark is still available as an opt-in:
New: two top-level config fields for overriding auto-generated asset paths.
banner?: string— hero image used on the home page and workspace landing pages. Defaults to/banner.svg.favicon?: string— favicon path. Defaults to/icon.svg. Distinct fromicon(the Iconify id for the inline topbar mark).
Auto-generation and the
<!-- ciderpress-generated -->marker still carry the default case — these fields are only needed to point at a different filename or a CDN URL.
Patch Changes
- Updated dependencies [f71d7f4]
- @ciderpress/config@1.0.0-rc.3
1.0.0-rc.2
Patch Changes
-
e4d81aa: Test/exercise the CI release pipeline.
No code changes — this changeset only exists to force the changesets bot to open a release PR, validate that the GitHub Actions workflow can publish via npm trusted publishing (no
NPM_TOKEN, OIDC-only withid-token: write+NPM_CONFIG_PROVENANCE: true), and confirm provenance attestations land on the resulting1.0.0-rc.2releases. Following the local bootstrap publish of1.0.0-rc.1, this is the first CI-driven cut. -
Updated dependencies [e4d81aa]
- @ciderpress/config@1.0.0-rc.2
- @ciderpress/theme@1.0.0-rc.2
1.0.0-rc.1
Major Changes
-
0a651df: Rename to
ciderpress. The project moved to thethebytefarmorg and the kit now lives at the unscopedciderpresspackage name (replacing@zpress/kit).Consumer migration:
@zpress/cli→@ciderpress/cli@zpress/config→@ciderpress/config@zpress/ui→@ciderpress/ui@zpress/theme→@ciderpress/theme@zpress/templates→@ciderpress/templates@zpress/kit→ciderpress(unscoped)zpress.config.ts→ciderpress.config.ts- Window globals:
__ZPRESS_*__→__CIDERPRESS_*__ - CSS vars:
--zp-*→--cp-*
The
@zpress/*packages are not republished —@ciderpress/*starts fresh at this version. Tagline: press your docs.
Patch Changes
- Updated dependencies [0a651df]
- @ciderpress/config@1.0.0-rc.1
- @ciderpress/theme@1.0.0-rc.1
1.0.0-rc.0
Major Changes
-
ciderpress 1.0 — release candidate
This is a major release that locks the v1 public API. Headline changes:
Theme system
- Renamed the built-in
basetheme tohoneycrisp(apple red, the canonical brand theme) and addedgrannysmith(apple green) as a second apple-themed default. Both ship withdarkandlightvariants; the sun/moon toggle swaps between them. The legacy slug'default'aliases to'honeycrisp'viaTHEME_ALIASESfor backward compatibility. The full built-in roster is nowhoneycrisp,grannysmith,midnight, andarcade. - Replaced
theme.colorModewiththeme.variant(values:'dark' | 'light'). The'toggle'value is no longer supported — themes that declare both variants always show the toggle; themes that declare one hide it. defineTheme()input shape changed from{ name, tokens, modes, defaultMode }to{ name, variants: { dark?, light? }, defaultVariant? }. The factory validates the envelope before parsing token trees so error messages now point at the offending input field.ciderpressand@ciderpress/configno longer re-exportColorMode,ThemeMode,COLOR_MODES, orresolveDefaultColorMode. UseThemeVariant,THEME_VARIANTS, andresolveDefaultVariantfrom@ciderpress/theme. The deprecated aliases remain in@ciderpress/themeitself for one-version migration safety.
Config surface
Frontmatteris now strict — unknown keys are rejected at config load and produce a typed compile-time error. On-disk markdown frontmatter is unaffected (gray-matter never typed it asFrontmatter).- Renamed
WorkspaceCategory→WorkspaceGroup. Theconfig.workspacesfield name is unchanged. - Every field on
CiderpressConfigand its sub-types now has solid JSDoc that propagates to IDE hover docs. - Tightened the CLI
--color-modeschema fromstringtoenum('dark', 'light').
Dependency hygiene
- Removed
gray-matter(last released 2021, drags in the abandonedjs-yaml@3line with known prototype-pollution CVEs). Replaced with a ~25-lineparse/stringifyhelper built onyaml(eemeli/yaml). - Removed unused
js-yamland@types/js-yamldirect deps from@ciderpress/cli.
Fixes
safe-url.tsregex is now stored with�- escape sequences instead of raw control bytes. Git no longer marks the file as binary; editors render it correctly.- Deleted orphaned
packages/ui/src/head/js/color-mode-{dark,light}.js. - Hardened variant resolution across the head IIFE, theme provider, and theme switcher with cross-reference comments and a re-entrancy guard on the MutationObserver snap-back.
Migration
- Renamed the built-in
Patch Changes
- Updated dependencies
- @ciderpress/config@1.0.0-rc.0
- @ciderpress/theme@1.0.0-rc.0
0.9.1
Patch Changes
- f26cf74: fix: resolve SWC decorator panic by upgrading rsbuild to 2.0.0-rc.1
- Updated dependencies [ca4f487]
- Updated dependencies [f26cf74]
- @ciderpress/core@0.11.0
- @ciderpress/config@0.5.2
0.9.0
Minor Changes
- 4c04f9d: Add MDX content components for doc-platform parity: Accordion, AccordionGroup, Columns, Column, StatusBadge, Frame, Tooltip, Prompt, and Color. Reorganize theme barrel with public API sections and @internal annotations on framework exports.
Patch Changes
-
c9a2cc8: perf: reduce @ciderpress/ui bundle from 15MB to 767KB by externalizing ts-morph
fix: close Rspress dev server on quit (no more double ctrl+c / blank screen)
0.8.13
Patch Changes
-
ffed994: fix(packages/ui,packages/cli,packages/ciderpress): resolve duplicate React instances in consumer repos
Added
reactandreact-domresolve aliases to the Rspress builder config so rspack always uses the consumer's single React copy. Movedreactfrom direct dependencies to peer dependencies in@ciderpress/clito prevent pnpm from installing a private copy. Aligned React peer version range inciderpressto^19.2.5.
0.8.12
Patch Changes
- 81d5928: upgrade dependencies to latest
- Updated dependencies [81d5928]
- @ciderpress/core@0.10.2
0.8.11
Patch Changes
-
d25fea5: Fix standalone sidebar scoping and package label deduplication
- Fix sidebar scope filtering using URL pathname instead of file path for scope matching
- Fix
_meta.jsondeduplication preferring section labels over leaf labels when both share the same name
-
7a39840: upgrade dependencies to latest
-
Updated dependencies [d25fea5]
- @ciderpress/core@0.10.1
0.8.10
Patch Changes
- Updated dependencies [c169109]
- Updated dependencies [c169109]
- @ciderpress/core@0.10.0
0.8.9
Patch Changes
- Updated dependencies [7a5954f]
- @ciderpress/core@0.9.0
0.8.8
Patch Changes
- 0113fb1: Hide branch tag badge on
masterin addition tomainso repos using either default branch name don't show the tag in production. - Updated dependencies [e3b8c86]
- Updated dependencies [1e966e1]
- @ciderpress/core@0.8.1
- @ciderpress/config@0.5.1
0.8.7
Patch Changes
- b912b2d: Update and add READMEs
- Updated dependencies [9b5099b]
- Updated dependencies [9b5099b]
- Updated dependencies [b912b2d]
- @ciderpress/core@0.8.0
- @ciderpress/config@0.5.0
- @ciderpress/theme@0.3.2
0.8.6
Patch Changes
- Updated dependencies [9388cce]
- @ciderpress/core@0.7.5
0.8.5
Patch Changes
- Updated dependencies [4179cee]
- @ciderpress/core@0.7.4
0.8.4
Patch Changes
- 56862d1: Fix missing FileTree component by pinning rspress-plugin-file-tree to 1.0.3 and copying its component files into the published dist
0.8.3
Patch Changes
- Updated dependencies [71af7e9]
- @ciderpress/core@0.7.3
0.8.2
Patch Changes
- Updated dependencies [3f36be0]
- @ciderpress/core@0.7.2
0.8.1
Patch Changes
- 03f1229: Bundle rspress-plugin-{devkit,file-tree,katex,supersub} into UI output instead of externalizing them, fixing ERR_MODULE_NOT_FOUND on Node.js 24 caused by extensionless ESM imports in plugin dist files
0.8.0
Minor Changes
- d8cf9b2: Add Rspress rendering plugins for mermaid diagrams, file trees, superscript/subscript, and KaTeX math formulas
- 179ae48: Add sidebar button variants (style/shape), site footer with social links toggle, client-side navigation via Link, typed IconId, and ESM compatibility patches for rspress plugins
Patch Changes
- 8a125b8: Fix all lint errors and warnings: replace ternaries with ts-pattern match, add curly braces to single-line ifs, convert arrow function components to declarations, use replaceAll over replace with global flag, fix single-line JSDoc blocks, eliminate let/accumulating-spread, and suppress intentional lint exceptions
- Updated dependencies [62248ba]
- Updated dependencies [8a125b8]
- Updated dependencies [179ae48]
- @ciderpress/config@0.4.0
- @ciderpress/core@0.7.1
0.7.0
Minor Changes
- 77796f1: Auto-generate section landing pages with SectionCard grids for all section groups with children. Fix sidebar group names, duplicate entries, and missing pages for auto-derived links. Redesign SectionCard with compact icon+title row and optional description. Remove all
&&chains from scripts in favor of turbo task dependencies and pnpm lifecycle hooks. - 429846c: Add OpenAPI documentation support with auto-generated API reference pages from OpenAPI specs, interactive UI components (schema viewer, code examples in 6 languages, collapsible responses), workspace-scoped sidebar merging, and Copy Markdown functionality.
Patch Changes
-
3e7a28a: Enforce consistent file structure conventions across all packages and upgrade dependencies to latest versions.
File Structure
Apply a standardized file layout pattern to every source file in the monorepo:
- Exports first: All exported functions, constants, and types appear at the top of each file immediately after imports.
- Private separator: Non-exported (private) helper functions are placed below a
// --- Private ---section separator comment. - Complete JSDoc: Every function now has full JSDoc documentation including
@paramand@returnstags. Non-exported helpers include the@privatetag. - Spacing cleanup: Removed inconsistent double blank lines between declarations across all packages.
Test Colocation
Moved all test files from
packages/*/test/directories to sit alongside their source files inpackages/*/src/:packages/cli/test/→packages/cli/src/lib/packages/config/test/→packages/config/src/packages/core/test/→packages/core/src/(includingsync/andsync/sidebar/subdirectories)packages/templates/test/→packages/templates/src/packages/theme/test/→packages/theme/src/packages/ui/test/→packages/ui/src/
Standards
Updated
.claude/rules/typescript.mdto codify the file structure conventions so all future code follows the same pattern.Dependency Upgrades
oxlint1.55.0 → 1.56.0oxfmt0.40.0 → 0.41.0@kidd-cli/core0.4.0 → 0.7.0c124.0.0-beta.3 → 4.0.0-beta.4laufen1.1.0 → 1.2.1@iconify-json/material-icon-theme1.2.55 → 1.2.56@iconify-json/simple-icons1.2.73 → 1.2.74
-
Updated dependencies [77796f1]
-
Updated dependencies [429846c]
-
Updated dependencies [3e7a28a]
- @ciderpress/core@0.7.0
- @ciderpress/config@0.3.0
- @ciderpress/theme@0.3.1
0.6.1
Patch Changes
- 77e872e: Fix appearance toggle not hiding for single-mode themes by using correct Rspress class selectors
0.6.0
Minor Changes
- c57ab70: Add per-theme
modessupport to declare supported color modes (dark, light, or both) and hide the appearance toggle for single-mode themes like arcade and midnight
Patch Changes
- 1b3b8e3: Add vitest test infrastructure and 122 unit tests across all packages
- Updated dependencies [1b3b8e3]
- Updated dependencies [c57ab70]
- @ciderpress/theme@0.3.0
- @ciderpress/config@0.2.2
- @ciderpress/core@0.6.2
0.5.1
Patch Changes
- 6df5ab7: fix(packages/core): map nav items with
textinstead oftitlefor Rspress compatibility fix(packages/ui): inject critical CSS via Rsbuildhtml.tagsso loading screen works in dev mode fix(packages/ui): re-enabledata-cp-readydismiss flag in ThemeProvider fix(packages/ui): replace pong/invaders loaders with simple dots loader fix(packages/theme): removearcade-fxas standalone theme (effects already apply with arcade) - Updated dependencies [6df5ab7]
- @ciderpress/config@0.2.1
- @ciderpress/core@0.6.1
- @ciderpress/theme@0.2.1
0.5.0
Minor Changes
-
1361d59: # Comprehensive Config API Refactor
Major breaking changes to the ciderpress configuration API for better consistency and clarity.
Breaking Changes
Type System Refactor
BREAKING: The type hierarchy has been restructured with a new base type:
- New
Entrybase type: Introduced with common fields (title,icon,description) that all config types now extend - Old
Entrytype renamed toSection: The previousEntrytype (representing a section/page node) is now calledSectionfor clearer semantics. No backward compatibility alias - the nameEntryis now used for the new base type. WorkspaceItem→Workspace: Renamed for consistency (backward compatible alias maintained)WorkspaceGroup→WorkspaceCategory: More descriptive name (backward compatible alias maintained)
All config types now extend the new
Entrybase:Workspace Field Changes
path→prefix: Renamed for consistency withSection.prefixname→titleonWorkspaceCategory: All types now usetitleconsistentlyDiscovery Configuration
Workspace items now use a
discoveryfield to configure content auto-discovery, eliminating duplication with Section fields:Note: The
fromfield indiscoveryis relative to the workspace's base path (derived fromprefix). For example,prefix: "/apps/api"+discovery.from: "docs/*.md"resolves toapps/api/docs/*.md(repo-root relative).Title Derivation Default Changed
Default
titleFromchanged from'filename'to'auto'The
'auto'strategy uses a smart fallback chain:- Try frontmatter
titlefield - Fall back to first
# heading - Fall back to filename (kebab-to-title)
This is more intuitive and matches user expectations. If you relied on
'filename'behavior, explicitly settitleFrom: 'filename'.New TitleConfig Type
You can now use an object for the
titlefield to configure derivation and transformation:This is available on all types that extend
Entry.New Features
Discovery Configuration Type
The new
Discoverytype (withRecursiveDiscoveryConfigandFlatDiscoveryConfigvariants) provides proper typing for content discovery configuration:Enhanced Icon Documentation
Icon colors are now fully documented in types with the 8-color palette rotation:
- purple (default)
- blue
- green
- amber
- cyan
- red
- pink
- slate
Migration Guide
Automated Find/Replace
-
Update workspace field names:
-
Update workspace group names:
-
Update type imports (if using types directly):
Manual Updates
-
Migrate workspace discovery configuration (optional but recommended):
-
Verify title derivation behavior: If you have sections with
titleFrom: 'filename'and markdown files with frontmatter or headings, the default'auto'mode will now use those instead of the filename. To preserve old behavior, explicitly settitleFrom: 'filename'.
Backward Compatibility
- Old type names (
Entry,WorkspaceItem,WorkspaceGroup) are re-exported as aliases - Old field names on
Section(titleFrom,titleTransform) still work alongside the newTitleConfigapproach - No immediate action required, but migrating to new API is recommended
Documentation
See updated guides:
- Workspaces - New
prefixanddiscoveryfields - Auto-Discovery - New
'auto'titleFrom mode andTitleConfig - Configuration Reference - Full field reference
- New
Patch Changes
-
2055c1a: New Packages: @ciderpress/theme and @ciderpress/config
This release introduces two new packages that refactor configuration and theme management:
@ciderpress/theme - Theme definitions and utilities
- Type-safe theme definitions with
LiteralUnionpattern for autocomplete + extensibility - Built-in themes:
base,midnight,arcade,arcade-fx - Icon color types with autocomplete support
- Zod schemas for theme validation
- Utility functions:
resolveDefaultColorMode,isBuiltInTheme,isBuiltInIconColor
@ciderpress/config - Configuration loading and validation
- Multi-format config support:
.ts,.js,.json,.jsonc,.yml,.yaml - Type-safe
defineConfighelper loadConfigfunction with Result-based error handling- Zod schemas for complete config validation
- JSON Schema generation for IDE autocomplete (
@ciderpress/config/schema) - Re-exports theme utilities for convenience
@ciderpress/core - Internal refactoring
- Removed direct
c12dependency - Now re-exports config and theme utilities from
@ciderpress/config - Public API remains backwards compatible
- Added new exports:
ICON_COLORS,ConfigErrorType,LoadConfigOptions
@ciderpress/ui - Dependency updates
- Removed
@ciderpress/coredependency for config types - Now uses
@ciderpress/configand@ciderpress/themedirectly - Added support for custom themes with fallback to 'toggle' color mode
- Fixed: Added
arcade-fxtheme to theme switcher
Migration Guide
For most users, this is a drop-in replacement with no migration needed. All existing imports from
@ciderpress/corecontinue to work.If you were importing from internal paths, update as follows:
JSON/YAML Config Support
You can now use JSON or YAML config files with IDE autocomplete:
Custom Themes
The
ThemeNametype now supports custom theme names with autocomplete for built-ins: - Type-safe theme definitions with
-
941550c: Add VS Code mode improvements: hide mobile navigation elements and scope all VS Code overrides to
html[data-ciderpress-env="vscode"]selector for cleaner CSS without !important rules. -
Updated dependencies [2055c1a]
-
Updated dependencies [3cf8dc0]
-
Updated dependencies [1361d59]
- @ciderpress/theme@0.2.0
- @ciderpress/config@0.2.0
- @ciderpress/core@0.6.0
0.4.1
Patch Changes
- 2f01fa4: Add VS Code extension with dev server management, sidebar navigation, CodeLens, and in-editor preview. Harden CSP with origin-scoped frame-src and crypto nonce, add restart command, rename openInBrowser to preview, validate openPage origin, theme webview with VS Code CSS variables, cap stdout buffer, and add extensionKind for remote dev. Persist VS Code environment mode via sessionStorage and clean up dataset attribute on unmount in @ciderpress/ui layout.
0.4.0
Minor Changes
- 7255aa3: Add built-in theme support with three color palettes (base, midnight, arcade), configurable color mode, user color overrides, and an optional theme switcher dropdown in the navbar
Patch Changes
- Updated dependencies [7255aa3]
- @ciderpress/core@0.5.0
0.3.1
Patch Changes
-
83cc277: Add
ciderpress checkcommand for config validation and deadlink detectionIntroduces a standalone
checkcommand that validates the ciderpress config and detects broken internal links by running a silent Rspress build. Thebuildcommand now includes checks by default (--checkflag, opt out with--no-check). Config validation is moved fromdefineConfig(which was callingprocess.exit) intoloadConfig, returning structuredResulttuples so the CLI can present friendly error messages. -
Updated dependencies [83cc277]
-
Updated dependencies [d1e2b76]
- @ciderpress/core@0.4.0
0.3.0
Minor Changes
- 37c2ec6: Enable clean URLs and remove sidebar icon concept
- Enable
route.cleanUrlsin Rspress config so prod builds produce clean URLs (e.g./guides/fooinstead of/guides/foo.html) - Remove
Entry.icon,NavItem.icon,SidebarItem.icon, and all icon-map threading through sidebar/nav generation - Remove
validateNav/validateNavItemandmissing_nav_iconerror type - Icons on
CardConfig,WorkspaceItem,WorkspaceGroup, andFeatureare unchanged
- Enable
Patch Changes
-
aea7b38: Fix branch tag rendering in navbar on home page
- Replace
globalUIComponents+ DOM manipulation with RspressbeforeNavMenulayout slot - Add custom
Layoutoverride that injectsBranchTagvia the slot prop - Remove
useEffect/useRefDOM relocation fromBranchTag, making it a pure render component
- Replace
-
d1b4ad5: Fix mobile layout issues on home page
- Add horizontal padding to feature grid, workspace section, and card divider so cards don't touch screen edges
- Override hero image
max-widthfrom50vwto90vwon mobile for full-width display - Add
padding-bottomto hero when layout wraps at 1000px breakpoint - Reduce hero container gap to
8pxon mobile - Scale down hero title, subtitle, and tagline font sizes for mobile
- Add horizontal padding to hero content on mobile
- Reduce hero actions gap from
1.5remto1.25rem - Fix hero container gap override to target correct class (
__containerinstead of root)
-
Updated dependencies [37c2ec6]
- @ciderpress/core@0.3.0
0.2.2
Patch Changes
- f4d5388: Move
@iconify-json/logos,@iconify-json/material-icon-theme, and@iconify-json/vscode-iconsfrom devDependencies to dependencies so icons resolve correctly at runtime.
0.2.1
Patch Changes
-
2e43a80: Add README files to all packages and update license copyright to Joggr, Inc.
-
2e43a80: Fix type exports and dependency declarations
- Generate bundled
.d.tsdeclaration files via Rslibdts.bundle(previously no declaration files were emitted) - Point
exports.typesto generateddist/*.d.tsinstead of raw source files - Move
react,react-dom, and@rspress/coretopeerDependenciesin@ciderpress/ui - Surface
react,react-dom, and@rspress/coreaspeerDependenciesinciderpress - Centralize shared dependency versions via pnpm catalog
- Bump
@kidd-cli/coreto^0.4.0in@ciderpress/cli
- Generate bundled
-
Updated dependencies [2e43a80]
-
Updated dependencies [2e43a80]
- @ciderpress/core@0.2.1
0.2.0
Minor Changes
-
77adac6: Auto-generate favicon icon from project title and support custom icon via config
The favicon is now auto-generated from the first letter of the project title using FIGlet ASCII art on a dark rounded square, matching the existing banner and logo generation system. Users can override the icon path via the new
iconfield inCiderpressConfig.
Patch Changes
- Updated dependencies [77adac6]
- @ciderpress/core@0.2.0
0.1.0
Minor Changes
-
04d2e2b: Initial release
Rspress plugin and theme with Catppuccin-themed UI, workspace cards, section grids, sidebar icons via Iconify, technology tag mappings, and custom font integration (Geist Sans, Geist Mono, Geist Pixel).