← Back to Documentation

Forms & Buttons

Two Roe-anji blocks add interactive elements to your content: form (membership, payment, and newsletter flows) and button (store “add-to-cart” buttons, plus share and subscribe actions).

The for: selector

This determines what the form or button is for…

for: value What it renders
(omitted) / product Store purchase button (the default)
share Share button (native share sheet / copy + email menu)
subscribe “Subscribe” button linking to the member sign-up page

Buttons

Product buttons (default)

Add a product purchase button. On a product page the SKU is auto-detected; elsewhere, name it.

```button
sku: PRODUCT-SKU-GOES-HERE
text: Add to Cart
style: primary
quantity: 1
```
Option Required Description
sku No Product SKU — auto-detects on product pages if omitted
text No Button text — default “Add to Cart”
style No primary (default), secondary, or outline
quantity No Default quantity — default 1

For more information about product buttons and how they work, see Store for the full picture.

Share button

A share button for the current page. On touch devices it opens the native OS share sheet; on desktop it reveals a small Copy link + Email menu.

```button
for: share
```

By default it shares the page’s canonical URL and its og:title, so links shared on social media have the right link/title. Override any of that:

Option Required Description
for Yes share
label No Button text — default “Share”
url No URL to share — default: the page’s full URL
title No Title to share — default: the page’s og:title
text No Extra text passed to the native share sheet
style No Descriptive word/s that add CSS classes to button (e.g. style: small-centershare-small-center)

Styling: the wrapper always carries a stable .share class (plus a share-<token> for each style: word), so a theme can align or restyle every share button at once. It’s inline-flex by default, so to center them all: .share { display: flex; justify-content: center }.

Subscribe button

A “Subscribe” button that links to the member sign-up page. On a Roe site, subscribing means becoming a member (this includes newsletters). This button links to your member sign-up page.

```button
for: subscribe
```

The subscribe button only works if Members is enabled for your site. With members turned off there’s no sign-up page to link to, so nothing renders (you’ll see a local-only warning).

Option Required Description
for Yes subscribe
label No Button text — default “Subscribe”
url No Link target — default /sign-up
style No Descriptive word/s that add CSS classes to button (e.g. style: large-subscribemembers-large-subscribe)

Forms

Forms provide interactive elements for memberships, payments, and the newsletter. Each is selected with for:.

Signup

```form
for: signup
button-text: Sign Up
upgrade-button-text: Upgrade now
```
Option Required Description
for Yes signup
button-text No default “Sign Up”
upgrade-button-text No Optional second button for immediate upgrade

Signin

```form
for: signin
button-text: Send Magic Link
```
Option Required Description
for Yes signin
button-text No Button text — default “Send Magic Link”

Checkout

```form
for: checkout
member-button-text: Upgrade
non-member-button-text: Sign up to upgrade
```
Option Required Description
for Yes checkout
member-button-text No For logged-in members
non-member-button-text No For non-members (shows sign-up link)

```form
for: donate
button-text: Donate
```
Option Required Description
for Yes donate
button-text No Button text — default “Donate”

Uses the donation amounts from your members.yml config.

Unsubscribe

```form
for: unsubscribe
button-text: Unsubscribe
```
Option Required Description
for Yes unsubscribe
button-text No Button text — default “Unsubscribe”

```form
for: paid_content
text: This is premium content. Upgrade to continue reading.
button-text: Become a paid member
```
Option Required Description
for Yes paid_content
text No Message shown above the upgrade button
button-text No CTA text — default “Become a paid member”