# Ditch events — Sites is the source of truth

Manage events at https://ditch-events-paper.ditch-1312.chatgpt.site/manage.
The branded editor address is **https://events.eatatditch.com/manage**. Both addresses use the same saved events.
The public calendar is https://ditch-events-paper.ditch-1312.chatgpt.site/.

## Install the connected calendar once

1. In Squarespace, add a blank section to the events page and keep your chosen section background.
2. Add a Code Block, set it to **HTML**, and turn **Display Source off**.
3. Replace the previous Ditch calendar embed with the complete contents of `ditch-events-embed.txt`:

```html
<!-- Ditch events: install once. Edit events in Sites. -->
<div data-ditch-events-mount></div>
<script src="https://ditch-events-paper.ditch-1312.chatgpt.site/ditch-widget.js" defer></script>
```

4. Stretch the block across all **24 Fluid Engine columns**. In the mobile editor, use the available width. Give the block and section enough height for the calendar and upcoming cards; check a busy, six-week month. Remove any old copy of the Ditch calendar script from Footer Code Injection.
5. Save and test the page outside the Squarespace editor, including on your phone. Scripts may be disabled inside the editor.

This connected embed loads its complete scoped HTML, CSS, and JavaScript from Sites. Its background is transparent, so your Squarespace section shows through. The navy background belongs only to the separate Sites preview. Existing menu and inquiry-form styles are untouched. No visitor login is needed to view published events.

### If your configuration needs Footer Code Injection

Leave only this in the HTML Code Block:

```html
<div data-ditch-events-mount></div>
```

Append this complete script to **Code Injection → Footer**, below your existing unrelated scripts:

```html
<script src="https://ditch-events-paper.ditch-1312.chatgpt.site/ditch-widget.js" defer></script>
```

Keep the script in one place, either the block or Footer. The loader handles Squarespace page navigation and duplicate initialization. Do not delete unrelated menu or form scripts.

JavaScript Code Blocks and Code Injection require an eligible Squarespace plan, such as Core, Plus, Advanced, or a supported legacy Business/Commerce plan. Moving the script does not unlock JavaScript on an unsupported plan. Check your account’s current plan if the feature is unavailable.

## Add or update events

1. Open **Manage events** and sign in with the ChatGPT account that owns this Site.
2. Select **New event**, or select an existing event from the list.
3. Add the title, category, **location**, start date/time, end date/time, and description. Add a performer or host, image, cover charge, age restriction, reservation details, or ticket link when relevant. Blank optional fields are hidden on the public calendar.
4. Choose **Save draft** to keep working privately. A draft can start with just a title. If you edit an already published event and save a draft, its existing published version stays live.
5. Choose **Publish event** or **Publish changes** when ready. The public calendar and Squarespace embed load the new schedule on reload, on return to the tab, or within about one minute while the page is open. No code update, upload, or site rebuild is needed.

The calendar, mobile agenda, category filters, upcoming cards, and details all read the same published records. Sites stores events and images centrally; they are not tied to one browser. Multiple events on the same day are supported. Add each event once.

**Demo content:** Until the first event is published, the calendar shows clearly labeled sample events. The first publication turns demos off permanently. Saving a draft leaves the demos visible. Deleting or unpublishing every real event then shows a friendly empty calendar; demos do not return. The sample times, hosts, prices, and policies are not actual Ditch announcements.

**Remove from public view:** Select the event and choose **Unpublish** to retain it as a draft, or **Delete event** to remove it after confirmation.

**Images:** Upload JPG, PNG, GIF, or WebP images, up to 8 MB, and add a short accessible image description. Draft images require owner access. An image becomes publicly viewable only while attached to a published event. Uploading an image alone does not publish the event. Removing an image from an event detaches it; retained upload storage is not a trash/recovery interface.

**Overnight events:** For an event starting October 3 at 9 PM and ending at 1 AM, enter October 3 as the start date, 9 PM as the start time, October 4 as the end date, and 1 AM as the end time. Use the actual next date even at month/year boundaries. The event appears on its start date and the details show its ending date.

All times use **America/New_York**, regardless of the visitor’s timezone. On the fall clock-change night, expand “During the fall clock change?” and select First or Second for a repeated time. Nonexistent spring-forward times are rejected. Repeated events are generated from the repeat schedule you choose.

**Editing in two tabs:** If an event changed elsewhere, the editor refuses to overwrite it. Copy any unsaved text you need, use Reload saved list, and select the event again to get the latest version.

## Today’s banner and repeating events

The paper to the right of “What’s on” shows **Today at Ditch**: every event starting today in New York, plus overnight events from a previous day while they are still happening. Titles open the same event details. It updates automatically after midnight, shows a friendly message on empty days, and stays on today when a visitor browses other months or categories.

In the event manager, use **Repeats** below the start/end times:

- Does not repeat
- Daily
- Weekly
- Every 2 weeks
- Monthly
- Quarterly (every 3 months)
- Yearly

The start date is the **earliest date** for the series. The start/end dates and times establish its hours and number of overnight days. Later appearances keep that same New York timing. **Last repeat date** is optional and inclusive: an occurrence may start on that date. Leave it blank to continue indefinitely. The calendar generates dates as visitors browse, rather than requiring you to duplicate entries.

Monthly, quarterly, and yearly repeats keep the original day of the month. If a month is shorter, they use its last day, then return to the original day when possible. For example, monthly January 31 repeats on February 28 and March 31. Yearly February 29 repeats on February 28 in non-leap years. A repeat with a start or end time in the nonexistent spring-forward hour is skipped; other repeats retain their normal wall times.

**Edits, publishing, unpublishing, and deletion apply to the entire series.** Individual-occurrence exceptions are not part of this editor. To end a series, set its last repeat date and publish. To make a different schedule after that, add a new repeating event starting on the new date.

### Choose multiple weekdays

For **Weekly** or **Every 2 weeks**, use the **Repeat on** buttons to select any combination of weekdays. Examples of scheduling patterns (not announced Ditch events): choose Friday and Saturday for a DJ series, or Sunday, Monday, Thursday, and Saturday for a football series. Each selection creates a separate calendar appearance from the same saved event.

The first appearance falls on a selected day **on or after** the start date. The last repeat date remains inclusive. For Every 2 weeks, selected days fall in alternating Sunday–Saturday weeks, beginning with the week containing the start date. Weekly events created before this feature keep their original weekday until you change it.

All chosen days use the same hours, description, image, and location. If Friday and Saturday need different hours, create two series. Selecting a weekday means the event **starts** that day; an overnight ending carries into the next day automatically.

### Assign and filter locations

Choose **Bay Shore**, **Port Jefferson**, **Kings Park**, or **All locations** in the editor. A published event must have a location selection. All locations means that one event applies at every listed venue; you do not need separate copies.

The public **Location** selector sits inside the “What’s on” paper. It filters the month, mobile agenda, Today at Ditch, and Up next together. An all-location event appears under every venue filter. Event buttons and detail panels show the event’s location.

Existing events without a saved location stay visible in the All locations view and say “Location not listed.” They are not assigned to a venue automatically. Open each existing event, choose its location, and publish when ready. New drafts may leave the location blank while you work.

## What stays private

The public calendar and published event images are anonymous read-only views. The event manager, draft list, private image previews, and all write actions require the Site owner’s signed-in identity. Public visitors cannot create or edit events. No password or editing key is placed in the embed.

## Design and checks

The calendar retains Ditch’s Blood Orange, Pastyle, and Article Round fonts, supplied cream paper texture, deckled edges, and the inset Close control. The calendar grid stays straight; small rotations belong to the surrounding papers. The custom green paper has not been substituted with an overlay.

The connected version was checked in local Chromium with desktop, 390px, and 320px layouts, plus integration tests for draft saving/reloading, publishing, upload privacy, unauthorized access, concurrent edits, empty schedules, long titles, overnight timing, and live updates. Prior component checks cover multiple events on one day, filters, keyboard focus trapping, Escape, focus return, and duplicate scripts. No live Squarespace page was modified. Check the final block height and page background after installation. Safari/Firefox and a full screen-reader audit are not included.

## Squarespace references

- https://support.squarespace.com/hc/en-us/articles/206543167-Code-blocks
- https://support.squarespace.com/hc/en-us/articles/205815908-Customize-parts-of-your-site-with-code-injection
- https://support.squarespace.com/hc/en-us/articles/115015517328-Premium-features
