Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
694d808
feat: add native search results vertical slice
fgirolami29 Jul 29, 2026
0ad029f
fix: align Divi TypeScript dependencies
fgirolami29 Jul 29, 2026
969757e
fix: make the Divi bundle emit compatible JavaScript
fgirolami29 Jul 29, 2026
2ed5fba
fix: use Divi-native parent attribute types
fgirolami29 Jul 29, 2026
df70765
fix: type child rules against the native parent
fgirolami29 Jul 29, 2026
a046d7d
fix: guard Visual Builder edit props
fgirolami29 Jul 29, 2026
d92bdb5
fix: narrow Divi style renderer props
fgirolami29 Jul 29, 2026
a70cb3f
docs: align build instructions with the actual toolchain
fgirolami29 Jul 29, 2026
66e59a5
docs: record the Divi build compatibility fixes
fgirolami29 Jul 29, 2026
b464ce0
fix: make Divi dependency installation reproducible
fgirolami29 Jul 29, 2026
97dd18d
docs: document Divi peer dependency policy
fgirolami29 Jul 29, 2026
07ac92c
docs: record npm peer dependency policy
fgirolami29 Jul 29, 2026
157ce13
chore: add clean dependency reset command
fgirolami29 Jul 29, 2026
f3df6fe
docs: use the committed dependency reset command
fgirolami29 Jul 29, 2026
1caeac0
docs: record clean dependency reset command
fgirolami29 Jul 29, 2026
b2e0494
chore: normalize dependency reset command
fgirolami29 Jul 29, 2026
ce95e41
docs: clarify clean install command
fgirolami29 Jul 29, 2026
efc52b1
docs: align reset-install wording
fgirolami29 Jul 29, 2026
6aa89dc
docs: keep install workflow exact
fgirolami29 Jul 29, 2026
9d5afb8
docs: preserve dependency reset record
fgirolami29 Jul 29, 2026
31f08af
chore: keep reset-install script
fgirolami29 Jul 29, 2026
f310522
chore: preserve dependency reset command
fgirolami29 Jul 29, 2026
0372424
docs: retain npm peer policy
fgirolami29 Jul 29, 2026
383ead7
build: exclude local Divi references
fgirolami29 Jul 29, 2026
0779ec7
build: make dependency reset lockfile-safe
fgirolami29 Jul 29, 2026
d61e340
docs: align dependency and release workflow
fgirolami29 Jul 29, 2026
2d4d3b6
docs: record lockfile-safe build workflow
fgirolami29 Jul 29, 2026
d6e334b
build: lock validated dependency graph
fgirolami29 Jul 29, 2026
a0e651d
build: add verified VM deployment workflow
fgirolami29 Jul 29, 2026
6621021
build: expose package and VM deploy commands
fgirolami29 Jul 29, 2026
43e6318
docs: document reproducible VM deployment
fgirolami29 Jul 29, 2026
9915bb2
docs: record runtime packaging and VM deploy
fgirolami29 Jul 29, 2026
698b4ae
docs: clarify deploy validation scope
fgirolami29 Jul 29, 2026
d04d1bd
docs: record deploy verification boundary
fgirolami29 Jul 29, 2026
767d121
build: lock dependencies and enable VM deploy
fgirolami29 Jul 29, 2026
5e6d97f
fix: resolve Barbagia container from explicit Compose stack
fgirolami29 Jul 29, 2026
06ebb35
build: add explicit Barbagia deploy commands
fgirolami29 Jul 29, 2026
02942c9
docs: pin the Barbagia Compose deployment contract
fgirolami29 Jul 29, 2026
e6ec304
docs: record explicit Compose service resolution
fgirolami29 Jul 29, 2026
5851e8c
modified: bin/cc-deploy-barbagia-vm
fgirolami29 Jul 29, 2026
35d368b
fix: require key SSH and remote Docker access
fgirolami29 Jul 29, 2026
b2e7e1b
docs: record SSH and Docker deploy preflight
fgirolami29 Jul 29, 2026
b1d962b
docs: define non-interactive Barbagia deploy prerequisites
fgirolami29 Jul 29, 2026
3743cfe
feat: populate builder post type options
fgirolami29 Jul 29, 2026
9852f54
feat: expose public post types to Divi builder
fgirolami29 Jul 29, 2026
8889e5e
feat: brand modules and inject post type options
fgirolami29 Jul 29, 2026
47b2c56
ui: brand parent module preview
fgirolami29 Jul 29, 2026
0439e93
ui: show branded post type rule labels
fgirolami29 Jul 29, 2026
43a3e59
ui: label dynamic post type selector
fgirolami29 Jul 29, 2026
6f29359
docs: record dynamic post type selector
fgirolami29 Jul 29, 2026
018423e
fix: read builder data across Divi windows
fgirolami29 Jul 29, 2026
a4771d1
docs: document branded dynamic post type selector
fgirolami29 Jul 29, 2026
88dec37
Merge remote-tracking branch 'refs/remotes/origin/feat/native-search-…
fgirolami29 Jul 30, 2026
6625bad
feat: read responsive Divi field values
fgirolami29 Jul 30, 2026
2145868
feat: add presets and localized search UI
fgirolami29 Jul 30, 2026
75c7a8c
feat: expose responsive layout and AJAX options
fgirolami29 Jul 30, 2026
a4d4013
fix: localize default result CTA
fgirolami29 Jul 30, 2026
5acc659
feat: extend shortcode layout and pagination options
fgirolami29 Jul 30, 2026
72be9e5
feat: enqueue frontend pagination runtime
fgirolami29 Jul 30, 2026
498d814
feat: add progressive AJAX pagination
fgirolami29 Jul 30, 2026
b453d5a
feat: add responsive result presets and polished controls
fgirolami29 Jul 30, 2026
e8ff30c
feat: add responsive preset and pagination controls
fgirolami29 Jul 30, 2026
c9bfda6
fix: align child metadata and localized defaults
fgirolami29 Jul 30, 2026
c5c990e
feat: type responsive preset controls
fgirolami29 Jul 30, 2026
0d553b7
feat: preview selected output configuration
fgirolami29 Jul 30, 2026
ebfb394
docs: document presets and progressive pagination
fgirolami29 Jul 30, 2026
4033e59
build: validate frontend pagination runtime
fgirolami29 Jul 30, 2026
91f100d
docs: record result presentation increment
fgirolami29 Jul 30, 2026
dce3476
fix: migrate legacy default CTA label
fgirolami29 Jul 30, 2026
4252a01
docs: record legacy CTA compatibility
fgirolami29 Jul 30, 2026
3c1ea8c
docs: clarify legacy saved CTA migration
fgirolami29 Jul 30, 2026
ea001f7
fix: honor module pagination on current searches
fgirolami29 Jul 30, 2026
92e8d23
style: add polished search result presets
fgirolami29 Jul 30, 2026
93a6061
style: enqueue polished preset theme
fgirolami29 Jul 30, 2026
9310493
fix: default invalid page sizes to ten results
fgirolami29 Jul 30, 2026
98208d6
docs: record page-size and preset polish fixes
fgirolami29 Jul 30, 2026
de4aef8
docs: define module-owned pagination and polished presets
fgirolami29 Jul 30, 2026
5aa6feb
fix: bust caches for rebuilt frontend assets
fgirolami29 Jul 30, 2026
56d22a4
docs: record asset cache busting
fgirolami29 Jul 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,14 @@
.env.*
.idea/
.vscode/
.reference/
node_modules/
vendor/
build/
dist/
coverage/
modules-json/
scripts/bundle.js
styles/vb-bundle.css
*.log
*.zip
2 changes: 2 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
engine-strict=true
legacy-peer-deps=true
61 changes: 58 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,61 @@

### Added

- Open-source repository bootstrap.
- Native Divi 5 parent/child module contract.
- Shared renderer and optional-shortcode architecture.
- Native Divi 5 `codecorn/search-results` parent module metadata and server registration.
- Native `codecorn/search-result-type` child-rule metadata and server registration.
- Current-query and isolated-query resolver without global query mutation.
- Shared accessible renderer for result cards, summary, search form, pagination and empty state.
- Optional `[cc_divi5_search_results]` adapter backed by the shared resolver and renderer.
- Visual Builder TypeScript source, webpack build and responsive frontend styles.
- README documentation contract requiring code and documentation to remain synchronized in every PR.
- Explicit TypeScript validation through `npm run check:types` and aggregate validation through `npm run check`.
- Repository `.npmrc` with strict engine enforcement and deterministic handling of incompatible Divi peer ranges.
- Lockfile-safe `npm run reset-install` for rebuilding `node_modules` through `npm ci`.
- Git exclusion for local proprietary references under `.reference/`.
- Runtime-only package generation with build manifest and SHA-256 checksum.
- VM deployment workflow supporting host and Docker WordPress installations.
- Timestamped remote backups, retention pruning and automatic rollback on failed remote validation or activation.
- Composer commands `package`, `deploy:check` and `deploy`.
- Barbagia-specific Composer commands `deploy:barbagia:check` and `deploy:barbagia`.
- Dedicated Barbagia wrapper pinned to `/home/fgirolami/docker/barbagiamusei/compose.yaml` and the `wp_cron` Compose service.
- Dynamic resolution and validation of the real `wp_cron` container before remote deployment.
- Barbagia deployment preflight requiring SSH public-key authentication and direct remote Docker API access.
- Dynamic Visual Builder post-type selector populated from public WordPress post types, with labels and slugs.
- `cc_d5sr_builder_post_type_options` filter for adjusting the post types exposed by the builder selector.
- Three frontend output presets: editorial grid, compact vertical list and classic image card.
- Independent desktop, tablet and phone column controls for grid-based presets.
- Optional progressive AJAX pagination with loading state, browser history, focus restoration and classic navigation fallback.
- Frontend JavaScript syntax validation through `npm run check:frontend`.
- Custom CSS selector targets for summary, search form, results, cards, images, titles and pagination.
- A second frontend theme layer with polished panel, form, card, list and pagination presentation.
- `cc_d5sr_current_query_args` filter for the private query derived from the current search request.

### Changed

- Plugin bootstrap now supports Composer autoloading and a source-checkout fallback autoloader.
- TypeScript compiler settings now emit the Divi Visual Builder bundle and follow the compatibility settings used by the official Divi 5 example modules.
- Visual Builder attribute interfaces now use native Divi element types instead of generic unknown records.
- Visual Builder edit and style renderers now guard optional props exposed by the published Divi types.
- Development dependencies now include the transitive declarations required by the Divi 5.9.0 type packages.
- Development documentation now requires committed npm and Composer lockfiles to remain synchronized with their manifests.
- Release documentation now distinguishes ignored source-build outputs from files required in a distributable plugin archive.
- Deployment documentation now defines reproducible packaging, dry-run behavior, remote requirements, backup location and rollback guarantees.
- Generic Docker deployment documentation now distinguishes Docker container names or IDs from Compose service names.
- Barbagia deployment no longer depends on the current SSH directory or a hardcoded container name.
- Barbagia deployment now refuses password fallback and reports the remote Docker socket user, groups and permissions before any package upload.
- Documentation now records that runtime packaging passed a disposable mock-repository test while the first real VM deployment remains an integration gate.
- Visual Builder display names are now `CC Search Results` and `CC Result Type` while the saved technical module slugs remain unchanged.
- The result-type post-type control is now a select instead of a free-text slug field.
- The complete search form can be shown or hidden above the result output.
- Default frontend copy is now Italian: `Cerca`, result counts, empty state, pagination labels and `Vedi risultato`.
- Existing child modules that still contain the old exact default CTA `View result` are rendered as `Vedi risultato`; custom CTA labels are left untouched.
- Frontend presentation now styles the search form, cards, metadata, pagination, loading state, focus states and reduced-motion behavior.
- Parent and child module metadata now use the native Divi 5 `adminLabel` and `htmlAttributes` schema.
- `source=current` now derives a private query from the current WordPress search context so module post types, page size and pagination are honored without mutating `$wp_query`.
- Frontend CSS, JavaScript and Visual Builder bundles now use version-plus-filemtime cache keys during iterative deployments.

### Fixed

- The **Results per page** control is no longer ignored on real WordPress search pages or AJAX pagination requests.
- Empty or invalid page-size values now fall back to 10 instead of collapsing to one result.
- Grid column counts and result page sizes now operate independently, so a five-column layout can render the configured number of posts per page.
Loading