<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Gardn</title>
  <link>https://gardn.crowdersoup.com/</link>
  <description>Cozy cyberpunk publishing for your IndieWeb garden.</description>
  <lastBuildDate>Tue, 17 Mar 2026 01:49:57 +0000</lastBuildDate>
  <atom:link href="https://gardn.crowdersoup.com/feed.xml" rel="self" type="application/rss+xml"/>
  <item>
    <title>Gardn for the handmade web</title>
    <link>https://gardn.crowdersoup.com#home</link>
    <guid isPermaLink="true">https://gardn.crowdersoup.com#home</guid>
    <description>What Gardn is and why people use it.</description>
    <content:encoded><![CDATA[Gardn is a tending layer for people who want a living site, not a feed prison. It gives your personal website a planted timeline: plants, harvests, and blog-roll moments that stay yours.

## Why people pick Gardn

- **IndieWeb-first:** your domain, your files, your style.
- **Embeddable by design:** drop in Gardn blocks and keep your existing layout.
- **Human tempo:** cultivate updates over time instead of chasing algorithm spikes.
- **Actually cozy:** minimal setup, no heavy framework lock-in.

## What you are seeing on this page

Below the article area you have live Gardn embeds for:

- My Plant
- Blog Roll
- Harvest List

This page is both a demo and a blueprint for your own cyberpunk-cottage corner of the web.]]></content:encoded>
  </item>
  <item>
    <title>How Gardn works</title>
    <link>https://gardn.crowdersoup.com#how-it-works</link>
    <guid isPermaLink="true">https://gardn.crowdersoup.com#how-it-works</guid>
    <description>The Gardn publishing flow in plain language.</description>
    <content:encoded><![CDATA[Gardn keeps the workflow simple:

1. Log in at gardn.website with your own website URL.
2. Pick your first plant and harvest some URLs.
3. Grab the embed snippets from your dashboard.
4. Place those embeds into your own website.
5. Keep your design, navigation, and voice fully custom.

## The model

Gardn handles the stream logic and presentation. Your site handles branding, context, and long-form pages. You get the best of both worlds: a tended garden plus total aesthetic control.

## Two ways to embed

**Iframe embeds** drop a sandboxed block into your page. Each iframe renders the full Gardn widget, isolated from your surrounding styles. Requires `frame-src https://gardn.website` in your CSP.

**JavaScript embeds** use the `gardn.js` loader and HTML data attributes. The script fetches from Gardn's JSON API and injects styled cards directly into your DOM, so you can target them with your own CSS. Requires `connect-src https://gardn.website` in your CSP instead of `frame-src`.

## Built for IndieWeb patterns

- Works well beside Webmentions, rel="me", and hand-authored pages.
- Fits static sites and flat-file projects.
- No rewrite required if your site already exists.]]></content:encoded>
  </item>
  <item>
    <title>Get started in minutes</title>
    <link>https://gardn.crowdersoup.com#get-started</link>
    <guid isPermaLink="true">https://gardn.crowdersoup.com#get-started</guid>
    <description>How to embed Gardn on your site in a few steps.</description>
    <content:encoded><![CDATA[# Get started in minutes

You can treat Gardn as progressive enhancement for your existing site.

## Quick setup

1. Log in at gardn.website using your own website URL.
2. Pick your first plant and harvest some URLs.
3. Copy the embed snippets from your dashboard.
4. Add them where you want in your layout.
5. Update your CSP: use `frame-src https://gardn.website` for iframe embeds, or `connect-src https://gardn.website` for the JavaScript loader.

## Using the JavaScript loader

Instead of iframes, you can load `gardn.js` and use data attributes to embed widgets inline:

```html
<script src="https://gardn.website/gardn.js"></script>

<!-- Single plant -->
<div data-gardn="your-username"></div>

<!-- Blog roll -->
<div data-gardn-roll="your-username"></div>

<!-- Harvests -->
<div data-gardn-harvests="your-username"></div>
```

The loader fetches from the JSON API and injects styled cards into your page. No iframe required, and no `frame-src` CSP directive needed.

## Design direction

Gardn looks best when the surrounding site has personality. Lean into handcrafted type, tactile color, and visible structure. That is the whole point: your garden should feel like *your* garden.]]></content:encoded>
  </item>
  <item>
    <title>Limitations and hosting compatibility</title>
    <link>https://gardn.crowdersoup.com#limitations</link>
    <guid isPermaLink="true">https://gardn.crowdersoup.com#limitations</guid>
    <description>CSP requirements and which hosts work with Gardn embeds.</description>
    <content:encoded><![CDATA[# Limitations and hosting compatibility

Gardn supports two embed methods with different CSP requirements. Iframe embeds need `frame-src https://gardn.website`. The JavaScript loader needs `connect-src https://gardn.website`.

## NeoCities

NeoCities does not expose HTTP response headers, so you cannot set CSP that way. You have two options: add a `<meta http-equiv="Content-Security-Policy">` tag in your HTML to allow iframe embeds, or use the JavaScript loader which only needs `connect-src`. This site runs on NeoCities using the meta CSP approach.

## Where Gardn works

- Static hosting where you control CSP headers or can add a meta CSP tag (Netlify, Vercel, Cloudflare Pages, GitHub Pages, NeoCities, self-hosted static).
- Custom domains where `frame-src https://gardn.website` or `connect-src https://gardn.website` is permitted.
- Personal sites that can edit HTML directly.

## What this means

If you can control security policy for your pages, either as a header or a meta tag, Gardn should slot in cleanly. If your host enforces a strict immutable CSP you cannot modify, embeds may fail.]]></content:encoded>
  </item>
  <item>
    <title>Now</title>
    <link>https://gardn.crowdersoup.com#now</link>
    <guid isPermaLink="true">https://gardn.crowdersoup.com#now</guid>
    <description>What Gardn is focused on right now.</description>
    <content:encoded><![CDATA[# Now

Current Gardn direction:

- Make embeds easier to theme without losing portability.
- Improve onboarding for first-time IndieWeb gardeners.
- Keep performance light for old hardware and simple hosts.
- Grow more examples of distinct visual styles.]]></content:encoded>
  </item>
  <item>
    <title>Links</title>
    <link>https://gardn.crowdersoup.com#links</link>
    <guid isPermaLink="true">https://gardn.crowdersoup.com#links</guid>
    <description>Useful links related to Gardn and the IndieWeb.</description>
    <content:encoded><![CDATA[# Links

- [Try Gardn](https://gardn.website)
- [Gardn source code](https://github.com/crowdersoup/gardn.website)
- [Gardn on Mastodon](https://mastodon.social/@Gardn)
- [IndieWeb wiki](https://indieweb.org)
- [Webmention.io](https://webmention.io)]]></content:encoded>
  </item>
</channel>
</rss>
