This is a paragraph! Here's how you make a link: Neocities.
Here's how you can make bold and italic text.
Here's how you can add an image:
# Task: integrate RightClickLogo into this site
You already have the site source open. Find the real primary logo in the codebase and integrate RightClickLogo with the smallest safe change.
This prompt is written for any coding agent. Follow the repo's existing patterns, keep the diff minimal, and do not improvise beyond the rules below.
## Goal
Attach a RightClickLogo menu to the site's primary logo only.
The integration must be:
- Lightweight
- Performant
- Zero-dependency
- Easy to remove
- Visually invisible until used
- Respectful of the site's existing design and behavior
## Non-negotiables
- Do not redesign, restyle, resize, reposition, or wrap the logo.
- Do not attach the menu globally or to broad selectors like `document`, `body`, `header`, or `nav`.
- Do not add packages, plugins, helper abstractions, wrapper components, or build tooling for this.
- Do not bundle or import the script through the app build. Load it as a plain async external script - the framework's own script tag/primitive (e.g. a Next.js `
```
The menu items, in order:
- **Copy mark (SVG)** - copies its inline SVG to the clipboard
- **Copy logo (SVG)** - fetches `/assets/rcl-logo.svg` and copies the SVG
- **Download mark (SVG)** - downloads `/assets/rcl-mark.svg`
- **Download logo (SVG)** - downloads `/assets/rcl-logo.svg`
- **Download all (.zip)** - downloads `/assets/presskit.zip`
- (separator)
- **Brand palette** - color swatches (each copies its hex) plus "Copy palette (CSS)": Ink #0C0C0D, Olive Dark #4D4830, Olive #625C3B, Cream #F8F3EB
## Replace the placeholder brand content
Everything brand-specific in the config above is RightClickLogo PLACEHOLDER content (it currently shows RightClickLogo's own brand). Replace each with the target site's real brand before finishing:
- The inline SVG inside any "Copy ... (SVG)" item - swap in the site's own logo/mark SVG markup.
- Every `/assets/*` path - point each at the site's real asset URL.
- The `palette` colors - replace with the site's real brand colors (pull them from the site's CSS custom properties / theme, or ask the owner).
Pull these from the site itself (its CSS variables, its logo file) where you can; otherwise ask the owner. Never fabricate an SVG, asset, or color to fill a slot.
Keep the STRUCTURE exactly as given: item types, labels, order, theme, triggers, scope, and the script URL. Change brand CONTENT, never structure.
## Menu item schema (all types)
The config above may use only some of these. The complete set of item types, for when you need to adjust or add an item the owner explicitly asked for:
Clipboard copy is for SVG markup and text only. To let visitors grab a raster image (JPG/PNG), use a `download` item - there is no image-to-clipboard action.
- **`copy-svg`** - Copies SVG markup to the clipboard. (no required fields; optional: label, svg, src)
- Example: `{ "type": "copy-svg", "label": "Copy logo (SVG)", "svg": "" }`
- Provide an inline `svg` string (preferred, no fetch) OR a same-origin `src` URL to fetch.
- Copies SVG markup only. For a raster image (JPG/PNG), use a `download` item instead - the clipboard cannot hold a binary image.
- **`download`** - Downloads an asset file. (required: src; optional: label, filename, format)
- Example: `{ "type": "download", "label": "Download PNG", "src": "/logo@2x.png", "filename": "logo.png" }`
- Use for any file: PNG, JPG, PDF, zip. This is how visitors grab a raster image.
- **`copy-text`** - Copies an arbitrary string to the clipboard. (required: value; optional: label)
- Example: `{ "type": "copy-text", "label": "Copy brand name", "value": "Acme Inc." }`
- **`link`** - Opens a URL. (required: href; optional: label, external)
- Example: `{ "type": "link", "label": "Brand guidelines", "href": "https://acme.com/brand", "external": true }`
- The URL field is `href`, NOT `url`. (`url` is the top-level `brand` field, a different thing.) `url` is accepted as an alias on link items, but `href` is canonical.
- `external: true` opens a new tab (noopener, noreferrer). Omit it to navigate in place. There is no `target` / `newTab` field.
- **`label`** - A static, non-clickable section heading. (required: label)
- Example: `{ "type": "label", "label": "Brand" }`
- **`separator`** - A visual divider line. (no required fields)
- Example: `{ "type": "separator" }`
- **`palette`** - A row of color swatches (each copies its hex) plus a "Copy palette (CSS)" action. (required: colors; optional: label)
- Example: `{ "type": "palette", "label": "Brand palette", "colors": [{ "label": "Ink", "value": "#0C0C0D" }] }`
- Each color is `{ "label": "Name", "value": "#hex" }`. `value` is required per color.
## Allowed adjustments
The default instruction is: install the config exactly as given.
Only these adjustments are allowed if genuinely needed:
1. Add `data-rcl-logo` to the real primary logo element or its `` wrapper.
2. If the site already has a stable, unique, clearly better logo selector, you may use that instead and update `logo.selector`.
3. If the site has a strict CSP that blocks inline config, switch to the JSON config form and make the smallest necessary CSP change.
4. Replace the placeholder brand content (logo SVG, `/assets/*` paths, palette colors) with the site's real brand, as described in "Replace the placeholder brand content". Never fabricate an SVG, asset, or color to fill a slot.
5. If the site owner has already specified extra menu items that are clearly brand-appropriate, those may be included - but only if explicitly requested or already defined in the project. Do not invent extra items yourself.
## Not allowed to change
These are STRUCTURE, not brand content. Unless explicitly requested by the site owner, do not change:
- Item labels
- Item order
- Theme
- Triggers
- Script URL
- Scope
Brand CONTENT is the opposite: the logo SVG, `/assets/*` paths, and palette colors are placeholders and MUST be replaced. See "Replace the placeholder brand content".
## Logo targeting rules
Target the site's primary logo only.
Preferred approach:
- Add `data-rcl-logo` to the existing logo element or its existing link wrapper.
Acceptable targets:
- Header logo `