Documentation

How to weave.

Weaven is a view layer, not a storage locker.
Here is how to set up your studio and own your data.

Want to see an example? endvchaos.weaven.io

1. What is Weaven

Weaven is not a place where your writing lives. It is a view layer that reads content from your own Sanity project and presents it in a calm, minimal way.

You write in Sanity. Weaven simply displays your writing. Think of Weaven as:

  • A stage, not a container
  • A lens, not a vault
  • One way your writing can be seen

Your content can outlive Weaven. That is intentional.

2. Data Ownership

Your writing belongs to you. Your Sanity project is created under your own account, your dataset belongs to you, and billing is handled directly by you.

Weaven does not:

× Store your content
× Duplicate your data
× Restrict exports
× Prevent you from leaving

If Weaven disappears, your Sanity project and data remain untouched. This is not a feature. It is a design decision.

3. How Weaven Works

Weaven connects three things:

  1. Your blog username (subdomain)
  2. Your Sanity project and dataset
  3. A predefined view and rhythm

The Flow

You create a Project in Sanity → You connect it to Weaven → Weaven loads a default schema → You write → Weaven reads via API.

Weaven never modifies your data. It only reads from Sanity using queries.

4. Setup your Blog

1Sign in with Google

Go to weaven.io and sign in with your Google account.

2Choose your blog username

Your blog username becomes your subdomain.

username.weaven.io

Important

You must click the "Check Availability" button to verify your username is available before proceeding.

3Create a Sanity project

Sign in at sanity.io and create a new project.

By default, Sanity creates a dataset named production. You don't need to create one manually unless you want a custom setup.

You will need:

  • Project ID (e.g., abc12345)
  • Dataset name (usually 'production')

4Verify Sanity credentials

Enter your Project ID and Dataset name in the admin form, then click the "Verify Sanity" button.

Weaven will attempt to connect to your Sanity project and confirm that:

  • The Project ID exists and is accessible
  • The Dataset name is correct
  • Weaven can successfully read from your project

If verification succeeds, you'll see a green checkmark (✓). If it fails, check that your credentials are correct and that your Sanity project allows public read access.

Important

Verification is mandatory. The "Create Blog" button will remain disabled until both username check and Sanity verification are complete.

If you change your Project ID or Dataset later, you must verify again before saving.

5Configure CORS in Sanity

To allow Weaven to read your content and enable live preview, you must add your blog's domain to Sanity's CORS allowed origins.

Add CORS Origin

  1. Go to sanity.io/manage
  2. Select your project → API → CORS Origins
  3. Click "Add CORS origin"
  4. Add your blog domain:
    https://YOUR_USERNAME.weaven.io
  5. Make sure "Allow credentials" is checked

This only allows Weaven to read your content. It does not give Weaven ownership or write access to your data.

Without CORS configuration, you'll see an error when trying to access your blog or Sanity Studio.

6Enable Comments (Optional)

To enable the comment feature on your blog posts, you need to create a Sanity API token with Editor permissions.

Create Editor Token

  1. Go to sanity.io/manage
  2. Select your project → API → Tokens
  3. Click "Add API token"
  4. Give it a name (e.g., "Weaven Comments")
  5. Set permissions to Editor
  6. Click "Save" and copy the token
  7. Paste the token in the "Sanity Comment Token" field in your Weaven admin settings

Without this token, visitors can read your posts but cannot leave comments. The token allows Weaven to write comment data to your Sanity dataset on behalf of your readers.

7Create your blog

Once username is checked and Sanity is verified, click "Create Blog" to complete the setup.

Optional: Add blog metadata like blog name, description, favicon, and share image for better SEO.

5. Writing in Studio

When you open Studio through Weaven, a default schema is loaded and your dataset becomes editable immediately.

Important: CORS Configuration

To allow Weaven to read and preview your content, you must explicitly allow Weaven's domain in your Sanity project settings.

  1. Go to sanity.io → Your Project → API → CORS Origins
  2. Add the following origin:
https://YOUR_SUBDOMAIN.weaven.io

This setup does not give Weaven ownership of your data. It only allows read access for rendering your site.

Writing Flow

Go to your-blog.weaven.io/studio → Create post → Publish.

1How to Write a Post

  1. Open your Studio at your-blog.weaven.io/studio
  2. Click Post in the left sidebar
  3. Click the + Create button (or pencil icon)
  4. Fill in the required fields:
    • Title — Your post title
    • Slug — URL path for your post (e.g., "my-first-post")
    • Content — Your post body
  5. Click Publish in the bottom right

Common Mistake: Missing Slug

The Slug field is required. Without it, your post URL won't work and the post won't appear on your blog.

Click the "Generate" button next to the Slug field to auto-generate from your title, or type a custom slug using lowercase letters, numbers, and hyphens only.

Enabling Comments on a Post

To enable comments on a specific post, you need to add Emojis to that post. These emojis will appear as reaction options for readers.

Scroll down to the Emojis field and add the reactions you want (e.g., ❤️ 👍 😊 🔥). Posts without emojis will not show the comment section.

Note: Make sure you've completed Step 6 "Enable Comments (Optional)" with your Sanity Editor Token for comments to work properly.

2Setting Up Your About Page

Want to introduce yourself to readers? Fill in your author profile to create a personal About page.
See an example →

  1. In Studio, click Author in the left sidebar
  2. Select your author profile (or create one)
  3. Fill in the fields:
    • Name — Your display name
    • Bio — A short introduction about yourself
    • Image — Your profile photo (shown on each blog post)

Show Your Interests with Group Images

Add a collection of images to showcase what you're into lately — books you're reading, places you've been, things that inspire you.

  1. Scroll down to Group Image section
  2. Click Add item to add images
  3. For each image, fill in:
    • Title — What it is (e.g., "Currently Reading")
    • Description — A short note about it

This adds a personal touch and helps readers connect with you beyond your writing.

3Create Author

The Author document is required to display your name and profile on blog posts. Each post can be linked to an author.

  1. In Studio, click Author in the left sidebar
  2. Click the + Create button
  3. Fill in the required fields:
    • Name — Your display name
    • Slug — URL path for your author page
    • Image — Your profile photo
    • Bio — A short introduction (optional)
  4. Click Publish to save

Link Author to Posts

When creating or editing a post, select your author from the Author dropdown field. This displays your name and profile image on the post page.

6. Inviting Collaborators

If you want to allow other people to log in to Sanity Studio with their own account, you need to add them as members in your Sanity project.

How to Add Members

  1. Go to sanity.io/manage
  2. Select your project → Members
  3. Click "Add members" and enter the email address you want to invite
  4. Choose the appropriate role (Administrator)

Once added, collaborators can log in to your Studio at your-blog.weaven.io/studio using their own Sanity account.