Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 6 additions & 0 deletions skills/maizzle/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,12 @@ export default defineConfig({

Both skip absolute URLs, data URIs, protocol-relative, and fragments. UTM/query params: `url.query` globally or `<WithUrl parameters="utm_source=...">` scoped.

Values starting with a template tag (`{{`, `{%`, `<%`, e.g. Twig/Liquid/Blade/ERB) are never prefixed. To keep a specific element's URLs as authored, add `no-base-url` to it (HTML tag or component). It applies to that element only, not its children, and is removed from the output:

```vue
<Img src="/logo.png" alt="Logo" width="120" no-base-url />
```

## Styling overview
Maizzle uses Tailwind CSS 4 via `@maizzle/tailwindcss` — email-safe resets, MSO utilities, client variants. `<Layout>` already imports it. For manual control:

Expand Down
2 changes: 2 additions & 0 deletions skills/maizzle/references/COMPONENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -349,6 +349,8 @@ Affected attrs: `href`/`src`/`srcset`/`poster`/`data` on `a`/`img`/`video`/`sour

Props: `base` (prepended to relative paths; slashes normalized), `parameters` (query string appended, e.g. `"utm_source=foo&bar=baz"`).

`base` skips values starting with `{{`, `{%` or `<%`, and any descendant element or component with a `no-base-url` attribute. `parameters` still apply to those.

```vue
<WithUrl base="https://cdn.example.com/emails/">
<Img src="/logo.png" alt="Logo" width="70" />
Expand Down
2 changes: 1 addition & 1 deletion skills/maizzle/references/TRANSFORMERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ The DOM is parsed once, walked by all DOM-based transformers, then serialized; s

**Filters** — bottom-up walk; multiple filters on one element run in attribute order. 31 built-ins across string, math, text, and URL categories (see `CONFIGURATION.md` for the full list). Pass `false` to disable all; user filters merge on top.

**Base URL** — string form rewrites `a[href]`, `img[src,srcset]`, `video[src,poster]`, `source[src,srcset]`, `track[src]`, plus VML `v:image`/`v:fill` and URLs inside MSO conditional comments. Object form takes `url`, `tags`, `attributes`, `styleTag` (default `true`), `inlineCss` (default `true`).
**Base URL** — string form rewrites `a[href]`, `img[src,srcset]`, `video[src,poster]`, `source[src,srcset]`, `track[src]`, plus VML `v:image`/`v:fill` and URLs inside MSO conditional comments. Object form takes `url`, `tags`, `attributes`, `styleTag` (default `true`), `inlineCss` (default `true`). Values starting with `{{`, `{%` or `<%` are never prefixed. A `no-base-url` attribute skips that element only (all its URL attrs, `srcset`, custom `attributes`, `url()` in its inline `style`; on `<style>` the whole block), including VML and tags inside MSO comments. The attribute is always removed from the output; it's typed for IDEs in `.maizzle/attributes.d.ts`.

**URL query** — non-`_options` keys are appended as query params. `_options.tags` (default `['a']`), `_options.attributes` (default `['src','href','poster','srcset','background']`), `_options.strict` (default `true` — absolute URLs only), `_options.qs` (default `{ encode: false }`).

Expand Down
Loading