From 6a3bf2c68412649f32af4e768f2e760fb4c80f4f Mon Sep 17 00:00:00 2001 From: "homeboy-ci[bot]" <266378653+homeboy-ci[bot]@users.noreply.github.com> Date: Sat, 25 Apr 2026 21:47:31 +0000 Subject: [PATCH] docs: fix broken refs and rewrite stale handler docs - eventbrite/ics/prekindle: rewrite as deprecation notices pointing to WebScraper extractors - pagination: Calendar_Query.php -> PageBoundary + CalendarAbilities - calendar-block: .js -> .ts, add day-loader/geo-sync/lazy-render modules, fix Template_Loader path - universal-web-scraper: add all 35 extractors to directory section and supported sources --- docs/calendar-block.md | 22 ++-- docs/eventbrite-handler.md | 103 +++------------ docs/ics-calendar-handler.md | 173 ++++---------------------- docs/pagination-system.md | 33 +++-- docs/prekindle-handler.md | 101 ++++----------- docs/universal-web-scraper-handler.md | 60 +++++++-- 6 files changed, 144 insertions(+), 348 deletions(-) diff --git a/docs/calendar-block.md b/docs/calendar-block.md index 8827be5..4e51e88 100644 --- a/docs/calendar-block.md +++ b/docs/calendar-block.md @@ -11,8 +11,8 @@ The Calendar block renders a Carousel List of events with progressive enhancemen ## Server Templates & Helpers -- `event-item.php`, `date-group.php`, `navigation.php`, `pagination.php`, `results-counter.php`, `no-events.php`, `filter-bar.php`, `time-gap-separator.php`, and `modal/taxonomy-filter.php` live under `inc/Blocks/Calendar/templates` and are orchestrated by `inc/Core/Template_Loader`. -- `inc/Core/Taxonomy_Helper` builds hierarchical term data and counts for each template, while `Taxonomy_Badges` renders badge markup that respects `data_machine_events_badge_wrapper_classes`, `data_machine_events_badge_classes`, and `data_machine_events_more_info_button_classes` filters. +- `event-item.php`, `date-group.php`, `navigation.php`, `pagination.php`, `results-counter.php`, `no-events.php`, `filter-bar.php`, `time-gap-separator.php`, and `modal/taxonomy-filter.php` live under `inc/Blocks/Calendar/templates` and are orchestrated by `inc/Blocks/Calendar/Template_Loader.php`. +- `inc/Blocks/Calendar/Taxonomy_Helper.php` builds hierarchical term data and counts for each template, while `Taxonomy_Badges` renders badge markup that respects `data_machine_events_badge_wrapper_classes`, `data_machine_events_badge_classes`, and `data_machine_events_more_info_button_classes` filters. - The filter modal uses taxonomy helpers to surface dynamic dependencies, counts, and active state indicators before handing control to the filter modal module. ## REST API Support @@ -23,14 +23,16 @@ The Calendar block renders a Carousel List of events with progressive enhancemen ## JavaScript Modules -- `inc/Blocks/Calendar/src/frontend.js` bootstraps each `.data-machine-events-calendar`, wiring the following modules: - - `modules/api-client.js` handles REST requests and swaps fragments. - - `modules/carousel.js` detects overflow, updates dots, and powers chevrons (with click-and-hold support). - - `modules/date-picker.js` integrates Flatpickr for date range filters. - - `modules/filter-modal.js` keeps the taxonomy modal accessible and debounced when filters change. - - `modules/filter-state.js` centralizes filter state management across URL params, localStorage, and DOM with regex support for both indexed (`tax_filter[taxonomy][0]`) and non-indexed (`tax_filter[taxonomy][]`) array syntax. - - `modules/navigation.js` powers past/upcoming toggles, calendar navigation, and pagination link handling. - - `modules/state.js` serializes query parameters, manages history state, and debounces search input. +- `inc/Blocks/Calendar/src/frontend.ts` bootstraps each `.data-machine-events-calendar`, wiring the following modules: + - `modules/api-client.ts` handles REST requests and swaps fragments. + - `modules/carousel.ts` detects overflow, updates dots, and powers chevrons (with click-and-hold support). + - `modules/date-picker.ts` integrates Flatpickr for date range filters. + - `modules/day-loader.ts` loads events for a specific date, used by the carousel for on-demand day rendering. + - `modules/filter-modal.ts` keeps the taxonomy modal accessible and debounced when filters change. + - `modules/filter-state.ts` centralizes filter state management across URL params, localStorage, and DOM with regex support for both indexed (`tax_filter[taxonomy][0]`) and non-indexed (`tax_filter[taxonomy][]`) array syntax. + - `modules/geo-sync.ts` handles browser geolocation for nearest-event sorting and the blue dot indicator. + - `modules/lazy-render.ts` defers calendar rendering until the block scrolls into view. + - `modules/navigation.ts` powers past/upcoming toggles, calendar navigation, and pagination link handling. ## Filter Modal & Taxonomy Helpers diff --git a/docs/eventbrite-handler.md b/docs/eventbrite-handler.md index fe8feb4..f87f12d 100644 --- a/docs/eventbrite-handler.md +++ b/docs/eventbrite-handler.md @@ -1,105 +1,34 @@ -# Eventbrite Handler +# Eventbrite Handler (Deprecated) -Import events from public Eventbrite organizer pages via Schema.org JSON-LD extraction. +This handler has been consolidated into the Universal Web Scraper as the `EventbriteExtractor`. -## Overview +Previously the handler lived at `inc/Steps/EventImport/Handlers/Eventbrite/Eventbrite.php` with `EventbriteSettings`. That standalone handler and its settings were removed; existing flows should migrate to the scraper-based extractor by reconfiguring the fetch step to use the `UniversalWebScraper` handler, which auto-detects Eventbrite organizer and event pages. -The Eventbrite handler parses public Eventbrite organizer pages to extract events from embedded JSON-LD structured data. No API key or authentication is required - events are extracted directly from the public HTML page. +See `docs/universal-web-scraper-handler.md` for extraction behavior and `inc/Steps/EventImport/Handlers/WebScraper/Extractors/EventbriteExtractor.php` for the implementation. -## Features +## Migration -### JSON-LD Extraction -- **Schema.org Parsing**: Extracts Event schema from `