Skip to content

feat: add WebUI Press content mode - #525

Open
Mohamed Mansour (mohamedmansour) wants to merge 3 commits into
mohamedmansour/plugin-aware-discoveryfrom
mohamedmansour/webui-press-content-mode
Open

feat: add WebUI Press content mode#525
Mohamed Mansour (mohamedmansour) wants to merge 3 commits into
mohamedmansour/plugin-aware-discoveryfrom
mohamedmansour/webui-press-content-mode

Conversation

@mohamedmansour

Copy link
Copy Markdown
Contributor

Component galleries need a shell-free documentation view without losing server-rendered examples or hydration. This adds that presentation to native WebUI Press while preserving the complete site as the default.

Changes

  • Add typed --show=all|content support to build and serve, retaining explicit overrides through config reloads.
  • Omit shell markup, scripts, and layout offsets before compilation while preserving metadata, authored examples, page modules, SSR, and hydration across home/custom/404 layouts.
  • Separate shared content styling from shell layout. Manual full-site themes apply to native tokens and controls; content mode follows live OS preferences without applying the saved shell selection, and forced colors keep precedence.
  • Correct config-relative aliases, preserve parser error chains, and synchronize concurrent cold embedded-asset extraction.

Validation

  • Standalone cargo xtask check on the dependent layer.
  • Press browser coverage for content/all output, no-JS SSR, same-node hydration, reloads, native themes, OS changes, forced colors, and existing shell behavior.

Depends on #524. Plugin-aware component discovery is supplied by that base PR and is excluded from this review diff.

Generate shell-free documentation while preserving SSR and hydration, keep content themes system-driven, and retain explicit mode overrides through serve reloads. Correct Press alias resolution, parser diagnostics, and cold asset extraction.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The new cross-process extraction lock lacks a deterministic concurrency regression test.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds a shell-free WebUI Press content mode while preserving full-site behavior, SSR, hydration, theming, and configuration overrides.

Changes:

  • Adds typed --show=all|content support for build and serve.
  • Introduces content-only templates/styles with comprehensive browser coverage.
  • Improves alias resolution, diagnostic chaining, and embedded-asset synchronization.
File summaries
File Description
DESIGN.md Specifies content-mode behavior and contracts.
docs/ai.md Updates AI-facing Press guidance.
docs/guide/cli/index.md Documents the new CLI option.
docs/guide/webui-press.md Documents content-only sites.
crates/webui-press/README.md Updates package usage and behavior.
crates/webui-press/src/build.rs Selects templates, CSS, scripts, and diagnostics by mode.
crates/webui-press/src/bundler.rs Resolves aliases from an absolute config directory.
crates/webui-press/src/content.rs Renders home Markdown in content mode.
crates/webui-press/src/lib.rs Exports ShowMode.
crates/webui-press/src/main.rs Adds CLI flags and asset-cache locking.
crates/webui-press/src/serve.rs Preserves CLI overrides across reloads.
crates/webui-press/src/state.rs Initializes the new config field.
crates/webui-press/src/types.rs Defines and validates ShowMode.
crates/webui-press/template/content.html Adds the shell-free document scaffold.
crates/webui-press/template/docs.css Retains shared content styling.
crates/webui-press/template/index.html Refines manual and forced-color theming.
crates/webui-press/template/shell.css Isolates full-site layout styling.
crates/webui-press/tests/native-fixture.ts Adds reusable native test fixtures.
crates/webui-press/tests/regions_build.rs Tests region suppression and error chains.
crates/webui-press/tests/show-mode.test.ts Tests rendering, hydration, and reload behavior.
crates/webui-press/tests/theme-mode.test.ts Tests theme and forced-color behavior.
Review details
  • Files reviewed: 21/21 changed files
  • Comments generated: 1
  • Review effort level: Balanced

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread crates/webui-press/src/main.rs
Coordinate two cold extraction processes in an isolated cache, assert OS lock contention and complete shared assets, and guard against repeated staging after the lock is acquired.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: bf3fdbed-b6e0-4b3e-8b29-667f44831c4e
Keep the dependent Press layer current and place its content-mode guidance beneath the Press heading, separate from general component discovery.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: bf3fdbed-b6e0-4b3e-8b29-667f44831c4e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants